CSS无法识别数字值的HTML ID

时间:2016-04-06 17:49:10

标签: html css css-selectors

这是div:

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

我在页面上有9个不同的位置,所以我在.css文件中执行:

div#1.something {
  code...
}

问题是它不会起作用,我知道这是正确的选择器,但我也尝试了div.something#1并且它也没有按预期工作。我认为ID作为一个数字有问题,我应该改变它还是有办法?

4 个答案:

答案 0 :(得分:10)

虽然允许将classid设置为以HTML5中的数字开头,但CSS中不允许这样做,请参阅规范:

HTML5: 3.2.5.1 The id attribute

  

...... ID可以采用什么形式没有其他限制;特别是,ID可以只包含数字,以数字开头,以下划线开头,仅包含标点符号等......

CSS: 4.1.3 Characters and case

  

...他们不能以数字,两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO 10646字符作为数字代码...

<div id="1">是有效的HTML,但您无法使用CSS中的#1 {...}来定位它。

但是,您可以使用[id="1"] {...}或将其#\31 {...}

转义

答案 1 :(得分:0)

请试试这个:

您可以按班级或身份证打电话。

div.something {
code...
}

div#1 {
code...
}

答案 2 :(得分:-1)

id选择器不起作用,文档说id不能以数字开头。

答案 3 :(得分:-1)

id="1"更改为id="one",因为您无法在CSS中使用数字来选择ID或类。然后只使用div#one { // CSS Here },因为您不需要包含该类。毕竟,每页只能有一个id具有特定名称。