1

我在我的页面中包含了modernizr,但是如果我无法访问这些浏览器,我将如何测试它在 IE 6-7 中的工作?做类似的事情:http: //designshack.net/articles/css/build-a-freaking-awesome-pure-css-accordion/

基本的 CSS:

    .accslide {
     height: 0px;
     width: 0px;
     overflow: hidden;
    }
    input[type="radio"]:checked+label ~ .accslide {
     width: 100%;
     height:auto;
    }

如果第二个选择器没有触发,则内容将不可见。

如果不支持 CSS3,是否有一种方法仅加载 Modernizr?如何测试 Modernizr 是否在我的 CSS 选择器上工作?

4

2 回答 2

1

Modernizr 不会向浏览器添加任何功能,只是检查现有功能。如果你想测试选择器支持,你需要添加它。这是一个要点

但是,即使这样也不会让您完成您想要完成的工作,我想,accslide当您检查单选按钮时,它会显示元素。如果您希望支持 IE6 和 7,您很可能需要使用 javascript —— IE6 甚至不支持[type="radio"]选择器,因此您也不能使用它。

您需要向单选按钮添加一个单击/更改处理程序,并使用一个类更新它的容器以正确获得您想要的功能,尤其是支持 IE6。

这是您的 CSS 外观的示例:

#radioContainer .accslide {
 height: 0px;
 width: 0px;
 overflow: hidden;
}
#radioContainer.on .accslide {
 width: 100%;
 height:auto;
}

现在,在 javascript 中,当有人单击/更改单选按钮时,只需向元素添加/删除一个on类。注意:我给 #radioContainer 一个 ID b/c IE6 不会为两个 css 类名称中的元素设置样式(最终,您将不支持 IE6 并且可以简单地提供,这不适用于 IE6)#radioContainer.radio-container.on

于 2013-02-21T23:24:11.070 回答
1

如果给定的浏览器不支持,Modernizr 将不会启用 CSS 功能(如较新的选择器)。它主要是一个特征检测库。

于 2013-02-21T23:12:07.670 回答