1

我有下面的CSS:

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 中不起作用。label[for=...]无法识别。任何解决方法?

谢谢。


更新

我在我的问题中犯了一个错误,所以现在我更新了。有什么解决办法吗?谢谢!

4

5 回答 5

3

添加具有属性的<label>元素。for="Length"

(并确保您有一个触发标准模式的 Doctype)

于 2012-04-16T14:31:12.520 回答
3

该元素必须是一个标签,以便能够将其作为 css 中的标签匹配试试这个:

<label for="Length">Length:</label>
<span><input type=text id="Length"></span>
于 2012-04-16T14:33:04.013 回答
1

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

在 IE 7 上,没有任何帮助,因为它只是缺乏支持,而不是在 Quirks 模式下将其掩盖。

因此,在元素上使用id属性(例如 )和在 CSS 中使用选择器(例如)会更安全。此类选择器适用于所有支持 CSS 的浏览器。label<label id=foo for=Length>id#foo

于 2012-04-16T15:16:02.713 回答
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>
于 2012-04-16T14:33:08.397 回答
-1

它适用于 IE8.. 不依赖于浏览器。检查文件的 !doctype html。因此,它是一个属性,它有效。

于 2013-11-06T09:16:05.307 回答