Problema “float” in CSS

13 Octombrie, 2009 la 2:55 387 afisari

Etichete : , , , , , ,

Defapt este mai mult neatentie decat o Problema dar m-am gandit sa scriu o mica rezolvare daca faceti vreaodata o greseala de genul:

floatproblem

Avem trei div-uri unul cu id=”content” unul cu class=”article” si unul cu class=”sidebar”.

<div id="content">
	<div class="article">
		<p>Lorem ipsum sit dolor amet</p>
		<p>Lorem ipsum sit dolor amet</p>
		<p>Lorem ipsum sit dolor amet</p>
		<p>Lorem ipsum sit dolor amet</p>
	</div>

	<div class="sidebar">
		<p>Lorem ipsum sit dolor amet</p>
		<p>Lorem ipsum sit dolor amet</p>
		<p>Lorem ipsum sit dolor amet</p>
		<p>Lorem ipsum sit dolor amet</p>
	</div>
</div>

In CSS am scris urmatoarele:

#content {
	background: blue;
	padding: 10px;
}

.article {
    float: left;
	background: yellow;
	padding: 10px;
}

.sidebar {
    float: left;
	background: green;
	padding: 10px;
}

Dupa cate vedeti .article si .sidebar sunt ambele cu float: left; ar trebui sa functioneze nu?
NU in nici un caz, trebuie neaparat sa punem float: left; si la #content pentru a afisa div-ul corect.

Rezolvarea:

#content {
	float: left;
	background: blue;
	padding: 10px;
}

.article {
    float: left;
	background: yellow;
	padding: 10px;
}

.sidebar {
    float: left;
	background: green;
	padding: 10px;
}

floatproblem

Eheeeeee, acum div-ul este afisat corect.
O greseala intalnita, acum aproximativ 1 an jumate cand am inceput sa folosesc CSS-ul, aceasta a fost prima mea greseala si am stat 30 de minute sa o rezolv.

Autor : thiefunu.

Recomandam, pe aceeasi tema

Articole - HTML/CSS7 Comentarii
Tutoriale WEB – Concurs pentru programatori

Comentarii la "Problema “float” in CSS"

  1. Adrian says:

    Si daca eu nu am nevoie de float left la content ? Ce fac?

    Incearca asta:

    Lorem ipsum sit dolor amet
    Lorem ipsum sit dolor amet
    Lorem ipsum sit dolor amet
    Lorem ipsum sit dolor amet

    Lorem ipsum sit dolor amet
    Lorem ipsum sit dolor amet
    Lorem ipsum sit dolor amet
    Lorem ipsum sit dolor amet

    Si s-a rezolvat problema, fara sa pun float left la content.

  2. Adrian says:

    Mda… ar trebui sa instalezi si un plugin care sa-ti dea posibilitatea sa editezi un comentariu in maxim 1 minut dupa ce l-ai postat, ca poate se mai intampla sa greseasca omu` si sa poata sa-si corecteze greseala.

    Rezolvarea e simpla, dupa inchiderea div-ului cu clasa sidebar adaugi un br clear=”all” />

  3. Sunt mai multe rezolvari am prezentat doar una.
    Poti face si clear: both; si overflow: hidden;

  4. Adrian says:

    Da, ideea e ca la overflow hidden si la varianta prezentata mai sus (aia cu float left) pot aparea conflicte. Bine, in cazul prezentat cu content si 2 coloane, nu prea cred, dar se poate intampla sa folosesti 3-4 div-uri asezate sub forma aia doar pentru un anume element al site-ului, si daca ii dai float left, si nu ai nevoie de float left… nu prea mai merge solutia :) .

  5. Adrian says:

    In fine, ma plictiseam si am dat de blogul tau(vostru) si mi s-a pus pata pe comentarii :) .

    Gata! Imi iau jucariile si plec acasa.. am stat prea mult la birou pe ziua de azi! :)

    Bafta cu blogul!

  6. S-a rezolvat problema cu editarea, multumesc de sfat si te mai asteptam pe aici. :D

  7. Claudiu says:

    Uite asta nu stiam, eu foloseseam un div cu clasa clear ( {clear: both;} ) pe care il puneam inainte sa inchid div-ul care contine elementele cu float. Afterall, #content e la randul sau in alt div, cel mai posibil un wrapper. Pe ala poate vrem sa-l centram, deci pica ideea cu float: left :)

Lasa un comentariu