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

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

  只能感叹,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. kmeans

    K均值(K-means)算法 ).setSeed(1L) val model=kmeans.fit(dataset) //Make predictions val predictions=model. ...

  2. var let const

    你真的永远都不用var了吗? javascript的一些争论已经浮现出了一些经典的案例,因此,es6的拥护者你们应该讲var遗忘吗?这篇博客将带你走进被遗忘的角落 首先举例反对者的几个观点: 1.如果 ...

  3. Angular CLI: 全局脚本

    全局脚本 有的时候,我们需要加载全局脚本,例如 jQuery 脚本库,第三方的控件库等等.比如 jQuery 可以直接加载到 window 对象上,这就需要我们使用 Angular 中的全局脚本来处理 ...

  4. .Net导出pdf文件,C#实现pdf导出 转载 http://www.cnblogs.com/hmYao/p/5842958.html

    导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本,之前下了个5.4的似乎不好用. 下载之后直接添加引用. <%@ Page Lan ...

  5. python 编码规范 (http://www.runoob.com/w3cnote/google-python-styleguide.html)

    命名约定 所谓"内部(Internal)"表示仅模块内可用, 或者, 在类内是保护或私有的. 用单下划线(_)开头表示模块变量或函数是protected的(使用import * f ...

  6. Jmeter生成html报告

    进入到jmeter安全目录bin下,执行以下命令 基本命令格式: jmeter -n -t test.jmx(性能测试脚本) -l testResult.csv(测试监听结果文件) -e -o tes ...

  7. 几种解决方法:idea 找不到符号或找不到包

    一. idea找不到符号,可能是因为编码问题,所以,在File->settings->Editor->File Encodings-找到编码设置,更改为项目的编码要求,一般都为utf ...

  8. Jenkins问题笔记

    1.启动docker容器权限不足 通过如下命令启动docker容器后,使用命令"docker logs -f jenkins"查看jenkins容器日志, docker run - ...

  9. Unix shell范例精解 课后题

    1.read  #屏幕输入read name  #输入名字 2.echo #在终端打印出内容echo "What is your name ?"  # What is your n ...

  10. centos 7.2 同步北京时间 ,多台机器同步时间

    linux 系统没有北京时间,同步的是上海时间 linux 系统有两个时钟:一个是硬件时钟,即BIOS时间:另一个是系统时钟,是linux系统Kernel(内核)时间. 系统开启时,系统会读取硬件时间 ...