17. marts 2004 - 22:04Der er
86 kommentarer og 3 løsninger
Problemer med højde på <td>
Jeg har en tabel:
bredde = 1px højde = (skal være) 100%
Denne tabel indeholder 3 rækker, hvoraf den øverste og den nederste skal have en given størrelse, f.eks. 30px. Højden på den midterste række skal variere, afhængig af hvor meget tekst, der bliver fyldt i cellerne til højre og venstre for tabellen. Den skal med andre ord være en "deler" mellem de to celler.
Men jeg har problemer med at få den til at virke, den bliver til en ikke særlig høj streg, på øjemål vil jeg skyde den til at være 10-15 pixels høj. Problemerne opstår, når W3C's standard skal følges:
Der vil jeg ikke give dig ret. Det er ikke kode, men en indikering af en standard udviklet mellem W3C og Microsoft, så den kode, man laver kan ses i flest mulige browsere. Skal vi sætte tingene på spidsen, så er det junk IKKE at bruge den :o)
thedeathart >> det er faktisk lige det modsatte ... du *skal* have den linie med ... det er *ikke* junk kode. Uden denne linie, så ved ikke browseren hvad indholdet på siden skal fortolkes som.
Hvis du *følger* standarden, så forundrer det mig at "<style> fungere bedre uden w3c standard". Tror ikke det har noget med uheldighed at gøre ...
anyway ... det er jo ikke dette spørgsmålet egentlig går på ...
steen_hansen >> problemet er jo sådan set at du ikke "gør det ordentlig". du sætter : height: 100%; width: 1px; overflow: hidden; ... en mærkelig kombination når du ønsker at have noget indhold i din div.
kan du ikke smide et eksempel ved brug af tables .. .jeg ser ikke helt sammenhængen mellem det du skriver i ord og den kode du har postet. et "godt gammeldags table eksempel" vil måske klargøre lidt :-]
sjov nok, begynte ALLE mine stylesheets at virke..både i IE og Ophra, at virke det jeg fjernede W3C standarten...
før var det kune nogle der virkede.. men sammen kode..
og denne der validering... --->
I was not able to extract a character encoding labeling from any of the valid sources for such information. Without encoding information it is impossible to validate the document. The sources I tried are:
The HTTP Content-Type field. The XML Declaration. The HTML "META" element. And I even tried to autodetect it using the algorithm defined in Appendix F of the XML 1.0 Recommendation.
Since none of these sources yielded any usable information, I will not be able to validate this document. Sorry. Please make sure you specify the character encoding in use.
Hvis ikke din kodning er i orden, og ikke overholder W3C's standarder, vil de netop virke, hvis du fjerne DOCTYPE. Kunsten er at få det til at overholde W3C's standarder, ikke at IKKE overholde den.
Jeg rodede med en Coolmenu fra dhtmlcentral.com, og den overholdt ikke standarden, medmindre jeg fjernede linket. Ellers skulle jeg lave en halvdårlig løsning med at putte linkene i celler, og det var alt andet end optimalt.
thedeathart >> ved at fjerne denne linie, så "fjerner du ikke w3c standarden" ... du fjerner blot beskrivelse af dit dokument og hvordan browseren skal fortolke det.
og med tanke på valideringen ... din side kan ikke valideres på grund af at validatoren ikke kan finde ud af hvilken dokumenttype siden indeholder = din side er ikke valid = din side er "junk" (for at bruge dine egne ord). længere er den ikke. hvis din side vises i opera og Netscape når du fjerner din doctype ... så vil jeg foreslå at du vurderer din kode en gang mere inden du begynder at give dig i kast med at kritisere noget som browsere implementeres op mod
thedeathart >> Hvorfor dog denne ubændige trang til at belære andre om CSS og HTML? Der _må_ da være ét eller andet i livet, du ved noget om. Hvorfor så ikke gøre dig klog på det - og så lade folk, der har lært at skrive første linie i et HTML-dokument korrekt om at lære andre CSS/HTML.
Her på sitet kommer rigtig mange begyndere (der er du ikke alene) og når de læser dit påståelige vrøvl, tror nogle af dem med garanti, du ved en lille smule om, hvad du taler om og begynder derfor at lave de samme fatale fejl. Det er helt fint, du ikke ved ret meget om CSS/HTML, men så lad dog for pokker være med at udtale dig så skråsikkert .... og forvrøvlet!
I det første eksempel fortæller jeg ikke browseren hvilken HTML-version, der er skrevet i. Det betyder visningen er helt op til vindretningen - og naboens papegøjes humør. Siden vises forkert i IE6.
I det andet eksempel inkluderer jeg en DTD, men har udeladt URL'en, hvorfor IE6 går i quirksmode og tilsidesætter CSS-standarden. Siden vises forkert i IE6 - på samme måde, som IE altid har (fejl)fortolket CSS.
I det sidste eksempel vises box'en korrekt med border'en liggende _udenom_ feltet på de 200x200 pixels - fuldstændig som W3C-rekommendationen for CSS foreskriver det skal ske.
Den virkede ikke, jamiros. Desuden er det rigtigt hvad knudgert siger.
olebole, my man! :o) Du har ikke nogle spændende bud? Og tak, fordi du satte et par ting på plads. Det er rigtigt, man kunne foranlediges til at tro, at thedeathart har ret, hvis man kommer ind på siden og ikke ved bedre :o)
thedeathart, det er fint, at du giver dit besyv med, men hav styr på tingene, inden du proklamerer dit svar som den endegyldige sandhed. Det er rigtigt hvad olebole siger: Er man ny, kan dit indlæg virke overbevisende, og det ville være en fejl, hvis man fulgte dit råd.
Hm, den er desværre ikke helt i orden, nute. Håber du har mod på at kigge på det.
Jeg har sat andre farver på tabel, celler osv. Og her kan jeg se, at der er 1px hele vejen rundt. Det må der ikke være, det er kun teksten, der skal bruges padding til.
Mellem de to celler skal denne lodrette streg så være.
Prøv at kopiere det seneste html-dokument over i en editor og se. Håber du får tid :o)
Ja, undskyld Steen ... jeg brugte måske kræfterne lidt 'off-topic' inat, men jeg bliver zq så irriteret, når folk så insisterende leder folk på helt forkert sti :) Jeg har ikke tid til at lave et eksempel lige nu, men kikker på det senere - hvis ikke nute kommer mig i forkøbet ;o) /mvh
nute: Jeg har 3 rækker i en kolonne, som er 1 pixel bred
Den øverste række: 30 pixels høj, baggrundsfarve er hvid
Den midterste række: Variabel højde. Afhænger af hvor meget tekst, der bliver fyldt i "nabo-cellerne", baggrundsfarve er sort/grå ....
Den nederste række: 30 pixels høj, baggrundsfarve er hvid
Det er udelukkende for at få noget til at skille de 2 celler fra hinanden med. Det ser temmelig klodset ud, hvis de har samme højde som indholdet i de to celler. Jeg håber jeg fik tydeliggjort det i åbningsspørgsmålet. Hvis ikke, så må du undskylde, nute :o/
olebole: Jeg ved det, det er ikke så smart, hvis evt. nybegyndere tager det for at være noget "junk-kode" :o)
ehh ... det kan godt være det er mig der er totalt langsom i dag, men jeg fatter det stadig ikke :-((
"du har 3 rækker i en kolonne" - betyder dette det samme som "jeg har 3 rækker der består af en kolonne" ?? (( husk at en række går horisontalt -->, og de kolonner går vertikalt |. når du skriver 3 rækker i en kolonne, så tænker jeg at du har noget der set sådan ud: .__ |__| |__| |__|
når jeg så kigger på din sidste html, så har du en matrix på 3x3 (3 rækker af hver 3 kolonner).
når du så skriver "Det er udelukkende for at få noget til at skille de 2 celler fra hinanden med" - så fatter jeg simpelthen ikke hvilke "2 celler" det er snak om at skille ??! Jeg beklager så meget hvis jeg er trang i hovedet, men jeg er nordmand, trods alt ... normalt forstår jeg meget, men dette her forstår jeg desværre ikke.
Hvis du glemmer alt det ovenstående, og ser på dette:
<tr> <td rowspan="3" valign="top" align="left" style="width: 252px; background-color: #FFFF00; padding: 12 12 12 12;"> I denne celle er der tekst<br><br> Højden af denne celle afgøres af, hvor meget tekst der fyldes i den.<br><br> Højden på den midterste celle i kolonnen til højre for denne celle vil variere, afhængig af hvor meget tekst, der står i denne celle.<br><br> Den øverste række i kolonnen til højre for denne celle skulle (i teorien, ihvertfald), fortsat have en højde på 30px. Det samme vil gøre dig gældende for den nederste række i kolonnen til højre for denne celle. </td> <td style="width: 1px; height: 30px; background-color: #FFFFFF"></td> <td rowspan="3" valign="top" align="left" style="width: 252px; background-color: #FF0000; padding: 12 12 12 12;"> I denne celle er der en anden tekst.<br><br> Denne celle i højre side er adskilt fra cellen i venstre side af en kolonne i midten, som består af 3 rækker: Den øverste er 30 px i højden/1 px i bredden, den midterste er variabel i højden/1 px i bredden, den nederste er 30 px i højden/1 px i bredden. </td> </tr> <tr> <td style="width: 1px; height: 30px; background-color: #000000;"></td> </tr> <tr> <td style="width: 1px; height: 30px; background-color: #FFFFFF;"></td> </tr>
roenvig, den midterste celle skal bare ikke rykke med ned, den skal blive højere i takt med, at der bliver fyldt mere i cellen.
Forestil dig, at du har tre kolonner. De to yderste bliver der fyldt tekst i. Den midterste bliver brugt til at skille de to celler ad.
Men jeg ønsker ikke, at de 3 kolonner er lige høje, den midterste kolonne, som skiller de 2 celler, må gerne være en anelse kortere, f.eks. 30 px. Så uanset om der er 12 linier, eller 6577 linier, vil der sltid være den smule "luft" ovenover og nedenunder.
Det er sq svært at forklare, og opgaven er (BURDE være) egentlig noget fluekn...ri. Men det er noget fluekn...ri, som jeg gerne vil lære at kunne anvende.
Jeg ved ikke, om mit eksempel vil passe her, men jeg prøver at illustrere det, og mit ønske er MEGET simpelt. Så simpelt, at jeg bliver i tvivl om, om ikke alle kender løsningen. Jeg kan bare ikke se den :o)
<celle1 start> [30px] <celle2 start> Teksten afgør <midtercelle start> Her er også lidt højden på tekst cellen <midtercelle slut> <celle2 slut> <celle1 slut> [30px]
<celle1 start> [30px] <celle2 start> Teksten afgør <midtercelle start> Her er også lidt højden på tekst cellen <celle2 slut> Nu er der mere Den midterste celle tekst i celle1, er nu lidt og nu bliver højere cellen højere <midtercelle slut> <celle1 slut> [30px]
Jeg forsøgte mig også med en GIF i går, men det lykkedes ikke for mig.
Umiddelbart ser dit forslag fint ud, men har du prøvet det af selv? Det ser lidt mystisk ud hos mig.
Jeg har placeret cellen mellem <body></body>, der er altså ikke noget omkransende:
<table border="0" cellpadding="0" cellspacing="0" style="position: relative; height: 100%" class="text11 paper"> <tr> <td valign="top" align="left" style="width: 252px; padding: 12px 12px 12px 12px;"> Carl Gustaf mener ikke, at han på nogen måde har udtalt sig politisk. Men han beklager, at han ved et pressemøde har givet nogle svar, der kunne misforstås.<br><br> "Selvfølgelig har jeg ikke udtalt mig om, hvordan det står til med demokratiske fri- og rettigheder i Brunei," siger den svenske konge i en udtalelse til den svenske offentlighed, som blev publiceret i går. </td> <td style="height: 100%; background-color: #333333;"> <img src="/images/white.gif" style="width: 1px; height: 30px;"> <div style="vertical-align: bottom;"> <img src="/images/white.gif" style="width: 1px; height: 30px;"> </div> </td> <td valign="top" align="left" style="width: 252px; padding: 12px 12px 12px 12px;"> "Selvfølgelig har jeg ikke udtalt mig om, hvordan det står til med demokratiske fri- og rettigheder i Brunei," siger den svenske konge i en udtalelse til den svenske offentlighed, som blev publiceret i går.<br><br> Carl Gustaf mener ikke, at han på nogen måde har udtalt sig politisk. Men han beklager, at han ved et pressemøde har givet nogle svar, der kunne misforstås. </td> </tr> </table>
Jeg er ked af, at det spørgsmål, som jeg troede var forholdsvis enkelt for den rette, har givet så meget arbejde. I skal nok få et eller andet for anstrengelserne, alle sammen.
HVIS det kan løses v.hj.a. CSS og styles, ville det være fedest, så jeg ikke skal rette hvert enkelt dokument, hvis der skal foretages ændringer. Størrelsen på en GIF er temmelig konstant, og ikke særlig variabel :o)
Hvis det IKKE kan løses uden brug af GIF'er i en bestemt størrelse, er der ikke noget at gøre ved det, så kan det ikke være anderledes.
Det ser ud som om, at GIF'en skal "tvinges" op i toppen af den øverste celle, og ned i bunden af den nederste. Hvis den kan det, burde den være i orden.
Hvor 'gx_vbar_white.gif' en hvid gif på 1x30 pixels. Du skal naturligvis også have en: td { vertical-align:top } i dit stylesheet. Det skulle vist kunne gøre det ;o) /mvh
her har jeg intet imod at du får det hele, ole ... jeg betaler gerne for at lære noget, og hvis min betaling er i form af "tabt løn", så er det helt iorden :-)
-- men jeg har lige fået dummeslag af en særdeles nærtstående person, for ikke at tænke tanken om, at jeg ikke kunne bestemme størrelse af et baggrundsbillede, færdig !-)
.. og nute: Jeg er ked ad, at jeg havde sådan et besvær med at forklare dig det. Skulle der blive en anden gang, finder jeg et link, så du kan se det.
Point er ikke meget at give, I har virkelig hjulpet mig meget, alle sammen. Håber I vil være tilfredse med denne symbolske "betaling". Men læg så lige de svar :o)
steen_hansen >> dette er vel nærmest som når man bruger en halv time på at åbne en dåse med rødbeder ... man kan simpelthen ikke få lortet op. Man råber op, bander, slår i væggen, men dåsen forbliver lukket. Når så ens syge moster kommer forbi, så klarer hun det altid ... hvorfor ?? Fordi nogen har gjort forarbejdet ;o]
Havde ikke jeg bedt dig om at forklare dig så mange gange, så havde nok spørgsmålet stadig været uklart ?! Du skal ikke være ked af at jeg ikke forstod ... jeg er nordmand ;o] For meget frisk luft i barndommen har skadet mit "forståelses center". Det gør ikke noget ... nogen ting kan jeg simpelthen bare ikke forstå ;o]
ok .. jeg smider "modvilligt" et svar ... men jeg ønsker kun en symbolsk betalig ... 6-7 points er fin-fint
nute >> Jeg er - som jeg før har nævnt det - imponeret over dit skriftlige dansk. Dog er der nogle syntaktiske justeringer, vi lige må have kikket på ved lejlighed: "... ens syge moster kommer forbi ..." ...?!!???!!! *hrmpff* ...! *ROTFLMAO* ;oD
Det gælder også her. Jeg kan huske jeg "rendte på dig" for et par år siden, og det er imponerende, som du kan skrive dansk. For ikke at nævne dine kundskaber mht. ASP. For ikke .... :o)
olebole >> det er da glædelig at jeg kan give dig en god latter ... men jeg forstår nok desværre ikke hvad det er galt med den setning/ordstilling ... men det sker nok en dag :-D Vi kigger på mit syntaktiske snavs ved passende anledning ;o]
Tror du lige, det er en syntaktisk justering *lol*
-- hvis det er skrevet med vilje, så er det første gang, jeg har set den syge moster løse et problem, hun plejer altid at være undskyldningen for ikke at have gjort noget (evt.gjort noget !-)
-- og så ok, da, steen, så du ikke skal gå i spåner, men egentlig har jeg det nok, som nute skriver, for det nåede ikke at være meget, jeg bidrog med '-)
Nu er det ikke for at stramme den, men jeg har endnu et problem. Se det på http://www.eksperten.dk/spm/479407. Håber nogle af Jer kan finde tid (og ressourcer) :o)
olebole, hvis jeg skal have de 4 underliggende nyheder til at flugte hovednyheden (http://www.include.dk/default1.asp), så bliver jeg nødt til at sætte padding = 0 (ingen padding).
Til højre og for venstre for de 4 underliggende nyheder er der 12px. Hvordan får jeg bedst 6 px på hver side af den lodrette streg?
Hvis I ser på den, skal I ikke tage Jer af manglerne. Jeg har langt det meste kode færdigt. Jeg prøver blot at lave en skabelon, inden jeg smider koden på :o)
Det skal du ikke undskylde. Hvis nu jeg kunne få gang i cellerne, så ved jeg udemærket selv, at det er et synonym. Har selv brugt det her på E. Jeg troede bare lige, da jeg så det, at det var et eller andet fancy. Men jeg ER træt, det har været en hård uge med meget lidt søvn :o)
Den slags behøver du zq ikke fortælle mig om. Der er vi alle fra tid til anden - og så har afføringen det med at ophæve tyngdeloven og stige tilvejrs i stedet *LooooL* Du _drømmer_ ikke om, hvad jeg kan finde på at skrive af sludder-/mudder-kode ... og efterfølgende spilder tid på at finde min egen syntaks-spasme :D Sov godt ;o)
Jeg har præsteret at sidde i et møde og pludselig slå knude på tungen. Nu var det heldigvis med kollegaerne, så vi kunne grine ad det. Men jeg måtte lige gå over i et hjørne og knalde mig en lussing, så jeg kunne blive nærværende og opmærksom igen :o)
Jeg tror jeg daffer. Sov godt selv :o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.