此文本阴影示例中的文本不会显示在IE 11中,而是显示在FF&铬。
http://codepen.io/maxnguyen/pen/
根据caniuse.com IE从IE 10开始就完全支持text-shadow。有没有办法改变CSS以便在IE11中工作?
<div id="box">
<p id="flashlight">
<span id="flash">MAX</span>
<span id="light">NGUYEN</span>
</p>
</div>
CSS:
html {
overflow: hidden; /*FF fix*/
height: 100%;
font-family: Geneva, sans-serif;
background: hsl(210, 30%, 0%) radial-gradient( hsl(210, 30%, 20%), hsl(210, 30%, 0%));
}
body {
margin: 0;
width: 100%;
height: 100%;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
}
p {
margin: 0;
}
/* box ------------------------------------------------------ */
#box {
text-align: center;
font-size: 3em;
font-weight: bold;
-webkit-backface-visibility: hidden; /* fixes flashing */
}
/* flashlight ------------------------------------------------------ */
#flashlight {
color: hsla(0,0%,0%,0);
perspective: 80px;
outline: none;
}
/* flash ------------------------------------------------------ */
#flash {
display: inline-block;
text-shadow: #bbb 0 0 1px, #fff 0 -1px 2px, #fff 0 -3px 2px, rgba(0,0,0,0.8) 0 30px 25px;
transition: margin-left 0.3s cubic-bezier(0, 1, 0, 1);
}
#box:hover #flash {
text-shadow: #111 0 0 1px, rgba(255,255,255,0.1) 0 1px 3px;
margin-left: 20px;
transition: margin-left 1s cubic-bezier(0, 0.75, 0, 1);
}
/* light ------------------------------------------------------ */
#light {
display: inline-block;
text-shadow: #111 0 0 1px, rgba(255,255,255,0.1) 0 1px 3px;
}
#box:hover #light {
text-shadow: #fff 0 0 4px, #fcffbb 0 0 20px;
transform: rotateY(-60deg);
transition: transform 0.3s cubic-bezier(0, 0.75, 0, 1), text-shadow 0.1s ease-out;
}
答案 0 :(得分:2)
这是因为IE要求您在文本上使用基色。您还可以使用text-shadow
来定义基色。
您可以对此进行更改,以便定义color
属性。
#flash {
display: inline-block;
text-shadow: #bbb 0 0 1px, #fff 0 -1px 2px, #fff 0 -3px 2px, rgba(0,0,0,0.8) 0 30px 25px;
transition: margin-left 0.3s cubic-bezier(0, 1, 0, 1);
}
对
的更改#flash {
display: inline-block;
color: #bbb;
text-shadow: #fff 0 -1px 2px, #fff 0 -3px 2px, rgba(0,0,0,0.8) 0 30px 25px;
transition: margin-left 0.3s cubic-bezier(0, 1, 0, 1);
}
现在,您的第一个text-shadow
已分配给color
媒体资源。
为什么会这样?
嗯,我不确定这是否发生在IE的早期版本中。但是正如您在MS text-shadow generator所看到的那样,Chrome和FF不支持该属性; 传播距离。这可能表明IE不使用与chrome和FF相同的方法。
然而,在为某事物提供阴影之前给出基色似乎是合乎逻辑的。
添加备注
我建议让-webkit-
支持所有内容。例如,Chrome中的transition
仅由-webkit-transition
支持。
答案 1 :(得分:0)
这是一个非常棘手的问题,你可能无法找到任何答案,如果你打开一个简单的html文件到ie10或ie11这将显示你所有的文字阴影,但你有兴趣的应用程序不支持文本阴影,即使它显示某些错误表示文本阴影文本下的红线。
您只需要为此更改元标记...使用这些
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> // ie supports
<meta name="viewport" content="width=device-width, initial-scale=1">// for responsive