Průhledný obsah v CSS
Pro zprůhlednění obsahu existují různé možnosti. Nejen CSS vlastnost opacity
.
Používat úspěšně opacity
je možné od Internet Exploreru 9; ve starších lze totéž simulovat filtrem.
.pruhledny {
filter: alpha(opacity=50); /* 50 ze 100 = 50% průhlednost */
opacity: 0.5; /* 0.5 z 1 = 50% průhlednost */
}
Vlastnost opacity
nabývá hodnot od nuly do jedné:
0
– element je úplně průhledný (není vidět, ale na stránce překáží, tj. jako by se použilovisibility: hidden
),1
– element není vůbec průhledný (jako by se nic nenastavilo),0.5
(popř. zkráceně.5
) – element je průhledný z poloviny.
Pro Exploreří filter: alpha(opacity=X)
je to podobné, jen hodnota rovnou v procentech.
Za elementem .pruhledny
bude vykukovat (prosvítat) pozadí.
Průhledný element
Nefunkční filter: alpha(opacity=50)
v IE
Ve starších Explorerech (IE7) občas zprůhlednění přes vlastnost filter
nemusí fungovat.
Starší IE totiž neumí aplikovat filtry na elementy, co nemají layout (hasLayout
), řešení je prosté — layout zapnout — třeba vlastností zoom
:
.pruhledny {
zoom: 1; /* zapnutí hasLayoutu pro IE */
filter: …
}
Průhledný obsah, neprůhledný text
Jak je vidět na předchozí ukázce, průhledné je úplně vše. Jelikož text není moc dobře čitelný, hodilo by se mít průhledný pouze obsah.
Průhledná barva — rgba(…)
Od IE9 se při zápisu barev dá použít zprůhlednění. (Ekvivalent rgba
bez průhlednosti je rgb
a funguje spolehlivě napříč prohlížeči.)
Barva se zadá čtyřmi parametry:
R | red – červená | rozmezí 0–255 nebo 0%–100% |
---|---|---|
G | green – zelená | rozmezí 0–255 nebo 0%–100% |
B | blue – modrá | rozmezí 0–255 nebo 0%–100% |
A | aplha – průhlednost | hodnota v rozmezí 0–1 |
Následující elementy mají stejnou barvu, ale jinak nastavenou její průhlednost.
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Nastavování barev dle průhlednosti se může hodit při návrhu webu, když se ještě neví, co bude jak přesně barevné. Nebo v případě, kdy chceme více barevných versí. Stačí určit barevné pozadí a jednotlivé barvy zadávat jako černou nebo bílou o určité průhlednosti. Když se potom přebarví pozadí, přebarví se tak i všechny průhledné barvy.
Absolutně posicovaný element s opacity
Druhá možnost, jak docílit průhledného pozadí bez průhledného textu, je si připravit samotný průhledný element a za text jej naposicovat a z-index
em přemístit za text (nutno dát pozor, aby se nedostal ještě níže než za požadovaný text – řešení je zvýšit z-index
pro obal).
Výsledek by měl být v podporovaných prohlížečích totožný; v nepodporovaných, tj. IE8, IE7 apod., by na rozdíl od předchozího příkladu tato ukázka měla fungovat.
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný obrázek
Další řešení výše uvedeného nebo jen řešení situace, kdy nestačí obyčejné jednobarevné pozadí, je vytvoření průhledného obrázku v grafickém editoru (příklad obrázku), který se nastaví jako pozadí (background
).
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Průhledný element
Komentáře