文字到底能玩出多少花样(三)使用background实现花式下划线

简介: 文字到底能玩出多少花样(三)使用background实现花式下划线

前言


该文作为《文字效果到底能玩出多少花样》的第三篇文章,带大家学习 background实现各种下划线效果


基础知识


按照惯例,首先进行基础知识的学习。


  1. background-size: 指定背景图像的大小


  • length: 设置背景图片的高度和宽度,第一个值为高度,第二个值为宽度
  • percentage: 将计算相对于背景定位区域的百分比。第一个值设置宽度,第二个值设置的高度。
  • cover: 保持图片的宽高比并将图像缩放成将完全覆盖背景定位区域的最小大小
  • contain: 此时会保持图像的宽高比并将图像缩放成将适合背景定位区域的最大大小。


background实现下划线


文字的下划线其实并不难实现,css3 提供的 text-decoration 属性就可以轻易实现,但这里咱们使用 background 来实现一下。


设置背景颜色 background 为渐变颜色,之后通过上面学习 background-size 将高度设置为 3px 就可以实现下划线效果。


span {
    background: linear-gradient(90deg, #0cc, #0cc);
    background-size: 100% 3px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    color: #0cc;
}
复制代码

image.png


下滑虚线实现


background 实现下划线功能怎么都感觉有几分大材小用,那咱们需求升级一下,生成下滑虚线效果。


下划虚线与下划线的区别只在于虚线部分,因此 background-size 无需修改,那该如何实现那?


很简单,只需要设置背景为一半透明,一半蓝色,使用 background-repeat 就能实现。下面直接来看代码


background: linear-gradient(90deg, #0cc 50%, transparent 50%, transparent 1px);
background-size: 10px 2px;
background-repeat: repeat-x;
复制代码


image.png


实现hover时出现的渐变下划线


感觉上面的还是很简单,继续难度加大,当 hover 时,文字底部出现渐变的下划线(封面效果三)。


咱们来分析一下需求:


  • 渐变下划线: 实现起来比较简单,background: linear-gradient 使用渐变色即可
  • 渐渐出现: 动画效果,使用 transition 实现
  • hover 时显示: hover 伪类
  • 下划线从 0 到全部显示: 下划线是通过 background 实现的,并且可以通过配置 background-position 设置其显示大小,那么我们可以初始化时设置为不显示 ,hover 时设置为 100% 就可以实现。


a{
    background-size: 0 3px;
    background-position: 0 100%;
    transition: 1s all;
}
a:hover {
    background-size: 100% 3px;
    color: #000;
}
复制代码

image.png

源码仓库



相关文章
|
数据可视化 API 开发者
通俗易懂:一步步教你 Flask 项目自动生成 API 文档
Flasgger,作为一款强大的 Flask 扩展,自动从 Flask 应用中提取并生成 OpenAPI 规范文档,配备 SwaggerUI,为开发者提供了一条快捷通道,让 API 的文档编制和交互式测试变得简单易行。Flasgger 的设计原则是简化开发流程,通过与 Flask 框架的无缝整合,让开发者可以更专注于应用逻辑的构建。
|
定位技术
阿里架构总监一次讲透中台架构,13页PPT精华详解,建议收藏!
本文整理了阿里几位技术专家,如架构总监 谢纯良,中间件技术专家 玄难等几位大牛,关于中台架构的几次分享内容,将业务中台形态、中台全局架构、业务中台化、中台架构图、中台建设方法论、中台组织架构、企业中台建设实施步骤等总共13页PPT精华的浓缩,供大家学习借鉴。
39553 97
|
7月前
|
人工智能 小程序 前端开发
一个小程序轻量AR体感游戏,开发实现解决方案
针对青少年运动兴趣不足问题,AR体感游戏凭借沉浸式互动体验脱颖而出。结合小程序“AI运动识别”插件与WebGL渲染技术,可实现无需外设的轻量化AR健身游戏,如跳糕、切水果等,兼具趣味性与锻炼效果,适用于儿童健身及职工团建,即开即玩,低门槛高参与。
|
6月前
|
人工智能 自然语言处理 搜索推荐
2025国内智能客服系统有哪些值得推荐?支持免费试用的有哪些?
2025年,大模型驱动智能客服迈向“超级Agent”时代。瓴羊Quick Service、智齿科技、合力亿捷、腾讯云Desk、Zendesk等产品依托AI技术,实现全渠道、全场景服务升级,支持免费试用,助力企业高效转型。
|
Web App开发 小程序 Android开发
Appium微信小程序自动化环境准备
Appium微信小程序自动化环境准备
929 1
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
361 1
Java—多线程实现生产消费者
|
Docker 容器
marco-o1 + ollama + Open-WebUI 实现 o1 的折叠推理效果
marco-o1 + ollama + Open-WebUI 实现 o1 的折叠推理效果
1501 2
|
存储 NoSQL 固态存储
阿里云服务器云盘选择参考,ESSD Entry云盘和Entry云盘区别
在我们选择阿里云服务器系统盘和数据盘的时候,有部分云服务器同时支持ESSD Entry云盘和ESSD云盘,对于部分初次接触阿里云服务器的用户来说,可能并不是很清楚他们之间的区别,因此不知道选择哪种更好更能满足自己场景的需求,本文为大家介绍一下阿里云服务器ESSD Entry云盘和ESSD云盘的区别及选择参考。
|
存储 编解码 算法
视频编码格式和封装格式有什么关系?相机常见的编码格式有哪些?
视频编码格式与封装格式的关系类似于酒与酒瓶的关系。编码格式是视频的核心内容,如H.264、H.265等,而封装格式则是将视频、音频、字幕等集成在一起的外壳,如MP4、MKV等。不同的封装格式适应不同的播放需求,例如MP4兼容性最好,MKV适合网络传播。
|
Java 数据安全/隐私保护
Java 封装详解
在 Java 中,封装是面向对象编程的关键特性,通过将对象的状态(数据)和行为(方法)结合并利用访问控制保护数据,防止外部随意访问和修改。主要特点包括访问控制(如 `private` 和 `protected`)、数据隐藏及方法暴露(如 getter 和 setter)。封装的优点在于保护数据、隐藏实现细节、易于维护以及提高代码可读性。下面是一个简单的 `Person` 类封装示例,展示了如何通过 getter 和 setter 控制对类内部状态的访问,并进行合法性检查。总结而言,封装有助于构建清晰、易用且可维护的代码结构,是编写高质量 Java 程序的重要原则。
522 8