2013-10-16 44 views
0

我一直在盯着这一段时间,但我无法弄清楚为什么我的CSS文件忽略了我的div的id标记。我以前做过几乎完全相同的事情,但现在突然不起作用。任何想法为什么?CSS忽略div的id,但不是class

http://jsfiddle.net/phacer/dmf6V/

.canvas { 
    background: #c5c5c5; 
    border: 1px #676767 solid; 
    width: 600px; 
    height: 338px; 
    position: absolute; 
} 

#2dcanvas { 
    left: 0; 
} 

#3dcanvas { 
    right: 0; 
    background: black; 
} 

.canvas_container { 
    width: 1210px; 
    position: relative; 
    margin: 0 auto; 
    height: 340px; 
} 



<div class="canvas_container"> 
    <div class="canvas" id="2dcanvas">/div> 
    <div class="canvas" id="3dcanvas"></div> 
</div> 

3dcanvas应该是正确的,而2dcanvas应在左边。

+0

答案[是在这个答案](http://stackoverflow.com/a/79022/1846192).. –

回答

3

因为ID不能以数字/数字开始,你可以将它设置字母:

<div class="canvas_container"> 
    <div class="canvas" id="canvas2d"></div> 
    <div class="canvas" id="canvas3d"></div> 
</div> 

CSS

div#canvas2d { 
    left: 0; 
} 

div#canvas3d { 
    right: 0; 
    background: black; 
} 

Example

1

HTML中的ID和类不允许以数字开头,所以这将是原因。

分叉具有不同ID的小提琴和变戏法:

.canvas { 
    background: #c5c5c5; 
    border: 1px #676767 solid; 
    width: 600px; 
    height: 338px; 
    position: absolute; 
} 

#twodcanvas { 
    left: 0; 
} 

#threedcanvas { 
    right: 0; 
    background: black; 
} 

.canvas_container { 
    width: 1210px; 
    position: relative; 
    margin: 0 auto; 
    height: 340px; 
} 

<div class="canvas_container"> 
    <div class="canvas" id="twodcanvas"></div> 
    <div class="canvas" id="threedcanvas"></div> 
</div> 

http://jsfiddle.net/Ydy5F/1/

0

我相信它与ID以字母开头,事实做。

将ID更改为以字母开头,它将工作得很好。

ID和名称标记必须以字母开头([A-ZA-Z]),并且可以是 后跟任意数量的字母,数字([0-9]),连字符( “ - ”) , 下划线(“_”),冒号(“:”)和句点(“。”)。

0

类标识符被允许以数字开头,但ID标识符不是。

0

如果IDS /选择器被修改不开始与他们满足规范编号和生效:

CSS

#d2canvas { 
    left: 0; 
} 

#d3canvas { 
    right: 0; 
    background: black; 
} 

HTML

<div class="canvas_container"> 
    <div class="canvas" id="d2canvas">/div> 
    <div class="canvas" id="d3canvas"></div> 
</div> 

JS小提琴:http://jsfiddle.net/dmf6V/2/