У меня на странице есть следующий HTML-код:
<h4>Some text</h4>
<p>
Some more text!
</p>
В моем .css
я получил следующий селектор для стилизации h4
элемента. Приведенный выше HTML-код - это лишь небольшая часть всего кода; есть еще несколько div
элементов, относящихся к теневому ящику:
#sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4
{
color : #614E43;
margin-top : 5px;
margin-left : 6px;
}
Итак, у меня есть правильный стиль для моего h4
элемента, но я также хочу стилизовать p
тег в моем HTML.
Возможно ли это с помощью CSS-селекторов? И если да, то как я могу это сделать?
html
css
css-selectors
Роб
источник
источник
h4
элементов, перехода к следующему родственнику и добавления к нему класса CSS. С jQuery это было бы просто$('#sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4').next().addClass('shadowbox-h4-p');
Для вашего буквального примера вы захотите использовать соседний селектор (+).
Однако, если вы хотите выбрать все последовательные абзацы, вам нужно будет использовать общий селектор сестринского текста (~).
К сожалению, в IE 7+ есть ошибки .
источник
Просто нажмите на это, когда пытаетесь решить эту проблему самостоятельно.
Я сделал селектор, который имеет дело с элементом после того, как он был чем-то другим, кроме p.
Надеюсь, это поможет любому, кто его найдет :)
источник
*
соответствует любому элементу, как описано в заголовке. Было для меня полезным напоминанием.Простофинг для новичков:
Если вы хотите выбрать элемент сразу после другого элемента, вы используете
+
селектор.Например:
div + p
Элемент "+" выбирает все<p>
элементы, которые помещаются сразу после<div>
элементов.Если вы хотите узнать больше о селекторах, используйте эту таблицу
источник
Я использую последнюю версию CSS, и "+" у меня не работает, поэтому я получаю
:Первый ребенок
источник