17. oktober 2012 - 01:36Der er
17 kommentarer og 1 løsning
table-cell problem
Hej
Jeg har prøvet at lave noget en display:table og table-cell i css, og det virker fint i Chrome og IE, men i Firefox står kollonnerne ikke lige under hinanden (de rykker i forhold til hinanden. Afhængigt af hvor meget indhold der er i cellerne, rykker den lidt på rækkerne
Nogle der ved hvad der gør at firefox rykker dem, og hvad man kan gøre ved det.
KODE LIGE TIL AT KOPIERE - MESTE AF KODEN ER VOLAPYK TEKST FOR AT MAN KAN SE DER ER EN LILLE FORSKEL I FIREFOX: -----------------------------------------------------------
Det er som tidligere nævnt ikke let at få HTML til at opstille indhold i kollonner. Det er formodentlig lettere at bruge inline og block elementer, som de er beregnet til: Inline elementer lægger sig ved siden af hinanden - og block elementer lægger sig over/under hinanden. Du kunne prøve denne kode i stedet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <style type="text/css"> body { font: 14px verdana, arial, sans-serif; } .css_table{ width: 996px; margin: 20px 0; } .css_cell{ width: 312px; display: inline-block; vertical-align: top; margin: 0 10px; background-color: #000; color: #fff; } </style> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>
<div class="css_table"> <div class="css_cell"> dad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj <br><br>dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsad </div><div class="css_cell"> Test </div><div class="css_cell"> Test </div> </div>
<div class="css_table"> <div class="css_cell"> testas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsad </div><div class="css_cell"> test </div><div class="css_cell"> test sdas dastestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsadtestas dasdasd asdad s adasd as dsa daj dbas dasj dasl dlsad slka dslak dlsad </div> </div> </body> </html>
Du vil sikkert beklage dig over, at cellerne ikke fylder ud, vertikalt. Så bruger du bare det gamle trick med at lægge et baggrundsbillede i wrapperen (= hver række-DIV), som repeat'er lodret. Billedet kan være få pixels højt og bestå af tre sorte streger på hver 312px bredde med 20px imellem =)
Det var egentlig også min første løsning Problemet er at kasserne i det endelige resultat skal være afrundede i alle fire hjørner, så ramte ind i et problem der.
Er det virkelig slet ikke muligt med css/css3 at lave 3 kasser ved siden af hinanden, med en defineret bredde, og samme højde, og med afrundede hjørner :(
PS: Doctype og alle de andre ting er med i det rigtige - lavede bare et meget hurtigt og simplere eksempel
Jamen, så strikker du bare et par ekstra elementer ind, så hjørnerne kan blive runde. Det er en af de ting på Eksperten, der er bøvlet at forklare, fordi man ikke kan vise/udveksle billeder - men det er ikke svært at lave.
Ja, det er helt rigtigt. Og der er heller ikke muligheder for at lave en grøn trekant midt på siden, som omskriver en gul cirkel med et rødt, polkaprikket kvadrat som indhold.
Med den oprindelse HTML har, ville det være ret besynderligt, hvis det var muligt. Til gengæld er det jo helt fantastisk, at teknologien er nået så langt - lysår fra udgangspunktet - at så specielle og avancerede krav snarligt synes at blive en reel mulighed =)
Og i den øverste ligger diver med afrundet top, og i den nederste div'er med afrundet bund Og den midterste har så baggrundsbillede i den lange div, og så 3 diver inden i til boksene
De skal være transparante, men vil helst skulle undgå at lave billeder, da der kan være forskellige farver mv. Så vil være bedre hvis man kunne benytte css3 på en måde til at lave rundingen
Jamen, så har du jo selv givet løsningen. Den er at vente nogle år, til teknologien kan følge med dine krav. Hvis du kun kan bruge CSS3 - der, som du jo allerede ved, ikke er understøttet - er den gode løsning nok 'at lade være'
Det er fint nok den er understøttet i de fleste browsere og med IE 10 ser det jo frnuftigt ud, Chrome og Firefox ser også fornuftigt ud, og Safari ...... tja hvis man køber Mac er man selv uden om det ;););); ....... naah pjat den ser jo også fornuftig ud.
Men jeg må prøve mig lidt frem. Har jo ladet sig gøre 99,9% - er kun Firefox der laver lidt balade ;)
IE 10 ...?!??!!! Ja, så nonchalant har man ikke råd til at være som professionel! En løsning, der kun fungerer i de seneste browserversioner - og på én platform - er en ikke-løsning.
Mange steder er det fornuftigt nok stadig et ufravigeligt krav, at siden skal understøtte IE7 - og enkelte steder IE6. At stille sig tilfreds med, at siden kan fungere i IE10, er komplet urealistisk. Set med professionelle øjne mangler du de 99,9% *o)
Det kommer jo meget an på målgruppen ;) ... det er jo ikke noget man kan sige generelt. Men meget understøttes også tilbage, og ellers fungerer det jo tit bare som firkantede kasser i stedet for afrundede ;) Men igen kommer jo i første omgang an på målgruppe, og i anden omgang an på kunden hvis det er prof ;)
Ja, det kommer helt korrekt an på målgruppen. Da du ikke har voldsomt godt styr på resten, formoder jeg, at du nok heller ikke helt har styr på din målgruppe - eller hvordan man undersøger den.
"Men meget understøttes også tilbage, og ellers fungerer det jo tit bare som firkantede kasser i stedet for afrundede" >> Den antagelse bygger helt og holdent på tro =)
Dine farver, bredder og margins vil holde - men visningen vil være fuldstændig off i ældre browsere ... endda i en grad så store dele af sidens indhold formodentlig ikke er synligt. Flere af kasserne vil simpelthen 'forsvinde' fra viewport'ens område. Hverken din egen kode eller min kode vil virke i IE7. Det vil en helt almindelig tabel.
Godt webdesign er webdesign, der understøttes bredt. Ofte er energien bedre brugt på indholdet end på 'glimmer og guirlander', som sjældent 'bringer handlingen videre' eller bidrager med noget brugbart - udover de få minutter, man opholder sig på siden =)
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.