WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   css float inom p? (https://www.wn.se/forum/showthread.php?t=1042955)

Althalos 2010-07-17 14:06

css float inom p?
 
Jag har en kod som ser ut såhär:

<p>
Beskrivning
<img src="url" alt="" class="rgt" />
<div class="clear"></div>
</p>

d.v.s inom p har jag text och en bild som är float: right; samt en div som har clear: both;

Av någon anledningen beter sig denna kod som om det inte finns någon clear. Jag kan visserligen få fram rätt resultat på annat sätt, men jag skulle ändå vara intresserad om någon kunde förklara vad som händer?

akelagercrantz 2010-07-17 14:55

Antingen kan du sätta float på p-taggen, såhär:
http://pastie.org/1048494

Eller så använder du overflow: hidden; (bättre alternativ)
http://pastie.org/1048496

Althalos 2010-07-17 15:05

Hm, intressant! Tack för svaret. Går detta att förklara med några regler?

akelagercrantz 2010-07-17 15:49

http://css-tricks.com/all-about-floats/

Althalos 2010-07-17 16:00

Den artikeln förklarar din metod, men den förklarar inte egentligen varför <div class="clearl"></div> inte fungerar. Såvida p inte är block men det bör det väl vara...

akelagercrantz 2010-07-17 21:09

Om du sätter float på ett element kommer dess container inte att anpassa sig efter det flytande elementets storlek (det flytande elementet tas ur innehållsflödet). När du använder clear-tricket så gör du så att alla efterföljande element ändå tar hänsyn till det flytande elementet istället för det sista elementet som är med i flödet ( i ditt fall <p> ).

I ditt exempel fanns inga efterföljande element som kunde påverkas av din clear-div, därför fungerar det inte.

Jämför dessa:
http://pastie.org/1048701
http://pastie.org/1048704

Althalos 2010-07-17 21:36

Hm okej, tack för den information nu förstår jag logiken bättre.


Alla tider är GMT +2. Klockan är nu 11:09.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson