【问题标题】:IE8 Ignoring Box-SizingIE8 忽略 Box-Sizing
【发布时间】:2014-12-01 04:27:02
【问题描述】:

我在让 IE8 遵循 box-sizing 时遇到问题。在我的标题中,我将徽标设置为 max-height: 100% 并带有一些填充。应该发生的是图像的大小最终应该是标题高度的 100%,减去填充量。这在现代浏览器中完美运行。然而,在 IE8 中,图像最终是标题高度的 100%,然后添加了填充,使其超出了标题的边缘。知道为什么会这样吗?我知道 IE8 应该支持 box-sizing。

css:

    #logoimg {
  max-height:55px;
  padding:4px 10px 4px 0;
  float:left;
  border-right:1px solid #ad1d00;
  box-sizing:border-box;
}
#navigationcontainer {
  width:100%;
  background:#f1f1f1;
  -moz-box-shadow:0px 1px 3px 3px #dfdfdf;
  -webkit-box-shadow:0px 1px 3px 3px #dfdfdf;
  box-shadow:0px 1px 3px 3px #dfdfdf;
  box-sizing:border-box;
}
#navigationtopbar {
  width:100%;
  background:#ea2700;
  height:55px;
  box-sizing:border-box;
}
#navigationtopbar ul {
  float:left;
  list-style-type:none;
  padding:0;
}
#navigationtopbar ul li { float:left; }
#navigationtopbar ul li a {
  padding:0 10px 0 10px;
  line-height:55px;
  display:block;
  color:#ffffff;
  border-right:1px solid #ad1d00;
  border-left:1px solid #ef5f42;
}
#navigationtopbar ul li a:hover { background-color:#ef5f42; }
.chart {
  width:100%;
  padding:0;
  margin:0;
}

HTML:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="latin1/iso-8859-1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
  </head>
  <body>
<nav id="navigationcontainer" role="navigation">
    <div id="navigationtopbar">
        <div class="container-fluid">
            <a  title="Fast Food Nutrition" href="/"><img alt="Fast Food Nutrition" id="logoimg" src="/images/logo.png"></a>
            <ul>
                    <li>
                        <a  title="Fast Food Restaurants" href="/fast-food-restaurants.php">Restaurants</a>
                    </li>
                    <li>
                        <a title="Fast Food Nutrition Nutrition Calculator" href="/fast-food-meal-calculator.php">Nutrition Calculator</a>
                    </li>
                    <li>
                        <a title="Fast Food Nutrition Blog" href="/blog/">Blog</a>
                    </li>
                    <li>
                        <a title="Nutrition Glossary" href="/glossary/">Glossary</a>
                    </li>
                    <li>
                        <a title="Fast Food Nutrition Lesson Plans" href="/lesson-plans.php">Teachers</a>
                    </li>
                    <li>
                        <a title="About FastFoodNutrition.org" href="/about-us.php">About</a>
                    </li>
                    <li class="hidden-sm visible-xs">
                        <a title="Search FastFoodNutrition.org" href="/gsearch.php">Search</a>
                    </li>
            </ul>
        </div>
    </div>
</nav>
  </body>
</html>

【问题讨论】:

  • 感谢您的建议,但实际上我已经包含了 html5shiv。我试图剪掉相关的代码片段,而不是把所有的东西都放在这里,我错过了包括那些。

标签: css internet-explorer browser cross-browser


【解决方案1】:

您的#logoimgmax-height:55px

如果使用 min/max-width/height,IE 8 会忽略 box-sizing: border-box。 来源:http://caniuse.com/#search=box-sizing > 已知问题#4

【讨论】:

  • 谢谢!我将其更改为“高度”,并且效果很好。
猜你喜欢
  • 2023-03-23
  • 2016-09-18
  • 2017-09-25
  • 2015-07-19
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
相关资源
最近更新 更多