2010-08-23 226 views

回答

24

冒号允许在ID属性内,但不具有特殊意义。使用它们不是很明智的做法,因为它们有时可能会导致问题,例如与jQuery或CSS一起使用时,冒号具有特殊含义作为伪选择器。

+0

所以你的意思是这不会也是可取的CSS? – Ryan 2010-08-23 05:28:26

+0

这是正确的,因为在CSS冒号是用于伪选择器,如'#div.button:hover' – 2010-08-23 05:31:48

+14

我同意cxfx,但如果有非常大的需要使用冒号,那么你可以逃避它在CSS像'#t1 \:c3 {rules;}' – Sotiris 2010-08-23 08:56:21

1

除了上面的内容,我发现Omniture使用冒号来帮助定义与布局相关的类。

3

如果与Java ServerFaces在生成HTML这通常会产生这样的ID,即,如果形式具有ID form1中和元件具有ID 的firstName这导致在ID form1:firstName如果元素是在高层,如果在循环中创建了几个它们看起来像form1:1:firstName,form1:2:firstName,...

此框架行为不能更改。

+0

对于JSF,请参阅此处:https://stackoverflow.com/a/7928290/1599699必须使用确切的ID,例如如果你把'id =“blah”'放在你的代码中,但是这个元素在''内,那么form是一个'NamingContainer'元素,所以实际的ID将会是'形式:blah'在原始输出HTML中。因此,您必须在自定义CSS样式中指定'form:blah'。 – Andrew 2017-10-03 16:41:43

+0

另请注意,在CSS样式中使用冒号时,对于IE 6 - IE 7(或对于IE 8),您需要对IE 8使用':而不是':'而不是':'IE 11或'\ 3A'任何版本)。看到这里:https://stackoverflow.com/questions/122238/handling-a-colon-in-an-element-id-in-a-css-selector#comment80053896_122266 – Andrew 2017-10-03 17:06:11