@schors
schors
26 May 2014

человек не совсем понимает селекторы в css. в том числе и записи в аттрибуте class (ну там например 2 через пробел". я не совсем понимаю что не понимает. мне нужно два три варианта разными словами простого, но полного описания как чего с селекторами и их наследованием

26 May 2014

записи в аттрибуте class (ну там например 2 через пробел

Это список значений, разделённых пробелами.

Что за селекторы ты там наследуешь? Наследуются свойства, но не все :) Зависит от самих свойств, надо читать в спецификации. Чаще всего наследуются. Каким образом? Считается вес правила. Если коротко, то так:

  • считается количество #id в правиле, у кого больше, тот и главнее;
  • если #id одинаково, то считаются .классы;
  • если и их одинаково, то элементы (div, например);
  • если и тут одинаково, то по порядку в CSS.

!important в конце значения свойства перебивает этот алгоритм кроме случаев, когда в другом тоже !important.

Сами селекторы бывают вида:

  • A B — B, которых находится среди потомков A.
  • A > B — B, который является непосредственным потомком A (т.е. на 1ом уровне вложенности).
  • A + B — B, следующий за A (только в пределах своего родителя).
  • A ~ B — как предыдущее, только между ними могут быть другие элементы.
  • A[b] — элементы A имеющие атрибут b.
  • A[b="c"] — элементы A, имеющие атрибут b со значением c.
  • A[b~="c"] — элементы A, имеющие атрибут b значением которого является список разделённых пробелами значений, один из которых равен c.
  • A[b^="c"] — элементы A, имеющие атрибут b значение которого начинается с c.
  • A[b$="c"] — элементы A, имеющие атрибут b значение которого заканчивается c.
  • A[b*="c"] — элементы A, имеющие атрибут b значение которого содержит подстроку c.
  • A[b|="c"] — элементы A, имеющие атрибут b значением которого является список разделённых «-» значений, начинающихся с c.
  • A — элемент, значение атрибута id которого равно A.

  • .a — элемент, имеющие атрибут class значением которого является список разделённых пробелами значений, один из которых равен a. Краткая версия A[b~="c"] для атрибута class.

И многие другие…

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.