IE7 CSS宽度:100%问题

时间:2013-01-18 19:13:33

标签: css internet-explorer

我正在为基于响应的基于%的网格制作CSS模板。我之前有过与IE7合作并且做了一些愚蠢的事情,我猜,现在它不起作用了。

http://danmathisen.com/lightbase-css/

目前的工作原理:

列是基于百分比的。因此,1/3宽度列(.col-1-3)将为width:32% + margin-left:1% + padding:1%。这很大程度上基于Chris Coyier的Don't Overthink It Grids

在现代浏览器中,填充不会影响div宽度。但在IE7中确实如此。所以我有IE类(.lt-ie8),可以容纳1%的填充。 .lt-ie8 .col-1-3 { width: 30%; }。所以30%宽度+ 1%边距左+ 2%填充左/右* 3 - 1%:第一个孩子= 100%。对? 为什么在IE7中不起作用?

解决方案:

我可以使用behavior: url(/scripts/boxsizing.htc)但希望在没有这个的情况下使其可行。

或者使用JS计算宽度然后减去1px。我认为这会奏效,但这并不理想。

或以99%的宽度定居。也不理想。

我喜欢只有CSS的解决方案。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我没有测试过这个,但也许你可以尝试将一个div放在另一个div中,并在内部div中有填充或边距?像这样:

<div style="width:33%;padding:0;margin:0;">
<div style="padding:3%;margin:3%;">
Content here
</div>
</div>

同样,不确定这是否有效,但值得一试。