gpt4 book ai didi

css - IE 11 中的文本阴影不起作用

转载 作者:行者123 更新时间:2023-11-28 13:07:36 28 4
gpt4 key购买 nike

此文本阴影示例中的文本在 IE 11 中不显示,但在 FF 和 Chrome 中显示。

http://codepen.io/maxnguyen/pen/

根据 caniuse.com自 IE 10 起,IE 就完全支持文本阴影。有没有办法更改 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;
}

最佳答案

发生这种情况是因为 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- 支持一切。例如,只有 -webkit-transition 支持 chrome 中的 transition

jsFiddle

关于css - IE 11 中的文本阴影不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19803062/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com