前端 CSS 经典:文字描边

简介: 前端 CSS 经典:文字描边

前言:文字描边有两种实现方式

1. text-shadow

设置 8 个方向的文字阴影,缺点是只有八个方向,文字转角处可能有锯齿状。不支持文字透明,设置 color: transparent,文字会成描边颜色。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="viewport"
      content="initial-scale=1.0, user-scalable=no, width=device-width"
    />
    <title>document</title>
    <style>
      body {
        background: #000;
      }
 
      p {
        text-align: center;
        font-weight: bold;
        font-size: 5em;
        color: red;
        text-shadow: 0 -2px #fff, 2px 0px #fff, 0 2px #fff, -2px 0 #fff,
          -2px -2px #fff, 2px 2px #fff, 2px -2px #fff, -2px 2px #fff;
      }
    </style>
  </head>
  <body>
    <p>人生若只如初见</p>
    <p>何事秋风悲画扇</p>
    <script></script>
  </body>
</html>

2. -webkit-text-stroke

描边属性,支持文字透明。只留描边。缺点是兼容性,文字会变细,文字变细可以通过 JS 解决。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="viewport"
      content="initial-scale=1.0, user-scalable=no, width=device-width"
    />
    <title>document</title>
    <style>
      body {
        background: #000;
      }
 
      p {
        font-weight: bold;
        font-size: 5em;
        color: red;
        -webkit-text-stroke: 4px #fff;
        position: relative;
      }
      p::after {
        content: attr(data-text);
        position: absolute;
        left: 0;
        top: 0;
        text-align: center;
        -webkit-text-stroke: 0;
      }
    </style>
  </head>
  <body>
    <p>人生若只如初见</p>
    <p>何事秋风悲画扇</p>
    <script>
      const ps = document.querySelectorAll("p");
      ps.forEach((p) => {
        p.dataset.text = p.textContent;
      });
    </script>
  </body>
</html>
目录
相关文章
|
3天前
|
前端开发 JavaScript UED
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
|
3天前
|
前端开发 JavaScript 编译器
如何在CSS中写变量?一文带你了解前端样式利器
如何在CSS中写变量?一文带你了解前端样式利器
10 0
|
3天前
|
前端开发
前端 CSS 经典:模拟 material 文本框
前端 CSS 经典:模拟 material 文本框
6 0
|
3天前
|
前端开发
前端 CSS 经典:图层放大的 hover 效果
前端 CSS 经典:图层放大的 hover 效果
7 0
|
3天前
|
前端开发
前端 CSS 经典:保持元素宽高比
前端 CSS 经典:保持元素宽高比
7 0
|
3天前
|
前端开发
前端 CSS 经典:鼠标位置信息
前端 CSS 经典:鼠标位置信息
6 0
|
8天前
|
前端开发 JavaScript 数据库
如何实现前后端分离-----前端笔记
如何实现前后端分离-----前端笔记
|
8天前
|
前端开发 安全 NoSQL
技术笔记:Security前端页面配置
技术笔记:Security前端页面配置
|
1月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
32 2
|
2月前
|
存储 前端开发 JavaScript
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
54 1