2016-10-27 9 views
3

Предположим, у вас есть HTML, который содержит следующее:Как создать атрибут таргетинга селектора CSS со значением, содержащим фид строки ASCII?

<div title="aaa"></div> 
<div title="example"></div> 
<div title="exam 
ple"></div> // the enter key has been pressed after the substring "exam" in the title attribute 

Я понимаю, что если я хочу, чтобы выбрать для второго и третьего дивы я мог бы использовать следующий CSS:

div[title^="exam"] {....} 

Но как бы выбрать третий div? Я Codepenned следующие селекторы:

div[title="exam\nple"] {...} 
div[title="exam\x0Aple"] {...} // line feed ---> hex 
div[title="exam\u000Aple"] {...} // line feed ---> unicode 

Ни один из них не работал я намеревался (т.е. выбора третьего DIV исключительно - ни один из элементов не были выбраны для вообще).

Как бы один выбрать в этом случае для атрибута (title здесь) со значением, которое содержит новую строку, используя название =? (а не название = или название | = и т.д.)

Примечание - Я уже прочитал this пост и this пост для фоновой информации, но я все еще не уверен, как это сделать.

ответ

4

От Characters and case - escaped characters,

обратной косой ускользает позволяют авторам обращаться к символам не можно легко положить в документе. В этом случае обратная косая черта сопровождается не более шести шестнадцатеричных цифр (0..9A..F), которые соответствуют значению ISO 10646 с таким числом, которое не должно быть равно нулю.

A new line character имеет код U + 000A. Таким образом, в CSS вы можете избежать этого как \a или \00000a.

div[title="exam\a ple"] { font-size: 2em; color: green;}
<div title="aaa">aaa</div> 
 
<div title="example">example</div> 
 
<div title="exam 
 
ple">exam[newline]ple</div>

+0

Просто проверил это - да, это сделал трюк. Спасибо за помощь. –

+0

BTW - пустое пространство между «\ a» и «ple» кажется ненужным. –

+0

@TheOneandOnlyChemistryBlob Это потому, что следующий символ ('p') не является шестнадцатеричной цифрой. Но IMO лучше очистить конец номера, либо добавив пробел, либо предоставив ровно 6 шестнадцатеричных цифр. – Oriol

0

Может быть, вы можете просто использовать div[title^="exam\00000a"] и он работает

Check Here on Codepen

+0

Пожалуйста, прочитайте мое сообщение - это выбирает как второй, так и третий divs. –

+0

Вопрос уже упоминает 'div [title^=" exam "]' и говорит, что это не то, что он хочет. – Oriol

+0

Извините, мой плохой, я думаю, теперь его обновили, что вы ищете. – Manjunath