我编写了以下代码来创建一个三列布局,其中第一列和最后一列分别没有左右边距(根据定义,三列将具有与动态生成的完全相同的类 - 见最后段落):
#content {
background-color:#edeff4;
margin:0 auto 30px auto;
padding:0 30px 30px 30px;
width:900px;
}
.column {
float:left;
margin:0 20px;
}
#content .column:nth-child(1) {
margin-left:0;
}
#content .column:nth-child(3) {
margin-right:0;
}
.width_33 {
width:273px;
}
HMTL:
<div id="content">
<cfoutput query="IndexView" group="pName"> <!--loop one to create the columns -->
<div class="column width_33"> <!-- Columns -->
<h3>#IndexView.pName#</h3>
<ul>
<!---LOOP two--->
<cfoutput>
<li>
#IndexView.titles#
</li>
</cfoutput>
</div>
</cfoutput>
</div>
问题是这段代码在 Internet Explorer 7 和 8 中不起作用?我可以在 IE 中使用的唯一伪类(在这种情况下)是“first-child”,但这不会消除第三列和最后一列的右边距。有谁知道我可以让这段代码在 IE 7/8 上运行的方法吗?
一个重要的旁注:这三列是通过查询循环动态生成的,因此每列的类属性将是相同的。