2012-04-16 59 views
1

承认我有下面的CSS:标签[...]不是IE8

span label[for=Length] 
{ 
width: 90px; 
display: block; 
text-align:right; 
margin-top: 2px; 
margin-right: 5px; 
} 

与HTML:

<span><label for="Length">Length:</label></span> 
<span><input type=text id="Length"></span> 

它不会在IE8工作。 标签[for = ...]未被识别。任何解决方法?

谢谢。


UPDATE

我做了一个错误在我的问题所以现在我更新。任何解决方案谢谢!

回答

1

IE 8(或IE 9就此而言)不支持Quirks Mode中的属性选择器。这就是为什么添加一个合适的doctype声明,正如Quentin的答案中所建议的那样,可以解决IE 8上的问题。最简单的文档类型是<!doctype html>

在IE 7上,没有什么帮助,因为它只是缺乏支持,而不是在怪癖模式中被屏蔽掉。

因此在label元件上使用id属性是比较安全的,例如, <label id=foo for=Length>,并在CSS中使用id选择器,例如#foo。这些选择器适用于所有支持CSS的浏览器。

3

添加<label>元素与for="Length"属性。

(并确保你有一个触发标准模式DOCTYPE的)

+0

对不起,我错了我的HTML代码。我更新了我的问题以显示正确的html代码。 – Bronzato 2012-04-16 14:43:39

+0

和Doctype? – Quentin 2012-04-16 14:50:21

+0

你能给我正确的文档类型吗? – Bronzato 2012-04-16 14:52:51

3

元素必须是一个标签,以便能够匹配其作为标签在CSS试试这个:

<label for="Length">Length:</label> 
<span><input type=text id="Length"></span> 
+0

对不起,我错了我的html代码。我更新了我的问题以显示正确的html代码。 – Bronzato 2012-04-16 14:43:28

0
.label1 
{ 
width: 90px; 
display: block; 
text-align:right; 
margin-top: 2px; 
margin-right: 5px; 
} 

<span>Length:</span> 
<label class='label1' for='Length'><input type=text id="Length"></label> 
-1

它在IE8中工作..不依赖于浏览器。检查文件的!doctype html。因此它是一个属性,它的工作原理。

+0

也许它应该是一个评论? – Flawyte 2013-11-06 09:33:41

+0

我试过了代码和它的作品.. – Jaya 2013-11-06 12:27:27

+0

是的,可是他并没有询问是否它是为你工作与否,他要求一个解决方法。所以它应该是一个评论。 – Flawyte 2013-11-06 13:25:35