2016-04-06 2 views
3

Вот ДИВ:HTML ID с числовым значением не распознается CSS

<div class='something' id='1'> 

Я получил 9 из них с разными позициями на странице, чтобы в файле .css я:

div#1.something { 
    code... 
} 

И дело в том, что это не сработает, я знаю, что это правильный селектор, но я также пробовал div.something#1, и он также не работает, как и ожидалось. Я думаю, что что-то не так с ID как число, я должен изменить его или есть способ?

ответ

10

Хотя это позволило установить class или id начать с цифрой в HTML5, но это не допускается в CSS, смотрите спецификации:

HTML5: 3.2.5.1 The id attribute

... Там нет других ограничения на то, какую форму может принимать идентификатор; в частности, идентификаторы могут состоять только из цифр, начинаться с цифры, начинаются с подчеркивания, состоят только знаки препинания и т.д. ...


CSS: 4.1.3 Characters and case

.. . не может начинаться с цифры, двух дефисов или дефиса, за которым следует цифра. Идентификаторы могут также содержать экранированные символы и любой символ 10646 ISO в качестве числового кода ...

т.е.

<div id="1"> действует HTML, но вы не можете ориентировать его #1 {...} в CSS.

Однако, вы можете использовать [id="1"] {...} или избежать его #\31 {...}

0

Пожалуйста, попробуйте следующее:

Вы можете позвонить либо класса или ID.

div.something { 
code... 
} 

или

div#1 { 
code... 
} 
+0

Это сработает, но я не могу сделать никаких других div с идентификаторами как номера, но спасибо, имейте upvote. – stevenhawkingsbiggestfan

+0

Я имею в виду - второй не будет работать, поскольку CSS не будет принимать число как начало ID. – stevenhawkingsbiggestfan

-1

Это id селектор, который не работает, документация говорит один id не может начинаться с цифры.

+0

Pangloss имеет ответ: это умно, если вы ДОЛЖНЫ стиль без доступа к редактированию исходного html – DjungleDev

-1

Изменить id="1" на id="one" так как вы не можете использовать числа в CSS, чтобы выбрать идентификатор или класс. Затем просто используйте div#one { // CSS Here }, так как вам действительно не нужно включать класс. В конце концов, у вас может быть только один id с определенным именем на странице.

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