Moderní tvorba webových aplikací

O webu

Černobílý styl obrázku

Jak v CSS zajistit černobílý styl běžného obrázku. Napříč prohlížeči stále panují rozdíly.

5 minut

Internet Explorer 6–9

V Explorerech lze od pradávna využít vlastnost filter:

element {filter: gray}

Google Chrome

V Chrome funguje nová prefixovaná vlastnost filter.

-webkit-filter: grayscale(100%)

Firefox

Ve Firefoxu pro změnu funguje zadání filtru jako SVG:

element {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale")
}

Funkční v IE 6-9, Firefox, Chrome

Internet Explorer 10 a Opera

Paradoxní situace nastává u IE 10, kde už staré dobré filtry nefungují. A nové filtry ještě nefungují (ani s prefixem -ms-). Jedno řešení je shodit Explorer do režimu 9 (gray filtr je jeden z mála, spolu s průhledností, co takto funguje), druhé použít na stránce <svg>.

V Opeře pochopitelně zbývá jen druhá možnost. Taktéž řešení pomocí SVG bude funkční i v Chromu a Firefoxu (ne ale v IE 9 a starších).

Řešení pomocí <svg> v HTML

  1. Vytvoří se <svg> kontejner,
  2. vytvoří se nějaké ty filtry (lze použít generátor),
  3. vloží se obrázek jako <image>, na který se použije výše vytvořený filter.

Ukázka

Pseudo černobílost

Lehce podobný efekt lze vytvořit překrytím obrázku průhledným elementem s černým pozadím.

Hudba budoucnosti

V budoucnu by ideálně mělo v prohlížečích fungovat prosté filter: grayscale(100%), jak nyní (byť s prefixem) funguje v Chrome. Případně alespoň s prefixem pro daný prohlížeč.

Zdroje a odkazy

Související články

Má smysl měnit kursor tlačítek?

Tlačítka mají na webu po najetí jiný kursor než odkazy.

4 minuty

Stylování <input type=number>

Jak stylovat <input> pro zadávání čísel.

7 minut

Znázornění možnosti scrollování

Jak dát uživateli informaci, že je možné někam scrollovat.

10 minut

Plynulé scrollování na obsah

Jak vytvořit plynulé odrolování na určitou část stránky.

6 minut

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025