css之为文本添加线性渐变和外描边

css之为文本添加线性渐变和外描边

 一、效果:

描边:描边+渐变:

二、描边:

api:text-stroke

问题:text-stroke的描边是居中描边,无法直接设置外描边

解决:在before中添加文本,设置字体描边,绝对定位在文本下方

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{background:blue}
        h2 {
            font-size: 31px;
            font-weight: 800;
            color: #70b4d9;
            position: relative;
            z-index: 1;
        }
        h2::before {
            content: attr(data-text);
            position: absolute;
            -webkit-text-stroke: 6px #fff;
            z-index: -1;
        }
    </style>
</head>
<body>
    <h2 data-text="数据采集">数据采集</h2>
</body>
</html>

三、添加渐变

api:

background-image:-webkit-gradient(linear,0% 0%, 0% 100%, from(#999999), to(#333333), color-stop(0.5,#336600));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;

原理:字体渐变的原理是将背景图片剪切为字体,然后将字体颜色取消。

问题:字体渐变的实质是背景图片,所以无法在其下面再垫一层背景

解决:给文本套一层span,使渐变为span的背景,然后在父标签垫描边背景。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{background:blue}
        h2 {
            font-size: 31px;
            font-weight: 800;
            color: #70b4d9;
            position: relative;
            z-index: 1;
        }
        h2>span{
            background-image:-webkit-gradient(linear,0% 0%, 0% 100%, from(#999999), to(#333333), color-stop(0.5,#336600));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        h2::before {
            content: attr(data-text);
            position: absolute;
            -webkit-text-stroke: 6px #fff;
            z-index: -1;
        }
    </style>
</head>
<body>
    <h2 data-text="数据采集"><span>数据采集</span></h2>
</body>
</html>

  

钻研不易,转载请注明出处、、、、、、

原文地址:https://www.cnblogs.com/s313139232/p/10530634.html

时间: 2024-10-22 16:24:41

css之为文本添加线性渐变和外描边的相关文章

css3 Gradients 线性渐变

代码块 html页面: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>css3 Gradients</title> </head> <body> <div

css线性渐变 位置问题

/* 线性渐变 */div.radial { width: 600px; height: 100px; margin: 30px auto; border: 1px #f00 solid; background: -webkit-gradient(linear, 0 0, 0 100%, from(yellow), color-stop(50%, red), color-stop(80%, blue));} <!-- 线性渐变 --> <div class="radial&qu

深入理解CSS线性渐变linear-gradient

× 目录 [1]定义 [2]渐变线 [3]色标 [4]重复渐变 [5]多背景 [6]应用场景 [7]IE兼容 前面的话 在CSS3出现之前,渐变效果只能通过图形软件设计图片来实现,可拓展性差,还影响性能.如今已经进入CSS3标准的渐变可以很轻松的完成渐变效果.渐变实际上分为线性渐变和径向渐变两种,本文介绍线性渐变. 定义 渐变实际上是两种或多种颜色之间的平滑过渡.而线性渐变是多种颜色沿着一条直线(称为渐变线)过渡.渐变的实现由两部分组成:渐变线和色标.渐变线用来控制发生渐变的方向:色标包含一个颜

CSS线性渐变

1 /*CSS线性渐变*/ 2 FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ffffff,endColorStr=#f1f1f1); /*IE*/ 3 background:-moz-linear-gradient(top,#ffffff,#f1f1f1);/*火狐*/ 4 background:-webkit-gradient(linear, 0% 0%, 0% 100%,fr

兼容IE与firefox的css 线性渐变(linear-gradient)

IE系列  filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#FF0000',endColorStr='#F9F900',gradientType='0'); 参数:startColorStr起始颜色 endColorStr结束颜色 gradientType为0时代表垂直,为1时代表水平 Firefox  background: -moz-linear-gradient(top, #FF0000, #F9F900

CSS线性渐变 垂直和水平渐变linear-gradient

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>CSS线性渐变</title><

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(3)线性渐变

线性渐变可以设置3个参数值:方向.起始颜色.结束颜色.最简单的模式只需要定义起始颜色和结束颜色,起点.终点和方向默认自元素的顶部到底部.下面举例说明: .test{ background:linear-gradient(red, blue); } 上述代码的效果如图5.9所示. 图5.9  最简单的线性渐变效果 如果要在一些旧版本的浏览器(除IE)下可以正常显示如图5.9的效果,则需要添加兼容代码: .test { background:-webkit-linear-gradient(red,

css线性渐变兼容

css线性渐变兼容 background: linear-gradient(top, rgba(54, 77, 127, 0.8), rgba(54, 77, 127, 0.8)); background: -moz-linear-gradient(top, rgba(54, 77, 127, 0.8), rgba(54, 77, 127, 0.8)); /*Firefox*//*参数:top.bottom垂直,left.right水平*/ background: -ms-linear-grad

纯css使用线性渐变实现滚动进度条

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con