Autor | Zpráva | ||
---|---|---|---|
Karel Zatloukal Profil * |
#1 · Zasláno: 29. 3. 2007, 23:48:43
Proč mi tato konstrukce prosím Vás nefunguje #obal+h1 { margin: 50px; }? Zkoušel jsem h1+p { margin: 50px; } a takhle to ve Firefoxu funguje. První odstavec bude mít margin a ostatní ne. V prvním případě mi to nešlo s identifikátorem.
|
||
Timy Profil |
#2 · Zasláno: 29. 3. 2007, 23:52:41
Karel Zatloukal
Těžko říct, bez dalšího kódu. Mimochodem tenhle selektor stejně IE neumí. |
||
Bubák Profil |
#3 · Zasláno: 30. 3. 2007, 00:45:46
Tipnul bych si, že nejde o nejbližšího následujícího sourozence, ale o něco takového:
<div id="obal"> <div id="obsah> <h1>Há-1 nemá nejblíže do "obal", ale "obsah"</h1> </div> </div> tenhle selektor stejně IE neumí. Mám dojem, že IE 7 adjacent sibling selectors umí. |
||
Trejpa Profil |
#4 · Zasláno: 30. 3. 2007, 04:01:01
Karel Zatloukal
Plus slouží k vyjádření následujícího prvku na stejné úrovni, ne na vnořený. Bubák má pravdu. Vypadá to, že chcete použít styl na potomka, ale nastavujete ho sourozenci. Toto je použití selektoru + a ve FF samozřejmě funguje: #obal+h1 { margin: 50px; } <div id="obal">V #obalu, neodsazeno</div> <h1>Nadpis, první sourozenec k #obal, odsazen podle stylu</h1> Pokud ale potřebujete použít styl na h1, který je obalen pomocí #obal, potom takto: #obal h1 { margin: 50px; } /* h1 vnořený do #obal a klidně do dalších elementů; použije se na všechny libovolně vnořené h1 */ #obal>h1 { margin: 50px; } /* h1 vnořený jen do #obal, ne do ničeho jiného; použije se na všechny stejně vnořené h1 */ Pokud se snažíte aplikovat styl pouze na prvního potomka, tak to nelze. O selektorech se píše tady: http://interval.cz/clanky/css2-selektory-pseudotridy-a-pseudoelementy/ |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0