我是IE 11的新手,我遇到的代码问题在IE 9中运行得非常好,但在IE 11中查看它的效果完全不同。在IE 9中,下面的代码默认显示正确的文本,鼠标悬停功能正常。在IE 11中,文本仅在悬停时显示,它几乎看起来像是在悬停时拉动图像的动画效果。任何人都可以提出任何有关行为不同的见解吗?
<!DOCTYPE HTML>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<title>test</title>
<style type="text/css">
/* generic css */
.view {
margin: 10px;
float: left;
border: 10px solid #fff;
overflow: hidden;
position: relative;
text-align: center;
box-shadow: 1px 1px 2px #e6e6e6;
cursor: default;
background: #fff no-repeat center center
}
.view .mask, .view .content {
width: 300px;
height: 200px;
position: absolute;
overflow: hidden;
top: 0;
left: 0
}
.view img {
display: block;
position: relative
}
.view h2 {
text-transform: uppercase;
color: #fff;
text-align: center;
position: relative;
font-size: 17px;
font-family: Raleway, serif;
padding: 10px;
background: rgba(0, 0, 0, 0.8);
margin: 20px 0 0 0
}
.view p {
font-family: Merriweather, serif;
font-style: italic;
font-size: 14px;
position: relative;
color: #fff;
padding: 0px 20px 0px;
text-align: center
}
.view a.info {
display: inline-block;
text-decoration: none;
padding: 7px 14px;
background: #000;
color: #fff;
font-family: Raleway, serif;
text-transform: uppercase;
box-shadow: 0 0 1px #000
}
.view a.info:hover {
box-shadow: 0 0 5px #000
}
/*2*/
.view-second img {
transition: all 0.2s ease-in;
-webkit-transition: all 0.2s ease-in;
}
.view-second .mask {
background-color: rgba(12, 19, 27, 0.6);
width: 300px;
padding: 105px;
height: 200px;
opacity: 0;
transform: translate(265px, 145px) rotate(45deg);
-webkit-transform: translate(265px, 145px) rotate(45deg);
transition: all 0.2s ease-in-out;
-webkit-transition: all 0.2s ease-in-out;
}
.view-second h2 {
border-bottom: 1px solid rgba(0, 0, 0, 0.3);
font-family: Raleway, serif;
background: transparent;
margin: 20px 40px 0px 40px;
-webkit-transform: translate(200px, -200px);
transform: translate(200px, -200px);
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.view-second p {
transform: translate(-200px, 200px);
-webkit-transform: translate(200px, -200px);
transition: all 0.2s ease-in-out;
-webkit-transition: all 0.2s ease-in-out;
}
.view-second a.info {
transform: translate(0px, 100px);
-webkit-transform: translate(0px, 100px);
transition: all 0.2s 0.1s ease-in-out;
-webkit-transition: all 0.2s 0.1s ease-in-out;
}
/* */
.view-second:hover .mask {
opacity:1;
transform: translate(-80px, -125px) rotate(45deg);
-webkit-transform: translate(-80px, -125px) rotate(45deg);
}
.view-second:hover h2 {
transform: translate(0px,0px);
-webkit-transform: translate(0px,0px);
transition-delay: 0.3s;
-webkit-transition-delay: 0.3s;
}
.view-second:hover p {
transform: translate(0px,0px);
-webkit-transform: translate(0px,0px);
transition-delay: 0.4s;
-webkit-transition-delay: 0.4s;
}
.view-second:hover a.info {
transform: translate(0px,0px);
-webkit-transform: translate(0px,0px);
transition-delay: 0.5s;
-webkit-transition-delay: 0.5s;
}
</style>
</head>
<body>
<div id="all">
<div class="view view-second">
<img src="http://jacobstone.co.uk/Livetesting/book.jpg" />
<div class="mask"></div>
<div class="content">
<h2>CorpTax Mapping Change</h2>
<p>Request for the remapping of CORPTax Balance Sheet or P&L accounts.</p>
<a href="#" class="info">Click Here</a>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
是的,这段代码包含很多“动画”效果,比如过渡和翻译。这些不会在IE9中显示,因为IE9不支持这些。
transform: translate(0px, 0px);
-webkit-transform: translate(0px, 0px);
transition-delay: 0.3s;
-webkit-transition-delay: 0.3s;
正在发生的事情是,IE11正在显示编写的代码,但IE9不是,它恰好就是你想要的。您可以首先浏览并删除所有类似或“过渡”或“动画”的行,然后查看它的位置。
编辑:正如TylerH提醒我的那样,翻译在IE9中有效,但动画效果不会。