Ответ 1
Вы не можете использовать css.
Изменить: Чтобы быть более полезным, если вы используете, например, jQuery (библиотеку JavaScript), вы можете использовать .prev()
.
Здесь выбираются теги <B>
, которым предшествуют теги <A>
:
A+B {
/* styling */
}
Что такое селектор для всех тегов <A>
, за которыми следуют теги <B>
?
Вот пример HTML, подгоняющий мой вопрос:
<a>some text</a>
<b>some text</b>
Вы не можете использовать css.
Изменить: Чтобы быть более полезным, если вы используете, например, jQuery (библиотеку JavaScript), вы можете использовать .prev()
.
Вы имеете в виду стиль A, учитывая, что он имеет элемент B непосредственно внутри или за ним? Вот так:
<A>
<B>
</B>
</A>
// OR
<A>
</A>
<B>
</B>
Вы не можете делать такие вещи в CSS (пока). Эрик Мейер утверждает, что этот селектор был обсужден довольно много раз в списке рассылки CSS и не является выполнимым. Дэйв Хаятт, один из основных разработчиков WebKit, комментирует с хорошим объяснением, почему это не может быть сделано.
Отъезд: сообщение в блоге Shaun Inman и комментарий от Eric Meyer.
Дэвид Хаятт тоже весит.
Вы можете ТОЛЬКО делать обратное: это выбирает все теги, непосредственно предшествующие тэгам.
Это логически эквивалентно вашему запросу.
Я часто использую это, чтобы создать ряд многих флажков с надписями
CSS
label+input {
margin-left: 4px;
}
DOM:
<input id="a" name="a" type="checkbox"/><label for="a">...</label>
<input id="b" name="b" type="checkbox"/><label for="b">...</label>
<input id="c" name="c" type="checkbox"/><label for="c">...</label>
Вы могли бы, но поддержка по-прежнему не работает. Имя этого является смежным селектором sibling