From Wikipedia, the free encyclopedia
Kaskádové styly (v anglickém originále Cascading Style Sheets se zkratkou CSS) je v informatice jazyk pro popis způsobu zobrazení elementů na stránkách napsaných v jazycích HTML, XHTML nebo XML.
Přípona souboru | .css |
---|---|
Typ internetového média | text/css |
Uniform Type Identifier | public.css |
Tvůrce | Håkon Wium Lie, Bert Bos, World Wide Web Consortium |
První verze | 17. prosinec 1996 |
Typ formátu | kaskádové styly |
Standard(y) | https://www.w3.org/TR/2011/REC-CSS2-20110607/ |
Website | https://www.w3.org/Style/CSS/ |
Jazyk byl navržen standardizační organizací W3C, autorem prvotního návrhu byl Håkon Wium Lie. Byly vydány CSS1, CSS2 a CSS3. Dne 7. června 2011 byla dokončena revize CSS 2.1[1] Hlavním smyslem je umožnit návrhářům oddělit vzhled dokumentu od jeho struktury a obsahu. Původně to měl umožnit už jazyk HTML, ale v důsledku nedostatečných standardů a konkurenčního boje výrobců prohlížečů se vyvinul jinak. Starší verze HTML obsahují celou řadu elementů, které nepopisují obsah a strukturu dokumentu, ale i způsob jeho zobrazení. Z hlediska zpracování dokumentů a vyhledávání informací není takový vývoj žádoucí.
Definice kaskádových stylů sestává z několika pravidel. Každé pravidlo obsahuje selektor a blok deklarací. Každý blok deklarací pak obsahuje deklarace oddělené středníky ;
a každá deklarace sestává z identifikátoru vlastnosti, následuje dvojtečka :
a hodnota vlastnosti. Nepovinně ještě může následovat označení !important
, které zvýší sílu deklarace.[2][3]
Příklad pravidla:
body {
background-color: white;
color: black;
padding: 10px !important;
}
Celý blok nazveme pravidlo, „body
“ je selektor, část v závorkách je blok deklarací, řádek „background-color: white;
“ je deklarace samotná, „background-color
“ je identifikátor vlastnosti a „white
“ její hodnota. Celý kód pak nastavuje barvu pozadí stránky na bílou, barvu textu na černou a okraj na 10 pixelů.
CSS definuje mnoho různých selektorů, které obvykle můžeme kombinovat. Mezi základní patří:[4]
body
– Tyto deklarace budou platit pro všechny výskyty elementu body
.body p
– Tyto deklarace budou platit pro všechny elementy p
, které se nachází v elementu body
, v jakékoliv hloubce.body>div
– Tyto deklarace budou platit pro všechny elementy div
, které jsou potomky elementu body
. To znamená, že pokud bychom měli element div
, který se nachází v <body><blockquote><div>…
, tyto deklarace by pro něj neplatily, protože tento div
není přímým potomkem elementu body
..trida
– Tyto deklarace budou platit pro všechny elementy, které mají v HTML nastavenou třídu trida
. To se provádí pomocí HTML atributu class
.#id
– Tyto deklarace budou platit pro všechny elementy, které mají v HTML nastavený identifikátor id
. To se provádí pomocí HTML atributu id
.:link
, :visited
, :hover
a :active
– Tyto deklarace budou po řadě platit pro dosud nenavštívené odkazy, navštívené odkazy, část textu, na kterém stojí ukazatel myši, a aktivní odkaz.sel1, sel2, sel3
– Selektory můžeme seskupovat pomocí čárek. Následující deklarace pak budou platit pro všechny selektory.Existuje několik možných způsobů, jak aplikovat kaskádové styly v HTML dokumentu;[5] v praxi se nejčastěji používá odkaz na externí soubor.
style
. Takové styly se aplikují na celou stránku podle předepsaných selektorů. Příklad:<style type="text/css">
#hlavicka{
width: 200px;
height: 450px;
}
</style>
link
. Příklad:<head>
<link rel='stylesheet' href='styly.css' type='text/css'>
</head>
Link: <fancy.css>; rel=stylesheet
style
. Tato pravidla budou aplikována pouze na dotyčný element (tedy: chybí zde ona kaskádovost). Ukázka:<p style="color: red; text-decoration: underline">Tento odstavec bude červený a podtržený.</p>
style
a pravidla @import
přiklad:
<style>
@import:url("stylesheet.css")
</style>
První verze CSS zavedla syntax (používaný ve všech následujících verzích), způsob vybírání prvků přes selektory, několik pseudotříd, hodnoty a jejich jednotky.
Přizpůsobení vlastností hypertextových dokumentů umožnilo CSS 1 v následujících oblastech:
Hodnoty vlastností CSS verze 1 mohou mít následující jednotky:
line-height
); u desetinných hodnot se používá desetinná tečkaBarvy v CSS se uvažují pro svítivá zobrazovací zařízení, tedy v gamutu RGB. Jejich hodnoty mohou být zapsány:
Pro specifikaci URL se v CSS používá konstrukce url()
, kde se mezi závorky specifikuje adresa zdroje. Ta může být absolutní, např. url(http://www.example.com/images/logo.png)
, relativní vůči serveru, např. url(/images/logo.jpg)
nebo relativní vůči aktuálnímu adresáři, např. url(images/logo.jpg)
. Obsahuje-li URL čárky, mezery, uvozovky nebo konec kulaté závorky, tyto znaky se dají eskapovat pomocí zpětného lomítka.
Umožňují zadat řez a další atributy písma; u všech atributů jsou možné hodnoty initial (původní) a inherit (zděděné od obklopující značky)
font-style: normal, italic
(kurzíva), oblique (šikmá antikva)font-size: medium
; menší velikosti: xx-small, x-small, small
; větší velikosti: large, x-large, xx-large
, smaller, larger
, velikost v procentech 100%
je standardní velikostfont-weight:
tučnost: normal, bold, bolder, thicker
, lze zadat číslem: 100, 200 ... 900 (400=normal, 700=bold)font-variant: small-caps
(kapitálky), normalfont-decoration: underline
(podtržené), overline
(nadtržené), blink
(blikající), line-through
(přeškrtnuté), none
(standardní)Při specifikaci písma lze použít více názvů oddělených čárkou. Prohlížeč při zobrazování stránky tato písma postupně prochází a nenajde-li na počítači klienta první z nich, pokračuje ve hledání následující uvedenou hodnotou. Doporučuje se jako poslední písmo uvést obecný typ písma. Nenajde-li totiž prohlížeč ani jedno specifikované písmo, použije implicitní písmo pro daný typ. Hodnoty jsou tyto:
CSS verze 2 rozšířila možnosti stylování několika dalšími parametry, např.:
outline
– vnější ohraničenímax-height, max-width, min-height, min-width
– minimální a maximální šířka nebo výška elementucontent
– nastavitelný obsah elementucounter
– nástroj pro číslování kapitolquotes
– styl citacíclip
– ořezávánícursor
– kurzor nad elementemposition
– možnost pozicovat element v řádku, v bloku, absolutně, relativně, …position:absolute;
overflow
– zobrazení při přetékání obsahuvisibility
– viditelnost elementůz-index
– možnosti překrývánípage-break
, orphans
, widows
– typografická pravidla pro dělení stránektable-layout
, border-collapse
, border-spacing
, caption-side
, empty-cells
– nové možnosti pro zobrazení tabulekdirection
– směr psaní textuCSS 3 se mj. pojí s budoucím standardem HTML5, jež je má plně využívat. Přináší následující možnosti:
Používání kaskádových stylů ve srovnání se samotným HTML v praxi přináší výhody:
Hlavní nevýhodou CSS je ne vždy dostatečná podpora v majoritních prohlížečích. Prohlížeče obsahují v implementaci CSS chyby a je někdy nesnadné napsat kód tak, aby se ve všech (resp. v běžných) prohlížečích výsledek zobrazil stejně. Situace se poslední dobou značně zlepšuje, mj. opravami chyb v prohlížečích a nástupem nových verzí Internet Exploreru, který byl ve své šesté verzi zdrojem častých chyb v CSS.
Občas se používají podmíněné komentáře, které umožňují definovat na úrovni HTML kód, který bude viditelný pouze Internet Exploreru či naopak.[20][21] Příklad:
<!--[if IE]>
<style type="text/css">
#upozorneni {
color: blue;
}
</style>
<![endif]-->
Tento kód bude interpretován pouze Internet Explorerem, ostatní prohlížeče uvidí obyčejný HTML komentář a interní stylopis tak nebudou interpretovat.
barva=red;
a poté už jen psát proměnnou barva
, všude se musí uvádět přímo hodnota red
. Toto omezení odstraňují CSS preprocesory (např. SASS, LESS, Stylus).CSS frameworky jsou předpřipravené knihovny, které mají umožnit snadnější stylování webových stránek více vyhovující standardům pomocí jazyka Cascading Style Sheets. Rámce CSS zahrnují Blueprint, Bootstrap, Foundation a Materialize. Stejně jako knihovny programovacích a skriptovacích jazyků jsou frameworky CSS obvykle začleněny jako externí listy .css, na které se odkazuje v HTML <head>. Poskytují řadu předpřipravených možností pro návrh a uspořádání webové stránky. Přestože bylo publikováno mnoho z těchto frameworků, někteří autoři je používají většinou pro rychlé prototypování nebo pro učení se z, a dávají přednost „ručnímu“ CSS, které je vhodné pro každý publikovaný web, aniž by bylo nutné navrhovat, udržovat a stahovat režii s mnoha nevyužitými funkcemi. ve stylu webu.[22]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.