- CSS Селектори 1

CSS Селектори

Част 1

Какво са CSS селекторите?

Какво са CSS селекторите?

Шаблони, които определят над кои HTML елементи ще се приложи зададеният стил в декларациите.
Могат да бъдат съвсем прости, като '*' или 'p' или доста по-сложни като:
a[href^="https://"]:hover

Списък със всички дефинирани в стандарта (CSS1 – CSS3) селектори: css_selectors

В момента се разработва спецификацията
CSS Selectors Level 4

Селектори за елементи

Селектори за елементи

Element (type) selectors


            /* Всички параграфи в документа ще бъдат с червен шрифт */
            p {
                color: red;
            }
        

Действие: селектира всички HTML елементи от дадения тип.

Пример: "Цитати на известни личности"

Универсален селектор (Universal selector)


            * {
                marging: 0;
                padding: 0
            }
        

Действие: селектира всички HTML елементи в документа.

Не се препоръчва да се използва, тъй като забавя обработката на страницата.

Селектори за class и id

Селектори за class и id

HTML атрибути: class и id

class - можем да зададем един и същи клас на множество елементи в HTML. Така лесно можем да селектираме всички тях.
id - само един елемент в документа може да има дадено id. T.e. чрез id селектираме само един елемент.

            

Параграф 1

Параграф 2

Параграф 3

Параграф 4

Параграф 5

Стойности за class и id

Стойностите на атрибутите class и id са по избор на програмиста, но задължително започват с буква, след която може да има произволна съвкупност от букви, цифри, '_' и '-'.
Можем да зададем няколко класа за един елемент, като ги разделяме със спейс.

                
                

Параграф 3

В атрибута id не можем да имаме спейс!

Стойности за class и id: добри практики

Slef-learning Section

Naming Conventions @cssguidelin.es
BEM-like Naming @cssguidelin.es

Селектор за class

Записва се с точка (".") последвана от стойност на class.
Може да бъде специфициран допълнително, като пред него непосредствено се запише тип на елемент.

                /* Селектира всички HTML елементи, които са дефинирали class="blue" */
                .blue{
                    color: blue;
                }
                /* Селектира всички HTML елементи, от тип 'p', които са дефинирали class="red" */
                p.red{
                    color: red;
                }
            

Селектор за id

Записва се с диез (хаш таг) - "#", последван от стойност на атрибута id.

                /* Селектира елементът с id="main_title" */
                #main_title{
                    color: red;
                }
            
Тъй като с дадено id можем да обозначим само един единствен елемент от цялото HTML дърво, то е безсмислен записът с тип на елемент отпред.
Например: p#vip{...} няма смисъл и не се препоръчва да се използва.

Пример


        /* Селектира всички HTML елементи, които са дефинирали class="c1" */
        .c1{
            color: purple;
        }
        /* Селектира всички H1 елементи, които са дефинирали class="c1" */
        h1.c1{
            font-style: italic;
        }
        /* Селектор по id */
        #vip{
            color: #aa3333;
            font-size: 2em;
            text-shadow:
                2px 2px #a000a0,
                2px 2px #c000c0;
        }
        

            

Purple Section:

Заглавие

Параграф

Под заглавие

Параграф

Параграф с id="vip"

резултат

CSS Комбинатори

CSS Комбинатори (CSS Combinators)

Чрез комбинаторите съставяме селектори, които отчитат позицията (контекста) на елементите в HTML дървото.

Видове HTML възли

Родител (Parent)
Дете (Child)
Наследници (Descendants)
Братя (Siblings)

Селекторите, чрез които можем да избираме елементи според позицията им в HTML дървото се образуват чрез комбинатори:

Комбинаторите, са символи, чрез които се задава връзка между селектори и така чрез тях се образува съставен селектор.


            selector1<combinator>selector2
        
Комбинатор Селектор
'  ' (спейс) parentSelector   descendantsSelector
'>' parentSelector > childrenSelector
'~' previousSelector~generalSiblingSelector
'+' previousSelector+adjacentSiblingSelector

Видове HTML възли и съответстващи комбинатори - Диаграма

Task: Combinators

Стилизирайте елементите както е показано, без да променяте HTML и без да гледате решението ;)

See the Pen CSS Selectrors - Combinators (labs) by Iva Popova (@webdesigncourse) on CodePen.

Task: Combinators

Стилизирайте елементите както е показано, без да променяте HTML и без да гледате решението ;)

See the Pen Combinators Siblings - demo by Iva Popova (@webdesigncourse) on CodePen.

Task: Combinators

Стилизирайте елементите както е показано, без да променяте HTML и без да гледате решението ;)

See the Pen Task: ComplexCombinators by Iva Popova (@webdesigncourse) on CodePen.

Селектори за атрибути (Attribute Selectors)

Селектори за атрибути (Attribute Selectors)

Self-learning section

w3schools - CSS Attribute Selector

Дават възможност да се селектират елементи с произволни атрибути и стойности за тях.

Пример:

See the Pen attribute_selectors by Iva Popova (@webdesigncourse) on CodePen.

Задачи за упражнение

Задачи за упражнение

AphorismsList

These slides are based on

customised version of

Hakimel's reveal.js

framework

-->