text-shadow和text-fill-color的样式冲突

331 阅读1分钟

冲突效果

image.png 会发现部分的字体阴影回在文字的上方,一个属性一个属性的注释发现text-shadowtext-fill-color的样式冲突

解决思路

既然这两个属性一起使用会有问题,那就使用伪元素的方式把两个原属拆分开,让伪元素定位到元素上即可实现

代码

<h2 class="title" text="您当前浏览器版本过低,无法访问系统">您当前浏览器版本过低,无法访问系统</h2>
.lowBrowser-box .lowBrowser-header .title {
    font-size: 50px;
    font-weight: bold;
    color: rgba(255, 5, 0, 1);
    font-family: HarmonyOS Sans SC;
    line-height: 90px;
    text-shadow: 0px 6px 6px #F9FDFF;
    margin: 0;
    position: relative;
}

.lowBrowser-box .lowBrowser-header .title::after {
    content: attr(text);
    color: rgba(255, 5, 0, 1);
    font-family: HarmonyOS Sans SC;
    -webkit-text-stroke: 1.5px #F9FDFF;
    text-stroke: 1.5px #F9FDFF;
    background: linear-gradient(0deg, rgba(255,0,0,.8), rgba(255, 5, 0, 1) 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

image.png

这样文字的阴影就全部都在文字下方了

重点

在我找UI拿前面的图标时他给了我一个最快的解决方式~

image.png