0

在 IE7 上检查输入单选时,我在突出显示标签时遇到问题。

代码很简单,你可以看这里:JsFiddle

我需要让它在不使用 Javascript 的情况下在 IE7 上运行。

HTML:

<ul>
    <li>
        <input id="yes" type="radio" name="name" title="yes" />
        <label for="yes">Yes</label></li>
    <li>
        <input id="no" type="radio" name="name" title="no" />
        <label for="no">No</label>
    </li>
</ul>​

CSS:

input[type="radio"]{
    position: absolute;
    left: -9999px;
}

label{
 background-color: yellow;
 border: 1px solid #777;
 cursor: pointer;
 float: left;
 margin-right: 10px;
 padding: 10px;
 width: 80px;
 height: 30px;   
}

input[type="radio"]:checked + label {
 background-color: green;
 color: #FFF;    
}
4

2 回答 2

1

IE 7 不支持 ":checked"

于 2012-08-29T10:58:47.607 回答
0

IE 7 并没有真正做你的 CSS3 选择器,你会想要使用:http ://selectivizr.com/来为 IE 7 提供 CSS3 支持。

如果没有 JS,这是不可能实现的。

您需要添加:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<!--[if (gte IE 6)&(lte IE 8)]>
  <script type="text/javascript" src="selectivizr.js"></script>
  <noscript><link rel="stylesheet" href="[fallback css]" /></noscript>
<![endif]-->

到您的站点启用 IE7 :selector 支持。

于 2012-08-29T10:58:47.617 回答