整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

如何给HTML标签中的文本设置修饰线

ext-decoration属性介绍#

  • text-decoration属性是用来设置文本修饰线呢,text-decoration属性一共有4个值。

text-decoration属性值说明表#

值作用none去掉文本修饰线underline设置下划线overline设置上划线line-through设置删除线

HTML标签自带修饰线#

  • 在开始实践text-decoration属性之前,笔者先给大家普及下HTML中的标签自带修饰线如:u标签、s标签,若有不全大家可以在下面评论中告诉笔者,毕竟笔者也是前端的一个小白,希望和大家相互交流,互帮互助,共同进步。

u标签#

  • 下面让我们进入u标签的实践,u标签自带的是文本下划线。
  • 代码块
Copy<!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" content="ie=edge">
 <title>设置文本修饰线</title>
 
</head>
<body>
 <u>成功不是击败别人,而是改变自己</u>
</body>
</html>
  • 结果图

Canvas中,线的默认颜色为黑色,宽度为lpx,但我们可以使用相关属性为线添加不同的样式。下面我们将从宽度、描边颜色、端点形状3方面详细讲解线条样式的设置方法。

1.设置线条宽度

使用lineWidth属性可以定义线的宽度,该属性的取值为数值(不带单位),以像素为计量。设置线的宽度的示例代码如下:

context.lineNidth='10';

上述代码中设置了线的宽度为10。

2.设置描边颜色

使用strokeStyle属性可以定义线的描边颜色,该属性的取值为十六进制颜色值或颜色的英文名。设置描边颜色的示例代码如下:

context.strokeStyle='4f00';
context.strokeStyle='red';

在上述代码中,两种方式都可以用于设置线的描边颜色为红色。

3.设置端点形状

默认情况下,线的端点是方形的,通过lineCap属性可以改变端点的形状,示例代码如下:

context.1ineCap=,属性值';

lineCap属性的取值有3个,具体如表所示。

lineCap属性的取值

了解了设置线的样式的基本方法后,下面演示如何为线设置样式。

(1)创建C:icodekchapter02\demol3.html,创建画布并为线设置宽度、颜色和端点形状,具体代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <canvas id="cas" width="300" height="300">
     您的测览器不支持Canvas标签
  </canvas>
  <script>
   var context=document.getElementById('cas').getContext('2d');
   context.moveTo(10,10);          // 定义初始位置
   context.1ineTo(300,10);         // 定义连线端点
   context.lineWidth='10';         // 设置线的宽度
   context.strokeStyle='red';      // 设置线的颜色
   context.lineCap='round';        // 设置线的端点形状
   context.stroke();               // 定叉描边
  </script>
</body>
</html>

上述代码中,第15行代码设置了线的宽度为10像素:第16行代码设置了线的颜色为红色;第17行代码设置了线的端点为圆形。

(2)保存代码,在浏览器中测试,页面效果如图所示。

设置线的宽度、颜色和端点形状

页面显示一条红色的线,说明我们已经成功为线设置了样式。

置边框最常使用border,比如这样:

border: 1px dashed #333;

这是最常规的方法了,今天再来说说其他两种方法,

  1. outline方式
  2. background方式

outline方法

这也算是一种比较常规的方法了,

outline: 1px solid;

但需要注意的是,outline是在容器的最外部,与border的渲染还是有点区别的,同时对比下:

border: 1px dashed #333;
outline: 1px solid;

外部实线是outline,内部虚线是border,为了一致,可以设置outline-offset往内缩一点:

outline-offset: -1px;

background方法

这是本文的重点,我也是刚get到此项技能,之前一直不知道background居然如此强大,直接上代码:

background: linear-gradient(90deg, #333 50%, transparent 0) repeat-x 0 0px/9px 1px, #ffffff;

这里我们只设置了上面看,而且还是虚线的,做一说明这种方式的强大,再把其他边框补上去:

background: 
		linear-gradient(90deg, #333 50%, transparent 0) repeat-x 0 0px/9px 1px,
    linear-gradient(90deg, #333 50%, transparent 0) repeat-x 0 100%/9px 1px,
    linear-gradient(0deg, #333 50%, transparent 0) repeat-y 0 0/1px 9px,
    linear-gradient(0deg, #333 50%, transparent 0) repeat-y 100% 0px/1px 9px,
    #ffffff;

可见,使用background非常的灵活,边框的位置可以任意调整。

现在我们已经掌握这几方式,但本文的重点是上面这种,我们现在来动手操练下:

渐变边框

background: linear-gradient(90deg, #29bdd9 0%, #276ace 100%) repeat-x 0 0/100% 5px
    ,
    linear-gradient(-90deg, #29bdd9 0%, #276ace 100%) repeat-x 0 100%/100% 4px,
    linear-gradient(180deg, #29bdd9 0%, #276ace 100%) repeat-y 0 0/4px 100%,
    linear-gradient(0deg, #29bdd9 0%, #276ace 100%) repeat-y 100% 0/4px 100%,
    #eee;

滚动虚线边框

.box {
  background:
     linear-gradient(90deg, #333 50%, transparent 0) repeat-x,
     linear-gradient(90deg, #333 50%, transparent 0) repeat-x,
     linear-gradient(0deg, #333 50%, transparent 0) repeat-y,
     linear-gradient(0deg, #333 50%, transparent 0) repeat-y;
     background-size: 4px 1px, 4px 1px, 1px 4px, 1px 4px;
     background-position: 0 0, 0 100%, 0 0, 100% 0;
}

.box:hover {
  animation: linearGradientMove .3s infinite linear;
}

@keyframes linearGradientMove {
    100% {
        background-position: 4px 0, -4px 100%, 0 -4px, 100% 4px;
    }
}

滚动渐变

.box {
  background:
     linear-gradient(90deg, #FF8235,#30E8BF, #FF8235) repeat-x,
     linear-gradient(90deg, #FF8235,#30E8BF, #FF8235) repeat-x,
     linear-gradient(0deg, #FF8235,#30E8BF, #FF8235)  repeat-y,
     linear-gradient(0deg, #FF8235,#30E8BF, #FF8235)  repeat-y;
     background-size: 100% 8px, 100% 8px, 8px 100%, 8px 100%;
     background-position: 0 0, 0 100%, 0 0, 100% 0;
}

.box:hover {
  animation: linearGradientMove 1s infinite linear;
}

@keyframes linearGradientMove {
    100% {
        background-position: 200px 0, -200px 100%, 0 -200px, 100% 100px;
    }
}

以上就是设置边框的几个小技巧。

参考:
https://www.cnblogs.com/coco1s/p/14291567.html