Page 51 - 6108
P. 51

Комбінація селекторів
                      Щоб  домогтися  більш  чіткого  вибору  елементів  для  форматування,
               можна не обмежуватися завданням одного типу селектора, а використовувати
               комбінації селекторів, наприклад:
                      a  [href]  [title]  –  вибере  всі  посилання,  для  яких  задані  атрибути
               href і title;
                      img  [alt  *  =  css]:  nth-of-type  (even)  –  вибере  всі  парні
               картинки, альтернативний текст яких містить слово css.
                      Груповання селекторів
                      Можна  застосувати  один  і  той  же  стиль  до  кількох  елементів,  причому
               обмежень за кількістю доданих елементів немає. Для цього необхідно  в лівій
               частині оголошення помістити через кому потрібні селектори, наприклад:

                      h1, h2, h3, h4 {color: tomato; background: white;}

                      Принцип каскадування і специфічність правила
                      Каскадування представляє процес застосування різних правил до одного і
               того  ж  елементу.  Більш  спеціалізовані  правила  мають  пріоритет  над  більш
               загальними.  Якщо  у  відношення  одного  і  того  ж  елемента  визначено  кілька
               стилів, то в результаті до нього буде застосований останній з них.
                      Для кожного правила браузер обчислює специфічність селектора, і якщо
               у  елемента  є  конфліктуючі  оголошення  властивостей,  до  уваги  береться
               правило, що має найбільшу специфічність.
                      Значення  специфічності  складається  з  чотирьох  частин:  0,  0,  0,  0.
               Специфічність селектора визначається наступним чином:
                      –  для id додається 0, 1, 0, 0;
                      –  для class додається 0, 0, 1, 0;
                      –  для кожного елементу і псевдоелемента додається 0, 0, 0, 1;
                      –  для вбудованого стилю, доданого безпосередньо до елементу – 1, 0, 0,
               0;
                      –  універсальний селектор не має специфічності.
                      Приклади CSS правил

                      h1 {color: lightblue;} / * специфічність 0, 0, 0, 1 * /
                      em {color: silver;} / * специфічність 0, 0, 0, 1 * /
                      h1 em {color: gold;} / * специфічність: 0, 0, 0, 1 + 0,
               0, 0, 1 = 0, 0, 0, 2 * /
                      div #main p.about {color: blue;} / * специфічність: 0, 0,
               0, 1 + 0, 1, 0, 0 + 0, 0, 0, 1 + 0, 0, 1, 0 = 0, 1, 1, 2 * /
                      .sidebar {color: grey;} / * специфічність 0, 0, 1, 0 * /
                      #sidebar {color: orange;} / * специфічність 0, 1, 0, 0 *
               /
                      li # sidebar {color: aqua;} / * специфічність: 0, 0, 0, 1
               + 0, 1, 0, 0 = 0, 1, 0, 1 * /

                      В  результаті  до  елементу  застосуються  ті  правила,  специфічність  яких
               більше,  наприклад,  якщо  на  елемент  діють  два  правила  зі  значеннями
               специфічності 0, 0, 0, 2 і 0, 1, 0, 1, то виграє друге правило.
                      Вагу  правила  також  можна  задати  за  допомогою  ключового  слова
               !important;, яке додається після значення властивості, наприклад,
   46   47   48   49   50   51   52   53   54   55   56