2013-09-10 3 views
10

Мне нужна ваша помощь с помощью селекторов CSS. Представьте себе HTML-тег стиля:Селектор CSS, несколько атрибутов, оператор OR

<style type="text/css"> 
[...selector...] {color:red;} 
</style> 

Я хотел бы построить селектор с несколькими атрибутами и логическими операторами. Но я не нашел правильного синтаксиса.

Мое требование:
Селектор должен найти элементы, которые имеют атрибут «свойство» и этот атрибут «свойство» равно некоторый URL. Второе условие: элементы должны иметь атрибут 'resource' OR 'typeof' (он не является импортером, каковы значения).

Мне нужна эта логическая структура: A = некоторый URL & & (B || C), и он должен быть в одном селекторе.
Как это сделать?

+0

Каких элементов вы стилизация точно ? Эти атрибуты не существуют нигде в HTML. – BoltClock

+0

Я имею в виду семантические элементы, аннотированные технологией RDFa (см. Это: http://www.w3.org/TR/rdfa-syntax/). Но это не важно. –

+0

Ах да, RDFa. Справедливо. – BoltClock

ответ

22

Вам нужно будет повторить селектор property атрибута для каждого или условия, комбинируя каждый со вторым селектором атрибута следующим образом:

[property="some URL"][resource], [property="some URL"][typeof] { color: red; } 

Ссылка: http://www.w3.org/TR/css3-selectors/#attribute-selectors

+1

Спасибо, это похоже на решение :-). Я попробую. –

+2

Есть ли более чистое решение DRY-er? – Pacerier

+1

@Pacerier: Только после: match() реализовано '[property =" some URL "]: matches ([resources, [typeof])' – BoltClock

Смежные вопросы