Autor Zpráva
joe
Profil
Trošku jsem "narazil" na problém, a to, že v CSS asi není možné vybrat první výskyt všech potomků. Pro jednoduché vysvětlení uvedu příklad.

Nastyluju si různé boxíky a teď k nim chci přidat padding. Nechci však měnit jejich šířku, nechám tedy 350px a jejich obsah zanořím do dalšího elementu s třídou in, provedená úprava.

Box ale už není tak, jako předtím a já bych rád, kdyby to takový zůstal :-)

Jsou i jiná řešení, jak toto upravit
- přidat padding a využít box-sizing (není ale podporováno všude)
- přidat padding a změnit rozměry (nutnost počítat)
- nechat takto a upravit CSS - přidat .in > (nevýhodné pro další úpravy)
- nevyužívat obecné názvy (nuda)

Nejde to lépe? A to tak, že bych vybral první výskyt všech elementů? Nejedná se tedy o first-child.
ShiraNai7
Profil
Nechápu kde je vlastně problém. Ve druhé ukázce ti v selektorech chybí .in >, proto se neprojeví.
joe
Profil
ShiraNai7:
Jasně že chybí... doplnil jsem to do hlavního příspěvku (odrážka číslo tři). To ale není ideální, protože někde ty boxy chci mít bez toho .in > a jinde třeba s ním?


Chtěl bych teda vybrat první výskyt elementů s třídou heading, ať už má rodiče jakéhokoli, ale je uvnitř elementu s třídou box.
ShiraNai7
Profil
joe:

s třídou heading, ať už má rodiče jakéhokoli, ale je uvnitř elementu s třídou box.“ }[/pre]

.box .heading { ... }

první výskyt elementů

Co to znamená?
joe
Profil
ShiraNai7:
.box .heading { ...

Je jasné, že tohle změní všechny s třídou heading uvnitř box. To nechci, protože třída heading je i tam i znovu, zanořená v dalším elementu.

Co to znamená?
Vybrat označené elementy.

<div class="box">
  <div class="heading"></div>
  <div class="text">
    <div class="heading"></div>
  </div>
</div>

<div class="box">
  <div>
    <div class="heading"></div>
    <div class="text">
      <div class="heading"></div>
    </div>
  </div>
</div>

<div class="box">
  <div>
    <div>
      <div class="heading"></div>
      <div class="text">
        <div class="heading"></div>
      </div>
    </div>
  </div>
</div>



Tedy vybrání prvních přímých/nepřímých potomků, které splňují podmínku.

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: