Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 20. 7. 2006, 09:55:24
Potřeboval bych pomoci s řešením celkem nezvyklého problému.
Pro poměrně složitý web mám definováno několik tříd pro obrázky, některé z nich lze kombinovat <img class="tridavzhled tridapozice">. Třídy tridavzhled a tridapozice nesou nějaké vlastnosti, které se více méně doplňují. V konkrétním případě se jedná o definici vzhledu (rámeček pozadí atd.) respektive umístění (obtékání vlevo, vpravo, neobtékat atd.). Teď jsem se však dostal do situace, že bych do CSS potřeboval zapsat, že když má obrázek třídu tridavzhled1 a tridapozice-L (zarovnání doleva), tak se obrázek relativně pozicuje left:-10px a když má obrázek třídu tridavzhled1 a tridapozice-R (zarovnání doprava), tak se obrázek relativně posune left:10px. Vím, jak se zapisují vzájemně vnořené třídy, ale jak zapsat 2 třídy v kombinaci? Předem děkuji za jakékoliv připomínky i nápady, jak to řešit jinak. Pavel |
||
koudi Profil |
#2 · Zasláno: 20. 7. 2006, 10:04:37
V css je možno používat selektroy s atributy. trida[atribut], to by ti možná pomohlo - ale schválně si zkus tipnout, kterej prohlížeč to neumí...
|
||
Anonymní Profil * |
#3 · Zasláno: 20. 7. 2006, 10:08:49
Díky, to je moc pěkné, ale jestliže to nefunguje (jak bych si typl v IE), tak je to těžko použitelné řešení.
Pavel |
||
tiso Profil |
#4 · Zasláno: 20. 7. 2006, 11:32:13 · Upravil/a: tiso
.tridavzhled1.tridapozice-R{...} funguje v Opere i FF, IE6 ale tieto vlastnosti aplikuje na obe uvedené triedy, čiže na všetky prvky s class="tridavzhled1" alebo class="tridapozice-R"
|
||
mila Profil |
#5 · Zasláno: 20. 7. 2006, 14:18:06
V IE by to mělo jít nějak dořešit přes expressions. Bez JS to sice fungovat nebude, ale svět se nezblázní...
|
||
Railbot Profil |
#6 · Zasláno: 20. 7. 2006, 16:02:16
Dve tridy v kombinaci? Zcela jednoduse.
Mejme tridu .neco1 a .neco2, prvek pak bude mit nastaveno class="neco1 neco2" a svete div se, ono to funguje a tridy se zkombinuji. |
||
tiso Profil |
#7 · Zasláno: 20. 7. 2006, 17:27:18
Railbot
nečítaš poriadne... |
||
Bubák Profil |
#8 · Zasláno: 21. 7. 2006, 00:32:48
jak zapsat 2 třídy v kombinaci
Railbot to napsal správně, nějaké příklady jsou v článku na Interval.cz: http://interval.cz/clanky/kaskadove-styly-v-dobrem-stylu/ |
||
tiso Profil |
#9 · Zasláno: 21. 7. 2006, 00:43:29
Tak to som zvedavý kto to pochopil dobre - či ja alebo Railbot
|
||
Bubák Profil |
#10 · Zasláno: 21. 7. 2006, 01:13:38
tiso To, co jsi napsal, moc nechápu, ale chyba může být ma mé straně, proto jsem se zdržel komentáře.
|
||
Plaváček Profil |
#11 · Zasláno: 21. 7. 2006, 07:37:23
Myslím, že to, co tazatel chce, se jmenuje vícenásobné třídy a pokud vím, fungují bezchybně. Viz http://www.mraveniste.org/weblog/2006/04/06-vicenasobne-tridy.html
|
||
Bubák Profil |
#12 · Zasláno: 21. 7. 2006, 08:42:13
Plaváček
Nemohl jsem si vzpomenout, jak se to jmenuje a příklad na Mraveništi je pro začátečníky s CSS asi nejvhodnější. |
||
tiso Profil |
#13 · Zasláno: 21. 7. 2006, 10:38:40
Bubák
Ja som to pochopil tak že nechce obyčajnú kombináciu (súčet) vlastností nastavených cez jednotlivé triedy (to podľa príspevku vie robiť), ale že chce nastaviť vlastnosti nad rámec tej kombinácie - akoby pre triedu "trieda1 trieda2" |
||
Timy Profil |
#14 · Zasláno: 21. 7. 2006, 10:43:38
Asi by se měl vyjádřit samotný autor, ale podle mě je to také trochu jinak s souhlasím s tisem, takže pokusím se to vysvětlit, neboť odpověď sám neznám:
Jde o to, aby při použití dvou tříd class="prvni druha" se aplikovala nějaká sada vlastností, ale jen a pouze pokud jsou použity tyto dvě třídy, tzn., že se nesmí aplikovat, pokud je někde jinde použita jen jedna z nich (což vylučuje možnost zapsat ty pravidla normálně do jedné z tříd .prvni nebo .druha). Líp už to asi napsat neumím. A IMHO nejlepší způsob řešení bude použít další třídu... |
||
Časová prodleva: 6 dní
|
|||
Jan Bien Profil * |
#15 · Zasláno: 27. 7. 2006, 12:51:42
Přátelé, napsat selektor tak, aby pravidlo bravo v úvahu pouze elementy které mají nastaveny více tříd zároveň, a aby to bylo funkční i v MSIE, podle mého názoru nelze.
|
||
Bebeto Profil * |
#16 · Zasláno: 27. 7. 2006, 15:19:14
Jen se chci zeptat, můžu mít celou playádu tříd za sebou? Například class="box box1 box2 box3"?
|
||
Bebeto Profil * |
#17 · Zasláno: 27. 7. 2006, 15:20:13
Nebo jsou dány pouze dvě class="box box1"? Článek jsem četl...
|
||
koudi Profil |
#18 · Zasláno: 27. 7. 2006, 15:20:23 · Upravil/a: koudi
Můžeš. Ale asi bych to moc nepřeháněl - má to vůbec nějakej smysl?
|
||
Bebeto Profil * |
#19 · Zasláno: 27. 7. 2006, 15:22:13
No to je jasné, že má..., zatim jsem nanejvíš použil dvě třídy, ale třeba to někdy budu muset řešit ještě vícekrát...
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0