纯css实现:文字可换行的下划线、波浪线等效果

您所在的位置:网站首页 css下划线怎么设置颜色 纯css实现:文字可换行的下划线、波浪线等效果

纯css实现:文字可换行的下划线、波浪线等效果

2024-04-16 04:57| 来源: 网络整理| 查看: 265

这是我参与更文挑战的第24天,活动详情查看: 更文挑战

前言

今天领导开会时说努力工作会更快成熟,比如大冰块同学就比起刚进公司时就成熟了不少,我若有所思,上卫生间时照照镜子才发现,哦~原来我现在看上去比他们都老。

哈!以上先讲个段子开心一下,现在又到了夜深人静的时刻,开始我的更文大业~ 今天更点简单但是很有意思的 —— 文字下划线效果。这是一个不经常用,但是业务场景涉及到的话就是不可避免的功能,比如我们现在的某个业务,需要领导审批时做标记,标记的文字要有下划线或者波浪线的效果。

过程

虽然文字下划线有官方的属性 text-decoration,但是我们优秀的设计小姐姐当然不会采用默认的样式,设计小姐姐总有自己的想法,并且构思总是不受技术的约束,设计小姐姐对我说默认的下划线样式太丑,无法修改,她要能粗细长短高低都随她心意变化的,我看了一下:

image.png

嗯~ 是有一点丑,主要是粗细长短高低不能随她心意变化,那就听设计小姐姐的意思重新写一个吧!

作为一名本着能简单就不复杂的前端摸鱼大师,我决定用border边框去实现它,于是我3秒钟敲出了如下代码:

p{ display: inline-block; border-bottom: 2px solid aquamarine; } 南极大冰块

运行效果如下:

image.png

添加line-height: 10px;之后效果如下:

image.png

我说,你看这个颜色可以变了,最重要的是粗细、长短、位置的高低,是不是都能随你心意变化了?

设计小姐姐若有所思的样子,说:这个文字换行之后什么效果呢?

换行之后的效果:

image.png

设计小姐姐撅起了嘴,这样子肯定不行嘛!上面文字的下划线怎么没了?

嗐~ 看来不能愉快的摸鱼了,难不成用box-shadow来实现?不过box-shadow实现的效果应该是和border-bottom一样...这样思考起来,只能用 —— background: linear-gradient()渐变背景属性来解决这个问题了。

还记得我之前一篇文章《纯css实现:多行文本框内的斑马条纹效果》吗?多行的文本背景色能实现,那么顺着这个思路说起来,我把文字对应的背景色改为透明的,文字下面的背景色改为1px指定颜色的,岂不是大功告成?

我真是个天才啊~

正当我构思完代码,准备花10秒钟敲出代码的时候,设计小姐姐又发话了:

哎呀,你怎么想这么久,这很难吗?我要是会敲代码,早就搞完啦!这样吧,我不仅要直线的下划线,还要曲线的下划线,并且下划线的样式不能是纯色的......巴拉巴拉......

我面带微笑的看着她,任凭她舌灿莲花滔滔不绝,殊不知我早已想好了另一个对策 —— background背景属性中的 background-image !

对css渐变背景感兴趣的可以看我之前这篇文章:《如何把css渐变背景玩出花样来》~

当设计小姐姐终于说完了要求,我说小意思,这都能实现,哪怕你要求文本下面是贴画的线条呢,我也能实现,实现的基础很简单,把你要的样式给我 —— 切图~

最终我花费了20秒钟完成了设计小姐姐的要求,代码如下:

.straight-line{ background-image: url('./straight.png'); /* 直线宽5px的图片 */ background-position: 0 100%; background-repeat: repeat-x; background-size: 100% 3px; padding-bottom: 2px; } .wavy-line{ background-image: url('./wavy.png'); /* 波浪线宽2px的图片 */ background-size: 9px 4px; background-position: 0 100%; background-repeat: repeat-x; padding-bottom: 3px; } 我希望南极大冰块下划线是直线 我希望南极大冰块下划线是波浪线

实现效果如下:

image.png

大功告成,继续我的摸鱼大业~

后记

希望大冰块今天分享的内容能对你有所帮助,下划线这个场景的确用到的地方不多,不过前端生涯基本都会有类似的需求,虽然实现起来很简单,但是一时半会可能想不到这个思路,所以有时间的话,也可以自己动手写一遍,避免眼高手低,同时理一下用到的css属性哦~

今天是我坚持日更的第二十四天,今天还是加班的一天,回家之后马上十点,还是坚持想题材更了这篇文章,写的过程还蛮顺利的~

每天输出一点点,进步一点点。有志者,事竟成。大家一起加油呀~

如果本文对你有帮助,别再是悄悄收藏啦!比如点个赞呀,关注大冰块呀,一起和大冰块学习更多好玩的技术博客吧~

d2a3b6f182407290c859b16b1d4715a3.gif

更文挑战的文章目录如下: 2021.06.01 《多图预警!详细谈谈Flex布局的容器元素和项目元素的属性~》 2021.06.02 《如何把css渐变背景玩出花样来》 2021.06.03 《如何使用SVG制作沿任意路径排布的文字效果》 2021.06.04 《3大类15小类前端代码规范,让团队代码统一规范起来!》 2021.06.05 《团队管理之git提交规范:大家竟然都不会写commit记录?| 周末学习》 2021.06.06 《如何控制css鼠标样式以及扩大鼠标点击区域 | 周末学习》 2021.06.07 《纯css实现:仿掘金账户密码登录时,小熊猫捂眼动作切换的小彩蛋》 2021.06.08 《从11个方面详细谈谈原型和原型链》 2021.06.09 《深入谈谈JavaScript的作用域及作用域链》 2021.06.10 《JavaScript中的闭包究竟是什么》 2021.06.11 《纯css实现:炫酷的视频文本蒙版效果》 2021.06.12 《申请一个免费的毒鸡汤api,并且用原生JS实现竖行文本的打字机效果》 2021.06.13 《纯css实现:多行文本框内的斑马条纹效果》 2021.06.14 《原生JS实现触摸滑动监听事件》 2021.06.15 《原生JS实现鼠标滚轮触发页面横向滚动》 2021.06.16 《原生JS实现跳转或刷新页面时,浏览器提示当前页面未保存》 2021.06.17 《原生JS的三大基础弹框探究》 2021.06.18 《纯css实现:固定在页面底部的按钮》 2021.06.19 《纯css实现:单行文本的打字机动画效果》 2021.06.20 《纯css实现:如何做个完美的平行四边形》 2021.06.21 《谈谈基于JS实现阻止别人调试通过控制台调试网站的问题》 2021.06.22 《纯css实现:文字被颜色逐渐填满的特效》 2021.06.23 《h5实现一个刮刮卡的动画效果》


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3