webForumDet fria alternativet

Få div att bete sig som tabell

HTML & CSS

15 svar · 861 visningar · startad av silfver

Medlem sedan apr. 200312 679 inlägg
Frågan#1

Sitter här och försöker anstränga mina stackars små hjärnceller men kommer inte fram till något smart. Jag skyller på en lång arbetsdag. :OO

Hur ska jag få en div att bete sig som en tabell i följande scenario;

<table>
	<tr>
		<td><img src="bild.jpg" alt="hej" /></td>
	</tr>
</table>

Nu kommer ju bredden på tabellen anpassas efter bildens bredd. Men ifall jag gör samma sak med en div så breder ju diven ut sig över hela sidan, så långt är jag med. Men kan man få diven att bli lika bred som innehållet utan att skriva ut något exakt mått?

Hoppas ni förstår vad jag menar, det är lite svårt att förklara tror jag. :) Men egentligen ganska enkelt att förstå ifall man vet hur tabellen beter sig.

Tack på förhand!

r/ Det ska fungera i IE också. ;)

Medlem sedan nov. 20051 596 inlägg
#2

Ska du bara ha en bild i en div...?
floatar du left så lämnar du allt som finns på högra sidan ledigt.
tvärtom om du floatar right.
Men det skulle ju räcka med att sätta float i en class direkt på bilden...
Många sätt finns det, men sammanhanget där bilden ska finnas får förmodligen styra det...

Medlem sedan apr. 200312 679 inlägg
#3

Nej, inte bara en bild. Det ska vara menyer och sånt också. Men det är bilden som ska styra bredden. Det är till min flog som jag ska uppdatera lite. Antar att det inte räcker med att floata bilden där för att det ska bli i mitten hela tiden?

Medlem sedan nov. 20051 596 inlägg
#4

Försökte titta igenom din kod lite nu, och ser egentligen ingen anledning till varför du ska ha vidd i inlinestylen.
Vad händer om du tar bort vidden och ser till att wrapper-diven går ner till botten?
Tycker att allt borde hamna i mitten då och styras av bildbredden, för den är väl åtminstone nästan alltid bredast.
Gillade din rostiga kapsyl jättemycket!!!
Kanske har jag fel... har ganska många grå celler i kväll i kontoret...

Medlem sedan apr. 200312 679 inlägg
#5

Min nuvarande design har ingen som helst betydelse. Jag ska göra en helt ny layout. Så bry dig inte om hur nuvarande ser ut. ;)

Jag har gjort en liten skiss här på hur jag vill att det ska se ut. Jag vill ha en "wrapper"-div med borders på båda sidor. Den ska sträcka sig från topp till botten. Det svåra är ju att få den mittplacerad samt anpassad efter bildens bredd. Hoppas bilden förklarar lite bättre hur jag vill att det ska se ut.

Finns det ingen smidig lösning med css och divar så tvekar jag inte på att använda mig av en tabell som så enkelt löser det här. Men är man div-skadad så är man? :D

r/ Div ska anpassa sig efter bredden på bilden inte diven. :)

splash.gif
Medlem sedan mars 20041 505 inlägg
#6

Vad jag vet så finns det inget sett.
När jag tänker på det så tycker jag faktiskt att det är en ganska stor begränsning.

Medlem sedan nov. 20051 596 inlägg
#7

Sitter precis och jobbar med ett par sidor med ungefär samma princip, och vet inte riktigt om det fungerar fullt ut ännu, men har inte stött på problem ännu. Skillnaden är bara att bilden inte bara ska rätta sig efter diven, den ska dessutom rätta sig efter skärmupplösningen ner till ca. 640px och bli jättestor på stora skärmar.
Tycker du att det låter OK så är principen den att du gör en vänster och en höger div. De ska ha fasta bredder. Låt oss säga 150px. Mittenkolumnen som ska ha bilden har ingen bredd, bara marginaler åt bägge håll, som ska vara detsamma som sidodivarna dvs 150px.
När du sedan lägger in en bild så ska du inte ange bredd, men de ska vara stora så de tål att förstoras. I css upptäckte jag att man måste ange widd på img som 99% annars vill inte IE visa bilden rätt.
Vill du se principen så kan du kika på länken http://gotlandssidor.se/design/tre/draihop.html
men där finns det med både header och footer.
I de webläsare jag kollat så fungerar det perfekt, men det finns några kvar...

Dra ihop sidan för att se vad som händer...

Medlem sedan apr. 200312 679 inlägg
#8

Troxy skrev:

Vad jag vet så finns det inget sett.
När jag tänker på det så tycker jag faktiskt att det är en ganska stor begränsning.

Okej. :l
Vad menar du med begränsning?

tanten skrev:

Sitter precis och jobbar med ett par sidor med ungefär samma princip, och vet inte riktigt om det fungerar fullt ut ännu, men har inte stött på problem ännu. Skillnaden är bara att bilden inte bara ska rätta sig efter diven, den ska dessutom rätta sig efter skärmupplösningen ner till ca. 640px och bli jättestor på stora skärmar.
Tycker du att det låter OK så är principen den att du gör en vänster och en höger div. De ska ha fasta bredder. Låt oss säga 150px. Mittenkolumnen som ska ha bilden har ingen bredd, bara marginaler åt bägge håll, som ska vara detsamma som sidodivarna dvs 150px.
När du sedan lägger in en bild så ska du inte ange bredd, men de ska vara stora så de tål att förstoras. I css upptäckte jag att man måste ange widd på img som 99% annars vill inte IE visa bilden rätt.
Vill du se principen så kan du kika på länken http://gotlandssidor.se/design/tre/draihop.html
men där finns det med både header och footer.
I de webläsare jag kollat så fungerar det perfekt, men det finns några kvar...

Låter inte som en lösning jag vill använda mig av. Det får väl bli en tabell trots allt.

Medlem sedan mars 20041 505 inlägg
#9

silfver, ja, att man inte kan uppnå ditt önskade resultat.

Medlem sedan dec. 20042 245 inlägg
#10

Bah.

div { display:table; }

För IE6 kan du bara ange width:1px så kommer den att (felaktigt) bli lika bred som bilden. För IE7 blir det svårare då den inte har stöd för display:table men har fixat så att 'width' fungerar korrekt.

Medlem sedan apr. 200312 679 inlägg
#11

zcorpan skrev:

Bah.

div { display:table; }

För IE6 kan du bara ange width:1px så kommer den att (felaktigt) bli lika bred som bilden. För IE7 blir det svårare då den inte har stöd för display:table men har fixat så att 'width' fungerar korrekt.

Åter igen, jag vill helst att det ska fungera för alla. Sitter och mekar med en tabell nu, det blir så bra så.

Kanske kommer det en smart lösning för mitt "problem" i CSS3?

Medlem sedan dec. 20042 245 inlägg
#12

Lösningen finns redan i CSS2.1 (display:table). Om problemet är att IE suger så kan inte CSS göra så mycket åt det... ;)

Medlem sedan apr. 200312 679 inlägg
#13

Missförstod väl dig lite. :) Det verkar fungera, men jag kör nog på tabellvarianten ändå tror jag. Får se. Jag kanske återkommer med resultatet! :)

Medlem sedan dec. 20042 245 inlägg
#14

Jag kom på att ett sätt att få det att fungera i IE7 är att låta IE7 använda quirks mode, som är (så vitt jag förstått) identiskt med quirks mode i IE6. Om de inte ändrar sin doctype-sniffningskod före final räcker det med en kommentar före doctypen för att få IE7 (och IE6) i quirks mode.

Medlem sedan aug. 2005198 inlägg
#15

Nu är zcorpan igång med sina djupa utläggningar om IE7 osv. Vilka jag inte fattar mycket av :) Var får han allt ifrån? :)

Medlem sedan apr. 200312 679 inlägg
377 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
119 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)