【发布时间】:2012-05-30 21:18:45
【问题描述】:
我有一些由第 3 方 API 构建的 HTML,因此我无法控制输出。 我唯一可以更改的是 CSS。如果可能,我宁愿不使用 JavaScript。
我要做的是在第二个元素上使用 float:left 交换 2 个元素,因此它显示在第一个元素之前。这在现代浏览器上运行良好,但会导致“已交换”元素在旧 IE 浏览器(特别是 6 和 7,以及兼容模式下的 IE)上移动到第二行。
HTML(无法更改)
<div class="wrapper">
<a class="page">Page: </a>
<a class="previous">Prev</a>
<span>
<a>1</a>
<a>2</a>
</span>
<a class="next">Next</a>
</div>
CSS
.wrapper{
line-height:36px;
}
.wrapper span, .page{
float:left;
}
.wrapper span a, .page{
display:inline-block;
}
.wrapper span a{
width:20px;
}
.previous, .next{
width:30px;
display:inline-block;
}
现代浏览器截图
Internet Explorer 屏幕截图
【问题讨论】:
标签: html css internet-explorer-7 internet-explorer-6 css-float