整合营销服务商

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

免费咨询热线:

HTML超链接怎么去掉下划线

HTML超链接怎么去掉下划线

端网页的开发中总是不可避免会使用到超链接,但是使用超链接时下面都会有一条下划线,这在网页中有时会显得很突兀,不合适也不美观,所以我们就需要将超链接下的这条下划线给去掉.接下来给大家介绍Html下超链接去掉下划线的方

您可以使用CSS的text-decoration属性来去掉超链接下划线。只需将其设置为none即可,示例代码如下:

a{

text-decoration: none;

}

这会将页面中所有超锥接下划线都去,如果您只想去掉某些超链接的下划线,可以为这些链接添加一个特定的class,并针对该CIass设置上述CSS属性。

例子:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>css超链接去掉下划线示例</title>

<style>

a{

text-decoration: none;

}

</style>

</head>

<body>

<a href="">大家再看我还有没有下划线了!</a>

</body>

</html>

可以发现,此时文本超链接下划线是不是已经去掉了?这个效果实现是不是非常简单呢?大家主要掌握一个样式属性就是text-decoration: none;这个属性。给对应的a标签文本添加这个属性就可以去除文本超链接下划线了


扩展资料:

HTML 超链接(链接)的属性:

超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。

当您把鼠标指针移动到网页中的某个链接上时,箭头会变为一只小手。

我们通过使用 标签在 HTML 中创建链接。

有两种使用 标签的方式:

1、通过使用 href 属性 - 创建指向另一个文档的链接;

2、通过使用 name 属性 - 创建文档内的书签。

续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情


本文简介

点赞 + 关注 + 收藏=学会了


在 HTML 也好,Word 也好,基本都有下划线和删除线(中划线)。

Fabric.js 作为一个老牌 canvas 库,当然也提供中划线下划线的配置啦,除此之外还提供了上划线的配置。

本文要讲解的就是这3种装饰线在 fabric.js 中的使用方法。除了初始化配置外,还支持项目运行时,让用户动态配置。

本文案例使用了 IText ,该组件支持编辑功能。



初始化时设置

这是上划线、中划线和下划线的文档:

  • 上划线 overline
  • 中划线 linethrough
  • 下划线 underline


<canvas id="c" width="300" height="300" style="border: 1px solid #ccc"></canvas>

<script src="../../script/fabric.5.2.1.js"></script>
<script>
  const canvas=new fabric.Canvas('c')

  const iText=new fabric.IText('aaa',{
    styles: {
      0: {
        0: { overline: true }, // 上划线
        1: { linethrough: true }, // 中划线
        2: { underline: true } // 下划线
      }
    }
  })

  canvas.add(iText)
</script>

本例只有3个字母 a ,而且都在同一行。

styles 第一个元素的 key 为 0 的意思是第一行,行号下标从0开始。

大概这个意思

styles: {
  0: { // 第1行
    0:, // 第1行 第1个字
    1:, // 第1行 第2个字
    2:  // 第1行 第3个字
  }
}

如果需要换行,那就要根据行号来定义了。换行的方法是文本内容里使用 \n 做换行。

动态设置

除了在初始化时可以设置装饰线外,Fabric.js 也提供了在运行时用户手动设置。不过代码会稍微复杂一点。

其实动态设置上划线、中划线和下划线的操作都是一样的,唯一要变的就是属性名。

我以中划线为例,之后上划线和下划线只需改个属性名。

<button onclick="linethrough()">中划线</button>

<canvas id="c" width="300" height="300" style="border: 1px solid #ccc"></canvas>

<canvas id="c" width="300" height="300" style="border: 1px solid #ccc"></canvas>

<!-- 引入fabric -->
<script src="../../script/fabric.5.2.1.js"></script>
<script>
  const canvas=new fabric.Canvas('c') // 初始化画布

  const iText=new fabric.IText('hello wor\nld') // 创建文字

  canvas.add(iText)

  function linethrough() {
    let activeTxt=canvas.getActiveObject() // 获取当前选中的文字

    // 如果当前没选中文字,那什么都不操作
    if (!activeTxt) return

    // 判断当前是否进入编辑状态
    if (activeTxt.isEditing) {
      // 编辑状态
      const state=activeTxt.getSelectionStyles().find(item=> item.linethrough !==true)

      // 如果当前
      if (!state || (JSON.stringify(state)==='{}' && activeTxt['linethrough']===true)) {
        // 如果当前已经设置了中划线,那就把全局中划线取消
        activeTxt.setSelectionStyles({ 'linethrough': false })
      } else {
        // 如果当前没设置中划线,那就添加上中划线
        activeTxt.setSelectionStyles({ 'linethrough': true })
      }
    } else {
      // 选择状态
      if (activeTxt['linethrough']===true) {
        activeTxt.linethrough=false
        activeTxt.dirty=true;
        let s=activeTxt.styles
        for(let i in s) {
          for (let j in s[i]) {
            s[i][j].linethrough=false
          }
        }
      } else {
        activeTxt.linethrough=true
        activeTxt.dirty=true;
        let s=activeTxt.styles
        for(let i in s) {
          for (let j in s[i]) {
            s[i][j].linethrough=true
          }
        }
      }
    }

    canvas.renderAll()
  }
</script>

上面的代码主要做这几步操作:

  1. 初始化画布
  2. 创建文字
  3. 将文字添加到画布中
  4. linethrough 方法添加或取消中划线


最主要的操作逻辑写在 linethrough 方法里了。

linethrough 的逻辑如下

  1. 获取当前选中的文字
  2. 如果没选中就不做任何操作
  3. 如果选中了,判断是否进入编辑状态
  4. 编辑状态 获取当前被选中文字的中划线状态 如果被选中文字设置了中划线,就把中划线取消掉 如果被选中文字没设置中划线,就添加中划线
  5. 如果不是编辑状态,只是单击了 iText 进入框选状态 如果需要全局取消中划线 全局取消 循环每个字符,并取消每个字符的中划线 需要全局设置中划线 全局设置 再逐个字符单独设置
  6. 重新渲染画布



代码仓库

?IText 动态设置装饰线

https://gitee.com/k21vin/fabricjs-demo/blob/master/tutorial/IText/styles04decoration.html

言:

导航栏下划线动画在网页设计中是非常常见的交互,下面将介绍几种非常常见,非常nice的动画特效,废话不多说直接上演示和代码。

一、效果图:

css下划线

二、源码如下:

<body>
		<p>样式1</p>
		<ul id="demo1">
			<li>首页</li>
			<li>产品</li>
			<li>服务</li>
			<li>关于</li>
		</ul>
		
		<p>样式2</p>
		<ul id="demo2">
			<li>首页</li>
			<li>产品</li>
			<li>服务</li>
			<li>关于</li>
		</ul>
		
		<p>样式3</p>
		<ul id="demo3">
			<li>首页</li>
			<li>产品</li>
			<li>服务</li>
			<li>关于</li>
		</ul>
		
		<p>样式4</p>
		<ul id="demo4">
			<li>首页</li>
			<li>产品</li>
			<li>服务</li>
			<li>关于</li>
		</ul>
	</body>
	<style type="text/css">
		p{
			text-align: center;
			margin: 40px 0 10px 0;
		}
		ul{
			padding: 0;
			width: 400px;
			height: 45px;
			margin:  auto;
			list-style: none;
			background-color: rgb(0,0,0,0.3);
			display: flex;
		}
		li{
			flex: 1;
			height: 100%;
			display: flex;
			align-items: center;
			justify-content: center;
			position: relative;
		}
		/***************样式1   *********/
		#demo1 li:before{
			content: '';
			position: absolute;
			width: 80%;
			left: 10%;
			bottom: 10px;
			height: 5px;
			background-color: coral;
			opacity: 0;
		}
		#demo1 li:hover:before{
			bottom: 0;
			opacity: 1;
			transition: bottom 0.3s,opacity 0.3s 0.1s;
		}
		/***************样式2   *********/
		#demo2 li:before{
			content: '';
			position: absolute;
			width: 0;
			left: 50%;
			bottom: 0;
			height: 5px;
			background-color: coral;
		}
		#demo2 li:hover:before{
			width: 80%;
			left: 10%;
			transition: all 0.5s;
		}
		/***************样式3   *********/
		#demo3 li:before{
			content: '';
			position: absolute;
			width: 0;
			left: 100%;
			bottom: 0;
			height: 5px;
			background-color: coral;
		}
		#demo3 li:hover:before{
			width: 80%;
			left: 10%;
			transition: all 0.5s;
		}
		#demo3 li:hover ~ li:before{
			left: 0;
		}
		
		/***************样式4   *********/
		#demo4 li:before{
			content: '';
			position: absolute;
			width: 0;
			left: 0;
			bottom: 0;
			height: 5px;
			background-color: coral;
		}
		#demo4 li:after{
			content: '';
			position: absolute;
			width: 0;
			right: 0;
			bottom: 0;
			height: 5px;
			background-color: coral;
		}
		#demo4 li:hover:before{
			width: 50%;
			transition: all 0.3s ease-in-out; 
		}
		#demo4 li:hover:after{
			width: 50%;
			transition: all 0.3s ease-in-out;
		}
	</style>


如果对你有所帮助,点赞+收藏 再走


向上的路并不拥挤,而大多数人选择了安逸