我只对IE9有意见,原因是.边界半径仅在一个div中不起作用,而在另一些div中,div的工作非常完美。
IE9

IE10,Chrome,FF

<article id="main-login">
<div class="radius-10 shadow"></div>
<div id="area-login" class="radius-10 shadow">
<h2>Iniciar sesión</h2>
<p><input id="user-user" class="radius-10" type="text" placeholder="Usuario" required/></p>
<p><input id="user-pass" class="radius-10" type="password" placeholder="Contraseña" required/></p>
<p><input id="do-login" type="submit" value=""/></p>
<small>Si aún no eres usuario</small>
<medium>Registrate aquí</medium>
</div>
</article>CSS
.radius-10 {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.shadow {
-webkit-box-shadow: 0px 1px 12px rgba(50, 50, 50, 0.75);
-moz-box-shadow: 0px 1px 12px rgba(50, 50, 50, 0.75);
box-shadow: 0px 1px 12px rgba(50, 50, 50, 0.75);
}
#main-login {
margin-top: 25px;
width: 100%;
}
#main-login div {
display: inline-block;
height: 170px;
vertical-align: top;
}
#main-login > div:first-child {
background: url(../media/images/medicos.jpg) no-repeat;
background-attachment:fixed;
margin-right: 20px;
overflow: hidden;
width: 73%;
}
#area-login {
background: rgb(255,255,255); /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSI4MiUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZTVlY2VmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
background: -moz-linear-gradient(top, rgba(255,255,255,1) 82%, rgba(229,236,239,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(82%,rgba(255,255,255,1)), color-stop(100%,rgba(229,236,239,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(255,255,255,1) 82%,rgba(229,236,239,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(255,255,255,1) 82%,rgba(229,236,239,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(255,255,255,1) 82%,rgba(229,236,239,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(255,255,255,1) 82%,rgba(229,236,239,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5ecef',GradientType=0 ); /* IE6-8 */
width: 24%;
}更新
谢谢你抽出时间但我解决了我的问题。
解决方案:在CSS中使用边框半径和过滤器存在问题,然后只需注释这一行:
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5ecef',GradientType=0 ); /* IE6-8 */工作得很好!!
发布于 2013-06-13 06:48:07
将..radius 10的内容更改为:
.radius-10 {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}对于IE9,将下面的行添加到<head>标记中。
<meta http-equiv="X-UA-Compatible" content="IE=9" />最后,不要忘记添加以下内容:
<!DOCTYPE html>更新
将#main-login div中的#main-login div更改为block。
发布于 2013-06-13 08:29:50
这个问题仅通过为filter: none;声明IE9来解决。如果您使用有条件的注释来帮助您获得特定的类,您可能会禁用该过滤器,如下所示:
.ie9 .class-with-gradient {
filter: none;
}或者为这些元素添加另一个类(如果有超过一个),并为它们禁用它。就像这样:
.gradient {
filter: none;
}确保只有IE9才能得到这个类。否则- IE8和IE7也不会得到过滤器。
https://stackoverflow.com/questions/17080758
复制相似问题