Vytváření lineárních přechodů pro prohlížeče pomocí CSS3
Lineární přechody
Nejběžnější typ gradientu, který uvidíte, je lineární gradient dvou barev. To znamená, že se gradient bude pohybovat v přímce, která se postupně mění od první barvy na druhou podél této čáry. Obrázek na této stránce zobrazuje jednoduchý přechod od # 999 (tmavě šedý) do #fff (bílý) zleva doprava.
Lineární přechody jsou nejjednodušší definovat a mají nejvyšší podporu v prohlížečích. Lineární gradienty CSS3 jsou podporovány v systémech Android 2.3+, Chrome 1+, Firefox 3.6+, Opera 11.1+ a Safari 4+. Internet Explorer může přidat gradienty pomocí a filtr
a podporuje je zpět do IE 5.5. Není to CSS3, ale je to kompatibilita mezi prohlížeči.
Když definujete přechod, musíte definovat několik různých věcí:
- Jaký typ přechodu je -
lineární
neboradiální
- Kde by měl začít gradient
- Tam, kde by se měl přechod zastavit
- Jaké barvy jsou ve sklonu a kde by měly začít a zastavovat
Chcete-li definovat lineární gradienty pomocí CSS3, napište:
lineární gradient (úhel nebo strana nebo roh, zastavení barev, zastavení barev)
- Nejprve definujete typ přechodu s názvem
lineární -spád
. - Poté definujete počáteční a zastavovací body přechodu jedním ze dvou způsobů:
úhel
čáry ve stupních od 0 do 359, přičemž 0 stupňů směřuje rovně nahoru. Nebo s funkcí "boční nebo rohová", napříkladvlevo, odjet
,že jo
,dno
, ahorní
. Tyto informace budou podrobněji vysvětleny na další stránce. Pokud je ponecháte, gradient bude proudit od horní části ke spodní části prvku. - Pak definujete zastávky barev. Definujete barvy zastávky s barevným kódem a volitelným procentem. Procento udává prohlížeč, kde na řádku začíná nebo končí tato barva. Výchozí nastavení je umístit barvy rovnoměrně podél čáry. Bližší informace o zastavení barev najdete na straně 3.
Chcete-li definovat výše uvedený gradient pomocí CSS3, píšete:
lineární gradient (vlevo, # 999999 0%, #ffffff 100%);
A nastavit jako pozadí a DIV
píšete:
div {obrázek na pozadí: lineární gradient (vlevo, # 999999 0%, #ffffff 100%;}
Rozšíření prohlížeče pro lineární přechody CSS3
Chcete-li, aby váš gradient fungoval jako cross-browser, je třeba pro většinu prohlížečů a filtr
pro aplikaci Internet Explorer 9 a nižší (ve skutečnosti 2 filtry). Všechny tyto obsahují stejné prvky pro definování gradientu (s výjimkou, že v IE lze definovat pouze 2barevné přechody).
Filtry a rozšíření společnosti Microsoft-Internet Explorer je nejnáročnější podporovat, protože potřebujete tři různé linky pro podporu různých verzí prohlížeče. Chcete-li získat výše uvedený šedý až bílý gradient, napište:
/ * IE 5.5-7 * /filtr: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 999999', endColorstr = '# ffffff', GradientType = 1);/ * IE 8-9 * /-ms-filtr: "progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 999999', endColorstr = '# ffffff', GradientType = 1)";/ * IE 10 * /-ms-lineární gradient (vlevo, # 999999 0%, #ffffff 100%);
Mozilla Extension-The -moz-
rozšíření funguje jako vlastnost CSS3, pouze s -moz-
rozšíření. Chcete-li získat výše uvedený přechod pro Firefox, napište:
-moz-lineární gradient (vlevo, # 999999 0%, #ffffff 100%);
Operační rozšíření-The -Ó-
rozšíření přidává gradienty do Opery 11.1+. Chcete-li získat výše uvedený gradient, napište:
-o-lineární gradient (vlevo, # 999999 0%, #ffffff 100%);
Rozšíření Webkit-The -webkit-
rozšíření funguje hodně jako vlastnost CSS3. Chcete-li definovat výše uvedený přechod pro aplikaci Safari 5.1 nebo Chrome 10+, napište:
-webkit-linear-gradient (vlevo, # 999999 0%, #ffffff 100%);
K dispozici je také starší verze rozšíření Webkit, která funguje s Chrome 2+ a Safari 4+. V tom definujete typ přechodu jako hodnotu, nikoli název vlastnosti. Chcete-li dosáhnout šedého na bílý přechod s tímto rozšířením, napište:
-webkit-gradient (lineární, levý horní, pravý horní, barevný stop (0%, # 999999), barevný stop (100%, # ffffff));
Plný kód CSS3 Linear Gradient CSS
Chcete-li získat plnou podporu pro více prohlížečů, abyste získali šedý až bílý gradient, měli byste nejprve zahrnout záložní plnou barvu pro prohlížeče, které nepodporují přechody, a poslední položkou by měla být styl CSS3 pro prohlížeče, které jsou plně kompatibilní. Takže píšete:
pozadí: # 999999;pozadí: -moz-lineární gradient (vlevo, # 999999 0%, #ffffff 100%);pozadí: -webkit-gradient (lineární, levé horní, pravé horní, stopy barvy (0%, # 999999), barevný stop (100%, # ffffff));pozadí: -webkit-linear-gradient (vlevo, # 999999 0%, #ffffff 100%);pozadí: -o-lineární-gradient (vlevo, # 999999 0%, #ffffff 100%);pozadí: -ms-lineární gradient (vlevo, # 999999 0%, #ffffff 100%);filtr: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 999999', endColorstr = '# ffffff', GradientType = 1);-ms-filtr: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 999999', endColorstr = '# ffffff', GradientType = 1);pozadí: lineární gradient (vlevo, # 999999 0%, #ffffff 100%);
Další stránky v tomto výukovém programu podrobněji vysvětlují části gradientu a poslední stránka vás ukazuje na nástroj, který je vynikajícím způsobem, jak automaticky vytvářet gradienty CSS3.
Viz tento lineární gradient v akci pomocí CSS.
02 z 04Vytváření diagonálních přechodů - úhel přechodu
Startovací a zastavovací body určují úhel sklonu. Většina lineárních přechodů je shora dolů nebo zleva doprava. Je však možné vytvořit gradient, který se pohybuje na diagonální čáře. Obraz na této stránce zobrazuje jednoduchý přechod, který se pohybuje v úhlu 45 ° v celém obraze zprava doleva.
Úhel pro definování čáry přechodu
Úhel je čára na imaginárním kruhu ve středu prvku. 0deg
body nahoru, 90deg
ukazuje doprava, 180deg
body dolů a 270deg
ukazuje doleva. Můžete definovat libovolný úhel od 0 do 359 stupňů.
Měli byste si uvědomit, že na čtverečku se úhel 45 stupňů pohybuje z levého horního rohu dole vpravo, ale v obdélníku jsou počáteční a koncové body mírně mimo tvar, jak vidíte na obrázku.
Obecnějším způsobem, jak definovat diagonální přechod, je definovat roh, jako například vpravo nahoře
a gradient se přesune z tohoto rohu do druhého rohu. Počáteční pozici můžete definovat pomocí následujících klíčových slov:
- horní
- že jo
- dno
- vlevo, odjet
- centrum
A mohou být kombinovány tak, aby byly konkrétnější, například:
- vpravo nahoře
- vlevo nahoře
- uprostřed
- vpravo dole
- vlevo dole
- dole
- doprava
- vlevo uprostřed
Zde je CSS pro gradient podobný tomu, který byl na obrázku, z červeného na bílý se pohybující z pravého horního rohu dole vlevo:
pozadí: ## 901A1C;pozadí-obrázek: -moz-lineární gradient (vpravo nahoře, # 901A1C 0%, # FFFFFF 100%);pozadí-obrázek: -webkit-gradient (lineární, pravý horní, levý dolní, barevný stop (0, # 901A1C), barevný stop (1, #FFFFFF);pozadí: -webkit-lineární gradient (vpravo nahoře, # 901A1C 0%, #ffffff 100%);pozadí: -o-lineární-gradient (vpravo nahoře, # 901A1C 0%, #ffffff 100%);pozadí: -ms-lineární gradient (vpravo nahoře, # 901A1C 0%, #ffffff 100%);pozadí: lineární gradient (vpravo nahoře, # 901A1C 0%, #ffffff 100%);
Možná jste si všimli, že v tomto příkladu nejsou žádné filtry IE. Je to proto, že IE umožňuje pouze dva typy filtrů: shora dolů (výchozí) a zleva doprava (s GradientType = 1
přepínač).
Viz tento diagonální lineární gradient v akci pomocí pouze CSS.
03 ze dne 04Barva se zastaví
Pomocí lineárních gradientů CSS3 můžete do gradientu přidat více barev, abyste vytvořili ještě pestřejší efekty. Chcete-li přidat tyto barvy, přidáte další barvy na konci vaší vlastnosti, oddělené čárkami. Měli byste zahrnout, kde by měla barva začínat nebo skončit.
Filtry aplikace Internet Explorer podporují pouze dvě stopy barvy, takže při sestavování gradientu byste měli zahrnout pouze první a druhou barvu, kterou chcete zobrazit.
Zde je CSS pro výše uvedený tříbarevný gradient:
pozadí: #ffffff;pozadí: -moz-lineární gradient (vlevo, #ffffff 0%, # 901A1C 51%, #ffffff 100%);pozadí: -webkit-gradient (lineární, levý horní, pravý horní, barevný stop (0%, # ffffff), barva stop (51%, # 901A1C), barevný stop (100%, # ffffff);pozadí: -webkit-linear-gradient (vlevo, #ffffff 0%, # 901A1C 51%, # ffffff 100%);pozadí: -o-lineární-gradient (vlevo, #ffffff 0%, # 901A1C 51%, # ffffff 100%);pozadí: -ms-lineární gradient (vlevo, #ffffff 0%, # 901A1C 51%, # ffffff 100%);filtr: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# ffffff', endColorstr = '# ffffff', GradientType = 1);pozadí: lineární gradient (vlevo, #ffffff 0%, # 901A1C 51%, # ffffff 100%);
Podívejte se na tento lineární gradient s použitím tří barevných zastávek pomocí CSS.
04 ze dne 04Zvyšte přechody budov
Existují dvě stránky, které vám doporučuji, abyste vám pomohli vytvářet přechody, každý z nich má pro ně výhody a nevýhody, nenašel jsem gradient stavitele, který všechno dělá ještě.
Ultimate CSS Gradient GeneratorTento generátor gradientů je velmi populární, protože provádí podobně jako gradient stavitelé v programech, jako je Photoshop. Také se mi líbí, protože vám dává všechny rozšíření CSS, a to nejen Webkit a Mozilla. Problém s tímto generátorem spočívá v tom, že podporuje pouze horizontální a vertikální přechody. Pokud chcete dělat diagonální přechody, musíte jít na druhý generátor, který doporučuji. Generátor gradientu CSS3Tento generátor mi dal trochu déle na pochopení než ten první, ale podporuje změnu směru na úhlopříčku. Pokud znáte další generátor gradientu CSS, který se vám líbí lépe než tyto, dejte nám prosím vědět.