2015-03-20 3 views
0

Можно ли установить условие для текста h2 класса? h2 не имеет для него уникального класса или идентификатора и нескольких h2 с динамическим изменением порядка. Поэтому я не могу настроить таргетинг на 3-й h2, потому что он всегда меняется.CSS Условный текст h2

h2.arker.fun.header { 
// some statement If h2 text = "Gamer" then set text-transform: lowercase 
} 
+2

No. CSS не может определить содержание ... только стиль его. –

ответ

2

Там был однажды предложил один псевдо класс, известный как : содержит справиться с этой ситуацией. Но они еще не добавили его в текущий проект CSS3.

Однако вы можете использовать Javascript. Например, для решения этой проблемы

for (var i= document.links.length; i-->0;){ 
    if (/\bSpecificWord\b/i.test(document.links[i].innerHTML) 
     document.links[i].style.color= 'red'; } 

Надеюсь, вы не ограничены использованием Javascript.

+0

Это путь. Если они используют JQuery, libs, есть намного лучшие способы. – Pachonk

-2

и может добавить атрибут в этом h2 тег и поставить условие, как: h2 [если 'MyType' =] {текст-преобразования: строчные буквы;}

+1

Неправильное использование. CSS не может обнаружить внутренний текст. Вам нужно будет использовать JQuery или что-то подобное. – Pachonk

0

В других (@Paulie_D, @Mia Marks, @YourFriend) уже указали, что нет селектора, основанного на контенте, и ближайший, который вы можете получить, - это селектор атрибутов.

Просто сумасшедшая идея:

h2.arker.fun.header:before { 
 
    content: attr(data-text); 
 
} 
 

 
h2.arker.fun.header[data-text="Gamer"] { 
 
    text-transform: lowercase; 
 
}
<h2 class="arker fun header" data-text="Gamer"></h2>

не делают это дома ...

+0

Это ** добавит ** текст ... не обнаружит его. –

+0

@Paulie_D Конечно, добавьте его и примените стиль, основанный на содержании атрибута ... это дрянная идея, но эй, это просто для удовольствия. – coma

+0

Итак, фундаментальное изменение HTML для удаления ** фактического контента ** из DOM ... тьфу! –

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