兴趣使然,突然看见网上的一些带有描边的字体,觉得有点意思,便尝试去做了下

  不是什么很厉害的技巧,当然也有参考张鑫旭大神写的文章

  只能感叹,css的世界还很大,很广阔

  直入主题:

  对于文字的描边,一般都会想到-webkit-text-stroke去描边(抱歉我是百度的,我给大家丢脸了)

  但是这样直接写的话,会出现一个问题就是描边的宽度,如果设置的稍大一点,你会发现字体原本的颜色就消失了

  关于这点,张鑫旭写的一篇文章中有详细讲到

  https://www.zhangxinxu.com/wordpress/2017/06/webkit-text-stroke-css-text-shadow/

  原理就是这个描边是属于居中描边的:

  什么意思?就是说这个描边是从字体的外边框,同时向外和向内描边的

  像这样:

  

  外描边还好,但是内描边就会覆盖掉原本文字的颜色,这样就会导致原本字体会被覆盖掉(当然视情况而定,如果刚好需要这样的效果当我没说)

  所以对于这种情况就利用重叠描边

  css代码如下:

  

.nickname {
text-align: center;
font-size: 0.587rem;
font-weight:;
color: #3c3c3c;
margin-top: 0.32rem;
position: relative;
z-index:;
}
.nickname::before {
content: '想要重叠的文字';
position: absolute;
z-index: -1;
-webkit-text-stroke: 0.15rem #fff;
}

  原理就是将原文本设置定位,层级提高,然后利用伪元素进行描边,最后重合在一起

  这样就相当于实现了 —— 外描边

  效果大概长这样:

  

  当作是个小技巧吧!

CSS中的字体描边的更多相关文章

  1. css中的字体及文本相关属性

    css中的字体及文本相关属性 1.字体相关属性 字体主要可以设置color.font-family.font-size.font-size-adjust.font-stretch.font-style ...

  2. cocosbuilder中使用字体描边时,字符重叠,间距过小问题

    cocosbuilder中使用字体描边时,字符重叠,间距过小问题 cocos2d-x 3.7 v3.7解析cocosbuilder中描边字体的代码如下: void LabelTTFLoader::pa ...

  3. css中的字体样式及元素样式

    css中的字体样式一般包含有就9中,常见的有7种.这7种依次为: 1.字体样式:font-family: 2.字体大小:font-size: 3.字体加粗:font-weight: 4.字体斜体:fo ...

  4. 关于CSS中的字体尺寸设置 em rem等

    常用单位 在CSS中可以用很多不同的方式来设定字体的尺寸.一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative). 绝对单位在大多数情况下是相对于某些实际量度而言的 ...

  5. CSS 中的字体兼容写法:用CSS为英文和中文字体分别设置不同的字体

    font-family的调用方法: font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font:bold 12px/.75em ...

  6. 关于CSS中的字体尺寸设置 em rem

    常用单位 在CSS中可以用很多不同的方式来设定字体的尺寸.一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative). 绝对单位在大多数情况下是相对于某些实际量度而言的 ...

  7. CSS中的字体属性和文本属性

    1.CSS字体的属性 font 简写,作用是把所有的针对字体的属性设置在一个声明中 font-family 设置字体系列 font-size 设置字体尺寸 font-style 设置字体风格,ital ...

  8. CSS 中用户自定义字体 @font-face

    @font-face 允许网页中使用自定义的字体,这些自定义的字体被放置在服务器上,从而让网页摆脱对访问者计算机上字体环境的依赖. 简单的说,有了@font-face,只需将字体上传到服务器端,无论访 ...

  9. CSS中设置字体样式

    <style type="text/css"> body{ font-family: SimHei,"微软雅黑",sans-serif; } < ...

随机推荐

  1. group by 拓展

    Oracle的group by除了基本使用方法以外,还有3种扩展使用方法,各自是rollup.cube.grouping sets.分别介绍例如以下: 1.rollup 对数据库表emp.如果当中两个 ...

  2. TCP笔记

    TCP必须是双工通讯 这种通讯方式提高通道利用率,相对于等待确认传输.

  3. 简单封装Redis做缓存

    基于Redis封装一个简单的Python缓存模块 0. Docker Redis安装 参考: Get Docker CE for CentOS Docker 安装 Redis 安装Docker时错误s ...

  4. 1. [Vue warn]: Missing required prop: "value"

    意思是说数据没有绑定,页面缺少value值.应该v-model进行数据绑定.

  5. 获取的是 string 类型的字段,直接输出 数字 或者 需要的第几行

    Freight = driver.find_element_by_xpath("//tbody/tr/td[6]").text print(type(Freight)) # 这里输 ...

  6. visual studio 2013 几个测试工具(Nunit 3、xUnit)

    一.Nunit 3 1.在解决方案里添加一个类库——引用——右键(如下图)) 3.搜索nunit 并安装(如图) 3.注意引入命名空间并给测试类和测试方法添加特性(如图) 4.如果测试通过则为绿色(如 ...

  7. HTTP 响应代码

    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成.响应分为五类:信息响应, ...

  8. 把nginx当完全tcp端口转发器

    在nginx.conf里加入 stream {     server {         listen 18443;         proxy_pass 58.xxx.xxx.xxx:8443;   ...

  9. js生成二维码并保存成图片下载

    我这里使用是jQuery,和jquery.qrcode.js,需要的可以自己找链接下载.示例代码仅做参考 html代码: <a id="downloadLink">&l ...

  10. java中的编译时常量与运行时常量

    常量是程序运行期间恒定不变的量,许多程序设计语言都有某种方式,向编译器告知一块数据是恒定不变的,例如C++中的const和Java中的final. 根据编译器的不同行为,常量又分为编译时常量和运行时常 ...