Вам необходимо указать имя класса для элементов a
, которые вы хотите включить или исключить. Если вы не хотите делать это в своем коде или документах на стороне сервера, вы можете добавить классы с помощью javascript по мере загрузки страницы. С логикой выбора, заключенной в другом месте, ваше правило может быть следующим:
a.external_link
{
background: url(../../pics/remote.gif) right top no-repeat;
padding-right: 10px;
white-space: nowrap;
}
Можно было бы с помощью XPath создать шаблон, подобный вашему, который бы также исключал a
элементов, у которых было img
потомков, однако это средство было неоднократно ( 2002 , 2006 , 2007 ) предложено и отклонено для CSS, в основном на том основании, что оно противоречит принципам инкрементного макета.
Таким образом, хотя можно выполнять аккуратные добавления условного содержимого, как это делается с помощью контекстного селектора и совпадения префикса для атрибута href
, CSS значительно слабее, чем язык программирования общего назначения. Чтобы делать более сложные вещи, вам нужно переместить логику на уровень и написать более простые инструкции для обработчика стилей.