Typy css selektorů. Zobecněné sousední voliče

Pro začátek řeknu, že selektor se používá k jedinečné identifikaci prvku v html dokumentu, na který chceme použít konkrétní styl CSS.

Selektor prvku

Až do tohoto okamžiku jsme pracovali s tímto selektorem. Jako selektor byl použit název html elementu, na který jsme chtěli tento styl aplikovat. Tito. Po napsání třídy například pro odstavec (P) získaly všechny odstavce na stránce styl této třídy.

P{
velikost písma: 12px
}

Nyní si představte situaci, kdy potřebujete udělat první odstavec v jednom stylu, druhý v jiném, třetí ve třetím atd. Tady nám to přijde na pomoc selektor podle třídy.

Selektor podle třídy

Podívejme se, jak vytvořit generickou třídu v CSS. A je to velmi jednoduché: nejprve dáme tečku, pak hned, bez mezery, napíšeme název třídy a poté styl do složených závorek. No, například:

.zelená {
rodina písem: arial, verdana, sans-serif;
velikost písma: 12px; barva:zelená;
}

Jak tento styl aplikovat?

Řekněme, že chceme tento styl použít na konkrétní odstavec v dokumentu. Takto to bude vypadat v html:

class="zelená" > ... text odstavce...

Jak vidíte, atribut se používá třída s významem názvu stylu. To je jasné? Zde je další příklad pro vás:

Toto je normální odstavec, používá selektor prvků


Class ="green "> Tento odstavec je zelený, protože na něj byla použita třída


Class="big_red" > A tento odstavec je větší a červený


Tento odstavec je opět normální, podle třídy selektoru prvků

p {
font-family:arial,verdana,sans-serif;
font-size:18px;
}
.zelená(barva:zelená ;)
.velká červená{
font-size:28px;
červená barva;
}

Nejprve určíme základní styl pro všechny odstavce (selektor podle prvku) a poté, pokud chceme v některém odstavci něco změnit, vytvoříme pro něj speciální styl (selektor podle třídy) a přiřadíme jej k tomuto odstavci. Když vytvoříme tuto velmi speciální třídu, musíme tam napsat pouze ty vlastnosti, které chceme přidat nebo změnit ve vztahu k základnímu stylu pro tento prvek.

Třídy z příkladu výše se dají aplikovat nejen na odstavec, ale například i na nadpisy, nebo třeba na buňku tabulky nebo na celou tabulku, lze je zkrátka aplikovat všude tam, kde mohou něco ovlivnit (v tomto případě všude tam, kde je možnost barvy a textu).

Třídu můžete přimět, aby působila pouze na konkrétní prvek (například odstavec), a to zadáním názvu prvku před tečku:

P.zelená(barva:zelená ;)

Nyní zelená třída nebude působit na nic jiného než na prvek P.

Horní

Selektor podle ID

Tento selektor se používá, pokud potřebujete vybrat jeden jediný prvek, který je jedinečný a odlišný od všech ostatních v dokumentu. Například zvýrazněme první nadpis na stránce určitým způsobem:

html část:

<Н1 id="firstheader" > První nadpis na stránce

css-část:

H1#firstheader { červená barva; váha písma: tučné; zarovnání textu: na střed }

Jak vidíte, v html části je místo atributu class použit atribut id a v css místo tečky znak #.

V zásadě totéž lze provést pomocí selektoru třídy, podle toho, kdo se vám líbí :)

Horní

Kontextový volič

To je velmi užitečná věc. Řekněme, že máme stránku s tabulkami a odstavci textu a jak v tabulce, tak v odstavcích jsou slova tučně. A tak jsme se najednou potřebovali ujistit, že slova v odstavci, která jsou zvýrazněna tučně, zezelenají. Tak tady to je.

Selektor v CSS − toto je ukazatel na prvek nebo skupinu prvků, na které budou aplikována pravidla stylu. Existují následující typy selektorů:

1. Selektory podle značek: h1

2. Selektor podle ID: #hlavní

3. Selektory podle tříd: .skrytý

4. Vícetřídní volič

Jsou psány společně bez mezer. Selektor splňující několik podmínek současně (logické „AND“). Styly budou aplikovány na všechny prvky, které mají zároveň class.hidden i class.closed.

Skryté.zavřeno

5. Kontextové selektory

Odděleno mezerou. Tyto selektory se používají k aplikaci stylů na prvek, pouze pokud je vnořené na požadovaný prvek.

P silný ul .zvolená .hlavička .menu a

6. Sousední voliče

Vybere další prvek. Zapisují se pomocí znaménka +. Zní jako: aplikujte vlastnosti na selector2, což by mělo být hned po volič1.

Styly se aplikují na prvek, který odpovídá selektoru2, pouze pokud mu předchází prvek, který odpovídá selektoru1.

  • ....zelená + .selected()

    V příkladu .green + .selected použije styly na druhý prvek, protože před ním je prvek s třídou .zelená . Volič .green + li také použije styly na druhý prvek, ale selektor .selected + .green nebude fungovat.

    7. Související selektory

    Vybere následující prvky. Podobné jako předchozí, ale s tím rozdílem jsou vybrány všechny následující prvky, nejen první prvek.

    • položka

    Také vybrané

    Nevybráno...ul~p()

    V tomto příkladu budou vybrány všechny p prvky následující po ul. Zatímco při použití voliče ul + p bude vybrán pouze první prvek.

    8. Dětské voliče

    Zapisují se pomocí znaménka > a vztahují se pouze na prvky první úrovně vnoření. Prvky vnořené do jiných prvků nejsou ovlivněny.

    Ul > li ( }

    V případě kontextových selektorů ovlivňují všechny potomky (například pokud nastavíte ul li), což není vždy vhodné. Podřízené selektory umožňují nastavit styly pouze pro prvky první úrovně vnoření.

    ul > li znamená totéž jako ul li , ale jsou vybrány pouze li první úrovně vnoření, které jsou přímo vnořeny do ul. Pro li vnořené do jiných podřízených li prvků již pravidla nebudou platit.

    9. Selektory atributů

    Nejčastěji se používá při práci s formuláři. Selektory atributů se zapisují pomocí hranatých závorek element[attribute] .

    Příklady selektorů atributů:

    Vstupní vstup div a a a a

    Ve výše uvedeném příkladu vám ~ umožňuje vybrat konkrétní atribut ze seznamu atributů oddělených čárkami, například:

    10. Globální volič

    Volič * vybere Všechno Prvky. Lze jej také použít ke zvýraznění podřízených prvků:

    * ( okraj: 0; odsazení: 0; ).obsah * ( obrys: žádný; )

    11. Pseudotřídy

    Příklady pseudotříd:

    A:link a:visited a:active a:hover input:checked .clearfix:after () div:not(#container) p::first-line p::first-letter

    Negační pseudotřída:not může být velmi užitečná. Například, když potřebujete vybrat všechny divy kromě toho s kontejnerem id.

    Tento materiál je věnován základům stylingu na internetovém zdroji pomocí selektorů.

    Selektory v CSS se používají k definování konkrétního
    prvek na html stránce, o který je třeba požádat
    nebo změnit styl CSS.

    Typy selektorů v CSS

    Selektor prvku

    Pro poskytnutí potřebného CSS stylu je v tomto případě název prvku html napsán jako selektor. Stačí například zadat požadovaný styl pro nadpis H1, poté získají tyto nadpisy námi požadovanou podobu. Takto bude kód vypadat:

    H1 (
    velikost písma: 11pt;
    }

    Často jsou chvíle, kdy potřebujete vytvořit nadpisy v různých stylech. Zde tento problém pomůže vyřešit selektor třídy.

    Selektor podle třídy

    Selektor třídy je v CSS univerzální. Můžete to napsat takto: před název třídy napíšeme tečku a teprve potom ve složených závorkách označíme styl, který potřebujeme:

    .Červené (
    font-family: tahoma, sans-serif;
    červená barva;
    velikost písma: 11pt;
    }

    Příklad použití selektoru třídy. Aplikujme tento styl na hlavičku H1 na stránce html:

    Název stránky

    Z výše uvedeného příkladu můžete vidět, že atribut "class" je použit se zadaným názvem stylu CSS " Červené".
    Další příklad. V html části píšeme:

    Toto záhlaví je modré, protože je na něj aplikována odpovídající třída


    id".

    V html dokumentu to bude vypadat takto:

    Nastavíme styl tohoto odstavce

    V dokumentu CSS:

    p#newstyle ( barva: modrá; velikost písma: 12px;)

    V důsledku toho bude pro tento odstavec použito modré písmo o velikosti 12px.

    Kontextový volič

    Neméně nezbytnou součástí je kontextový selektor.
    Například na webových stránkách byla potřeba nadpisy „H1“ přiložené ke značce tučně zvýraznit červeně:

    H1 tučné ( barva:červená ;)

    Jak vidíte, nejprve se píše nadpis H1, přidává se mezera, značka tučně a pak v závorkách styl, který jsme zadali. To lze vyjádřit slovy takto: „Pokud je v záhlaví H1 tučný štítek, text by měl být červený.“

    Tímto způsobem můžete také nastavit styly pro položky v seznamech s odrážkami, tabulkách a dokonce i jejich buňkách s různými úrovněmi vnoření.

    Další strana -

    Jazyk pro popis vzhledu dokumentu, CSS, se neustále vyvíjí. Postupem času se zvyšuje nejen jeho síla a funkčnost, ale také flexibilita a snadné použití.

    Začněme to zjišťovat. Otevřete libovolnou učebnici CSS alespoň jedna část bude věnována typům selektorů. To není překvapivé, protože jsou jedním z nejpohodlnějších způsobů správy obsahu stránky. S jejich pomocí můžete komunikovat s absolutně libovolnými prvky HTML. V současné době existuje 7 typů selektorů:

    • pro značky;
    • pro třídy;
    • pro ID;
    • univerzální;
    • atributy;
    • komunikovat s pseudotřídami;
    • spravovat pseudoprvky.

    Syntaxe je jednoduchá. Chcete-li se naučit, jak je používat, stačí si o nich přečíst. Kterou možnost je ve vašem případě pro kontrolu obsahu lepší zvolit? Zkusme na to přijít.

    Selektor značek

    Toto je nejjednodušší možnost, která nevyžaduje speciální znalosti pro záznam. Chcete-li spravovat značky, musíte použít jejich název. Předpokládejme, že záhlaví vašeho webu je zabaleno do značky

    . Chcete-li jej ovládat v CSS, musíte použít selektor header().

    Výhody: jednoduchost použití, všestrannost.

    Nevýhody - úplný nedostatek flexibility. Ve výše uvedeném příkladu budou všechny značky záhlaví vybrány najednou. Ale co když potřebujete spravovat pouze jeden?

    Selektory tříd

    Nejběžnější možnost. Navrženo pro správu značek s atributem třídy. Řekněme, že máte v kódu tři bloky

    , z nichž každý musí mít určitou barvu. Jak to udělat? Standardní selektory CSS podle značek nebudou fungovat; určují parametry pro všechny bloky najednou. Řešení je jednoduché. Přiřaďte prvkům třídu. Například první div obdržel class=’red’, druhý - class=’blue’, třetí - class=’green’. Nyní je lze vybrat pomocí CSS tabulek.

    Syntaxe je následující: označujeme tečku (.“), za kterou zapíšeme název třídy. K ovládání prvního bloku používáme konstrukci .red. Druhá je .blue a tak dále.

    Důležité! Pro atribut class se doporučuje použít jasné hodnoty. Za špatnou formu se považuje použití transliterace (například krasiviy-blok) nebo náhodných kombinací písmen/číslic (ojfh834871). V takovém kódu se určitě zmate, nemluvě o obtížích, kterým budou muset čelit ti, kteří budou na projektu pracovat po vás. Nejlepší možností je použít nějakou metodologii, jako je BEM.

    Výhody: poměrně vysoká flexibilita.

    Nevýhody - několik prvků může mít stejnou třídu, což znamená, že budou upravovány současně. Problém je řešen pomocí metodologie a také děděním preprocesorů. Ujistěte se, že ovládáte méně, sass nebo nějaký jiný preprocesor, výrazně vám zjednoduší práci.

    Selektor podle ID

    Názory návrhářů rozvržení a programátorů ohledně této možnosti jsou nejednoznačné. Nějaké učebniceCSSnedoporučuje se používat vůbecID,protože při neopatrném použití mohou způsobit problémy s dědičností. Mnoho odborníků je však aktivně umisťuje do celého značení. Vy rozhodnete. Syntaxe je: symbol hash ("# "), pak název bloku. Například,#Červené.

    IDse liší od třídy v několika ohledech. Za prvé, na stránce nemohou být dvě stejné.ID.Jsou jim přiřazena jedinečná jména. Za druhé, takový volič má vyšší prioritu. To znamená, že pokud dáte bloku tříduČervenéa uveďte v tabulkáchCSSčervená a pak mu ji přiřaditid modréa zadejte modrou barvu, blok zmodrá.

    Výhody – můžete ovládat konkrétní prvek, aniž byste věnovali pozornost stylům značek a tříd.

    Nevýhody - snadno se splést ve velkém počtuIDAtřída.

    Důležité! Pokud používáte metodiku BEM (nebo její analogy),IDObecně to nepotřebujete. Tato technika rozložení zahrnuje použití jedinečných tříd, což je mnohem pohodlnější.

    Univerzální volič

    Syntaxe: hvězdička („*“) a složené závorky, tj. *{}.

    Používá se k přiřazení určitých atributů všem prvkům stránky najednou. Kdy se to může hodit? Například pokud chcete nastavit vlastnost stránkybox-sizing: border-box.Lze jej použít nejen k ovládání všech komponent dokumentu, ale také k ovládání všech podřízených prvků konkrétního bloku, např.div *().

    Výhody - můžete spravovat velké množství prvků současně.

    Nevýhody - není dostatečně flexibilní. Kromě toho může použití tohoto selektoru v některých případech zpomalit stránku.

    Podle atributů

    Umožňuje spravovat prvek s určitým atributem. Například máte několik vstupních značek s různým atributem typu. Jeden z nich je text, druhý je heslo, třetí je číslo. Samozřejmě můžete každému přiřadit třídy nebo ID, ale to není vždy vhodné. Selektory atributů CSS umožňují specifikovat hodnoty pro konkrétní značky s maximální přesností. Například takto:

    vstup()

    Tento selektor atributu vybere všechny vstupy s textem typu.

    Nástroj je poměrně flexibilní, lze jej použít s libovolnými značkami, které mohou mít atributy. Ale to není všechno! Specifikace CSS umožňuje manipulovat s prvky ještě pohodlněji!

    Představme si, že vaše stránka má vstup s atributem zástupný symbol = „Zadejte jméno“ a zástupný znak vstupu = „Zadejte heslo“. Lze je také vybrat pomocí voliče! K tomu slouží následující konstrukce:

    input() nebo input

    Je možná flexibilnější práce s atributy. Řekněme, že máte několik značek s podobnými atributy názvu (řekněme „Kaspické“ a „Kaspické“). Chcete-li vybrat oba, použijte následující selektory:

    CSS vybere všechny prvky, jejichž název obsahuje znaky „Kaspiysk“, tj. „Kaspiyskiy“ i „Kaspiyskaya“.

    Můžete také vybrat značky, jejichž atributy začínají určitými znaky:

    nebo s nimi skončit:

    {}.

    Výhody - maximální flexibilita. Můžete vybrat jakékoli existující prvky stránky, aniž byste si museli pohrávat s třídami.

    Nevýhody - používá se poměrně zřídka, pouze ve specifických případech. Mnoho návrhářů rozvržení dává přednost metodologiím, protože určení třídy může být snazší než uspořádání četných a rovnátek. Tyto selektory navíc nefungují v aplikaci Internet Explorer 7 a nižší. Kdo však nyní potřebuje starý Internet Explorer?

    Selektory pseudotříd

    Pseudotřída označuje stav prvku. Například :hover je to, co se stane s částí stránky, když je kurzor umístěn, :visited je navštívený odkaz. Patří sem také prvky jako:first-child a:last-child.

    Tento typ selektoru se aktivně používá v moderním uspořádání, protože díky němu můžete stránku „oživit“ bez použití JavaScriptu. Chcete se například ujistit, že když najedete na tlačítko s třídou btn, změní se jeho barva. K tomu používáme následující konstrukci:

    Btn:hover (

    Barva pozadí: červená;

    Pro krásu můžete v hlavních vlastnostech tohoto tlačítka určit vlastnost přechodu, například na 0,5s – v tomto případě tlačítko nezčervená okamžitě, ale na půl vteřiny.

    Výhody - aktivně se používají k „oživení“ stránek. Snadné použití.

    Nevýhody - nejsou žádné. Toto je opravdu pohodlný nástroj. Nezkušení návrháři rozvržení však mohou být zmateni množstvím pseudotříd. Problém je řešen studiem a praxí.

    Pseudovoliče prvků

    "Pseudo prvky" jsou ty části stránky, které nejsou přítomny v HTML, ale přesto s nimi lze manipulovat. Nerozumíte ničemu? Všechno je jednodušší, než se zdá. Například chcete, aby první písmeno v řádku bylo velké a červené, ale zbytek textu ponechat malý a černý. Samozřejmě můžete toto písmeno vložit do rozsahu s konkrétní třídou, ale to je dlouhé a nudné. Je mnohem jednodušší vybrat celý odstavec a použít pseudoprvek::první-písmeno. Umožňuje vám ovládat vzhled prvního písmene.

    Pseudoprvků je poměrně velké množství. Je nepravděpodobné, že je bude možné uvést v jednom článku. Relevantní informace můžete najít ve svém oblíbeném vyhledávači.

    Výhody - umožňují flexibilně přizpůsobit vzhled stránky.

    Nevýhody – začátečníci se v nich často pletou. Mnoho selektorů tohoto typu funguje pouze v určitých prohlížečích.

    Shrnout

    Selektor je výkonný prostředek pro řízení toku dokumentu. Díky němu můžete vybrat naprosto každou komponentu stránky (i ty, které existují pouze podmíněně). Určitě se naučte všechny své možnosti nebo si je alespoň zapište. To je zvláště důležité, pokud vytváříte složité stránky s moderním designem a množstvím interaktivních prvků.

    Poslední aktualizace: 21.04.2016

    Definování stylu začíná selektorem. Například:

    Div( šířka:50px; /* šířka */ výška:50px; /* výška */ barva pozadí:červená; /* barva pozadí */ okraj: 10px; /* odsazení od ostatních prvků */ )

    V tomto případě je selektor div . Řada selektorů zdědí název formátovaných prvků, například div, p, h2 atd. Když je takový selektor definován, jeho styl bude aplikován na všechny prvky odpovídající tomuto selektoru. To znamená, že výše definovaný styl bude aplikován na všechny prvky

    na webové stránce:

    CSS selektory

    CSS selektory



    Na stránce jsou 3 divy a všechny budou mít styl:

    Třídy

    Někdy stejné prvky vyžadují jiný styl. A v tomto případě můžeme použít třídy.

    Chcete-li definovat selektor třídy v CSS, před název třídy se umístí tečka:

    RedBlock (barva pozadí: červená; )

    Název třídy může být libovolný. Například v tomto případě je název třídy "redBlock". V názvu třídy je však povoleno používat písmena, čísla, pomlčky a podtržítka a název třídy musí začínat písmenem.

    Za zvážení stojí také případ jmen: názvy „článek“ a „ČLÁNEK“ budou představovat různé třídy.

    Jakmile je třída definována, můžeme ji použít na prvek pomocí atributu class. Například:

    Pojďme definovat a používat několik tříd:

    CSS třídy

    CSS třídy



    Identifikátory

    K identifikaci prvků jedinečných na webové stránce se používají identifikátory, které jsou definovány pomocí atributů id. Stránka může mít například hlavičku nebo hlavičku:

    Definování stylů pro identifikátory je podobné definování tříd, pouze se místo tečky používá symbol hash #:

    CSS ID

    Hlavní obsah


    Je však třeba poznamenat, že identifikátory mají více společného se strukturou webové stránky a méně se stylizací. Pro styling se používají spíše třídy než identifikátory.

    Univerzální volič

    Kromě selektorů značek, tříd a identifikátorů má css také tzv univerzální volič, což představuje hvězdičku (*). Aplikuje styly na všechny prvky na stránce html:

    *( barva pozadí: červená; )

    Stylování skupiny selektorů

    Někdy jsou určité styly aplikovány na řadu selektorů. Chceme například použít podtržení na všechny nadpisy. V tomto případě můžeme vypsat selektory všech prvků oddělené čárkami:

    CSS selektory

    CSS3

    Selektory

    Skupina voličů

    Nějaký text...



    Skupina selektorů může obsahovat jak selektory značek, tak selektory tříd a identifikátorů, například:

    H1, #header, .redBlock( barva: červená; )