Autor Zpráva
robbie
Profil
Omlouvám se, že sem dávám něco , co už tu bylo, bohužel sem nedostal odpověď, tak to zkouším znovu, třeba bude někdo vědět.

Jedná se mi o tuhle část kodu :
zdroj: www.w3schools.com/css/tryit.asp?filename=trycss_layout_cols
.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

Dotaz: Co má tahle část kodu za význam, nějak sem na to nepřišel a používá se dnes tato technika? Jestli má smysl se tím zabývat a učit se to? Děkuji moc za relevantní odpověd.
Radek9
Profil
robbie:
Používá se to celkem běžně. Obdobně to má udělané i Bootstrap (jen je tam block místo table). Umožní ti to obalit skupinu floatovaných elementů do bloku namísto toho, abys vkládal čístící element za ně, protože si to ten čistící element (::after) vytvoří samo.
<div class="clearfix">
  <div style="float: left;">Jsem vlevo</div>
  <div style="float: right;">Jsem vpravo</div>
</div>

Což je vlastně ekvivalentní s tímto:
<div>
  <div style="float: left;">Jsem vlevo</div>
  <div style="float: right;">Jsem vpravo</div>
  <div style="clear: both;"></div>
</div>
Tomáš123
Profil
robbie:
Pseudoelement :after s jednou dvojbodkou má lepšiu podporu a rovnaké schopnosti.

Zároveň by ma v súvislosti s touto témou zaujímala odpoveď na otázku, prečo je pre akokoľvek použiteľný pseudoelement after alebo before potrebná, hoci aj prázdna, vlastnosť content. Content, pokiaľ viem, nejde mimo selektora s takýmto pseudoelementom vôbec použiť.
Tomášeek
Profil
Tomáš123:
Zároveň by ma v súvislosti s touto témou zaujímala odpoveď na otázku, prečo je pre akokoľvek použiteľný pseudoelement after alebo before potrebná, hoci aj prázdna, vlastnosť content. Content
No, podle mě (logicky, bez nahlížeče do dokumentace) nemá smysl vytvářet prázdný element (= element bez obsahu, nikoliv element s prázdným obsahem). Nic víc bych v tom nehledal. I v HTML má každý element nějaký obsah, byť je to ten prázdný string. <div> bych obsahu rovněž neexistuje. Pokud cítíme rozdíl mezi "není obsah" a "obsah je prázdný string".

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0