Autor | Zpráva | ||
---|---|---|---|
phobos9007 Profil |
#1 · Zasláno: 5. 5. 2011, 18:36:14
Zdravím,
Když nastavím např. bloku opacity a na ten blok umístím obrázek, zprůhlední se mi i ten obrázek. Když jsem doteď používal místo opacity průhledný png, tak se ten obrázek na tomhle průhledným pozadí zobrazoval normálně, bez transparentnosti. Je to takhle správné chování opacity? Nedává to moc smysl. Díky |
||
ShiraNai7 Profil |
#2 · Zasláno: 5. 5. 2011, 18:38:27 · Upravil/a: ShiraNai7
Je to správně. Opacity mění vlastnost daného bloku i všeho v něm (stejně jako font-size a tak dále, pokud není přepsána jiným pravidlem).
Chování by mělo jít upravit takto (opacity pro blok, jeho obsah normálně): #blok {opacity: 0.5;} #blok > * {opacity: 1;} |
||
phobos9007 Profil |
#3 · Zasláno: 5. 5. 2011, 18:40:56
Díky
|
||
Bubák Profil |
#4 · Zasláno: 6. 5. 2011, 04:01:22
ShiraNai7:
„Chování by mělo jít upravit takto (opacity pro blok, jeho obsah normálně):“ Naivní představa, vše, co je v #blok, bude mít opacity 0.5. |
||
Stano Profil |
#5 · Zasláno: 6. 5. 2011, 09:19:09 · Upravil/a: Stano
phobos9007:
background-color: rgba(0, 0, 0, 0.5); keď zadáš priehľadnosť takto tak sa to neprenáša na vnorené prvky. samozrejme funguje to všade okrem IE. ale je nato jeden hack. ale ten si už nepamätám. |
||
ShiraNai7 Profil |
#6 · Zasláno: 6. 5. 2011, 12:36:58
Bubák:
Vyzkoušel jsem to a je tomu skutečně tak, beru tedy zpět. Nevěděl jsem, že opacity je tímto způsobem "speciální". „Naivní představa“ To bych si vyprosil. Předpoklad, že se CSS pravidlo chová stejně jako většina ostatních, není hloupá představa. |
||
Bubák Profil |
#7 · Zasláno: 6. 5. 2011, 12:56:55
Stano:
„ale je nato jeden hack. ale ten si už nepamätám.“ - filter opacity + pozicování vnořeného objektu, stačí relativní porice a novou pozici není nutné deklarovat, takže se objekt zůstane na požadovaném místě ShiraNai7: „To bych si vyprosil. Předpoklad, že se CSS pravidlo chová stejně jako většina ostatních, není hloupá představa.“ Taky jsem podobné chování očekával, použil jsem tenhle výraz hlavně proto, aby si to každý, kdo se s tím doposud nesetkal, zapamatoval. |
||
Chamurappi Profil |
#8 · Zasláno: 6. 5. 2011, 15:40:28
Reaguji na ShiraNaiho7:
„Předpoklad, že se CSS pravidlo chová stejně jako většina ostatních, není hloupá představa.“ Průhlednost se nedědí, dává to smysl, není to speciální, je to dokonale konzistentní. Je to podobné, jako když nastavíš rodičovskému elementu obrázkové pozadí, a u potomka se rozhodneš, že má být ten jeho rodič průhledný — nemůžeš za tím účelem dát potomkovi background: transparent a nemůžeš ani říct, že potomek zdědil pozadí rodiče.
Kdyby všechny bloky uvnitř něčeho s opacity: 0.5 měly také opacity: 0.5 , vypadalo by to jinak — nemohli by se třeba navzájem neprůhledně překrývat.
|
||
ShiraNai7 Profil |
#9 · Zasláno: 6. 5. 2011, 15:43:10
Chamurappi:
Já už chápu jak to funguje a taky netvrdím, že to není konzistentní. Jen to nemusí být jasné na první pohled. |
||
phobos9007 Profil |
#10 · Zasláno: 6. 5. 2011, 17:43:14 · Upravil/a: phobos9007
Neměl jsem předtím čas to otestovat, ale je pravda, že to takhle nelze. Vyvstává otázka, zda-li je výhodnější používat rgba a hack, nebo png.
IMHO je univerzálnějším řešením png. EDIT: opravuji se, "zdal-li" neexistuje, správně je zdali |
||
Časová prodleva: 14 let
|
0