box-sizing:border-box =>对于IE8?

时间:2012-07-23 07:45:15

标签: html css internet-explorer css3 internet-explorer-8

我希望box-sizing: border-box代码为div

Mozila Firefox 我试过

        -moz-box-sizing: border-box; 

对于 IE(Internet Explorer),我已尝试过以下两种方式

        -ms-box-sizing: border-box; 
            box-sizing: border-box;

但它无法在 IE(Internet Explorer)中使用。 虽然我已将box-sizing: border-box;应用于 Internet Explorer ,但它会在元素宽度中添加边框和填充。为什么会这样?

应该是什么问题?请帮助和消化我。

注意:我正在使用 Internet Explorer8 Windows7终极

PAGE CODE:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MainPage.aspx.cs" Inherits="MainPage" %>

<!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 runat="server">
<meta http-equiv="x-ua-compatible" content="IE=8"/>

    <title></title>
    <style type="text/css">
        *
        {
            box-sizing: border-box; /*it gives error:Validation (CSS 2.1): 'box-sizing' is not a known CSS property name. */
            -ms-box-sizing: border-box; 
            -moz-box-sizing: border-box; 
            -webkit-box-sizing: border-box; 
            }
        body
        {
            background: lightblue;
            color: #000000;
            font-family: Trebuchet MS, Arial, Times New Roman;
            font-size: 12px;
        }
        #header
        {
            background: #838283;
            height: 200px;
            width: 1200px;
        }
        #wrapper
        {
            background: #FFFFFF;
            margin: 0px auto;
            width: 1200px;
            height: 1024px;
        }
        #navigation
        {
            background: #a2a2a2;
            float: left;


            margin: 0px 0px;
            width: 1200px;
            height: 25px;
            padding: 3px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div id="wrapper">
        <div id="header">
            <h1>
                Header goes here</h1>
            <br />
            <h2 style="font-size: 60px;">
                ST ERP by Shanti Technology</h2>
        </div>
        <div id="navigation">
        </div>
    </div>
    </form>
</body>
</html>

6 个答案:

答案 0 :(得分:31)

IE8支持box-sizing的无前缀版本,但与所有“新”CSS功能一样,它只在标准模式下执行。任何版本的IE从未使用-ms-box-sizing

确保您的网页具有doctype声明,以在浏览器中触发标准模式。您还应该在所有前缀之后放置没有前缀的box-sizing ,而不是之前的,并删除-ms-box-sizing,因为它实际上并不需要。< / p>

答案 1 :(得分:8)

如果你也使用最小宽度或最小高度,在IE8(标准模式)中,盒子大小将被卡在“内容盒”中,即指定border-box将无效。

答案 2 :(得分:5)

IE8 +支持大小调整。

<强>支持:

    Opera 8.5+  : box-sizing
    Firefox 1+  : -moz-box-sizing (still prefixed, though some are pushing to have it unprefixed for [Firefox 29][2]).
    Safari 3    : -webkit-box-sizing (unprefixed in modern versions)
    IE8+        : box-sizing

Please review this jsFiddle

答案 3 :(得分:2)

box-sizing支持IE8 +

您可以看到here

答案 4 :(得分:1)

您缺少box-sizing: border-box; -

*{
  box-sizing: border-box;

  -moz-box-sizing: border-box; 
  -webkit-box-sizing: border-box; 
}

IE不需要供应商特定的CSS -ms-box-sizing: border-box;不需要

小提琴 - http://jsfiddle.net/ctHh3/

答案 5 :(得分:0)

把它放在你的页面中,问题解决了

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>