CSS实现字体描边的方法

我们经常做的边框以及分割线之类的是基于盒子模型的,一般使用border就可以搞定,但是在某些时候需要做一些字体的描边的功能,

比如像这种的,在CSS中也确实是有一个属性可以添加字体描边的,

-webkit-text-stroke:1px #f00;

利用这个属性确实是可以给字体加上描边,但是如果描边的宽度稍微宽一些的话,所描边的范围就会覆盖字体本身,文字就会显得特别奇怪

这里的红色描边部分已经覆盖掉了黑色的字体,如果这个描边宽度再宽一些的话就会完全覆盖掉字体了。但是在Photoshop里面的效果是不会这样的

在网上搜到的大部分的解决办法是通过字体阴影解决问题,给文字加上四个方向的阴影,一样可以实现像PS这样的效果但是当宽度达到一定像素的时候,一样会出现奇怪的情况,阴影会完全偏离字体。

其实最好的解决办法就是写两个字体

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title></title>

<style>
.stroke{
    position:absolute;
    left:20px;
    top:20px;
    z-index: 2;
    margin:50px auto 100px;font-size:100px;
}
.border{
    z-index:1;
    -webkit-text-stroke:15px #f00;
}

.copyright,.info{font-style:italic;}
</style>
</head>
<body>
<div class="stroke">
	我是被描了1像素红边的文字
</div>
<div class="stroke border">
    我是被描了1像素红边的文字
</div>
</body>
</html>

就是将带边框的字体放在最底层,上面的文字就是不带边框的字体,这样给人的视觉效果就是Photoshop中的所谓的字体描边了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WEB嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值