我知道IE7&据说IE8支持使用多个CSS类选择器,但我似乎无法让它工作。
CSS:
.column {
float: left;
display: block;
margin-right: 20px;
width: 60px;
}
.two.column {
width: 140px;
}
.three.column {
width: 220px;
}
.four.column {
width: 300px;
}
HTML:
<div class='two column'>Two Columns</div>
<div class='three column'>Three Columns</div>
<div class='four column'>Four Columns</div>
它总是最终使用 .four.column 规则。关于我做错了什么想法?
答案 0 :(得分:36)
您希望确保并使用doc类型,这样就不会在怪癖模式下渲染。例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test Page</title>
<style type="text/css">
.column {
float: left;
display: block;
margin-right: 20px;
width: 60px;
border: 1px solid;
}
.two.column {
width: 140px;
}
.three.column {
width: 220px;
}
.four.column {
width: 300px;
}
</style>
</head>
<body>
<div class="two column">Two Columns</div>
<div class="three column">Three Columns</div>
<div class="four column">Four Columns</div>
</body>
</html>
答案 1 :(得分:3)
并不是说你一定做错了什么,但如果你只有像以下那样的课程:
.column {
float: left;
display: block;
margin-right: 20px;
width: 60px;
}
.two {
width: 140px;
}
.three {
width: 220px;
}
.four {
width: 300px;
}
然后,当您按正确的顺序应用这些类时,您仍然应该获得所需的渲染:
<div class='column two'>Two Columns</div>
如果你认为css类和编程类一样,.two
类扩展了基类.column
类,覆盖了它的width属性。
通过这种方式,您还可以将.two
,.three
和.four
类应用于要修复其宽度的其他页面元素,而不必依赖于页面上的位置或容器。