2016-02-24 5 views
-1

Давайте рассмотрим этот синтаксис как объектЧто означает синтаксис синтаксиса селектора атрибутов CSS?

.row-fluid[class*="span"] { 
    display: block; 
} 

Мой вопрос, что такое class*="span" значит?

Я думаю, весь селектор означает собирание всех HTML-элементы, отмеченные с классом row-fluid и имеют какой-либо атрибут, начиная с class значение которого является span - хотя я не уверен ...

И если у нас есть HTML-блок как

<div id='div01' class='row-fluid' class2='span' /> 
<div id='div02' class='row-fluid span' /> 

будет ли указанный выше селектор соответствовать им обоим? Или только #div01 совпадений?

+0

Просто прочтите документацию (https://developer.mozilla.org/en/docs/Web/CSS/Attribute_selectors). Однако это не рекомендуется для проверки наличия класса «span», предполагая, что это то, что вы хотите сделать. Например, это будет соответствовать 'class = 'span1'' или' class =' ​​rowspan''. Если вы хотите проверить класс 'span', выберите классы обычным способом, как' .row-fluid.span'. –

+0

@torazaburo Спасибо. Пожалуйста, обратитесь к ответу BoltClock, который отвечает на мой OP http://stackoverflow.com/a/35593116/248616 –

+0

Добро пожаловать. Почему вы просто не попробовали это, вместо того, чтобы отправлять вопрос на SO? Кстати, '* =' является ** NOT **, называемым «оператором», если быть точным. термин «оператор» нигде не используется в грамматике CSS. –

ответ

1

Подстановочный знак встречается в значении атрибута, а не в имени атрибута. Таким образом, только #div02 будет соответствовать - #div01 будет не матч.

* в селекторе атрибутов относится к *= token. Это не подстановочный знак в имени атрибута, например class*.

+0

Это кристально понятное объяснение - '* = operator' не' 'имя подстановочного атрибута' –

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