文字到底能玩出多少花样(二)background-clip实现hover文字填充效果

简介: 文字到底能玩出多少花样(二)background-clip实现hover文字填充效果

前言


该文作为《文字到底能玩出多少花样》的第二篇文章,带大家学习 background-clip实现hover文字填充效果


基础知识


在文章的最开始,还是带大家来学习几个预备小知识。


  1. background-clip:  设置元素的背景(背景图片或颜色)是否延伸到边框、内边距盒子、内容盒子下面。有四个属性值,下面来一一介绍一下:


  • border-box: 背景延伸至边框外沿(但是在边框下层)
  • padding-box: 背景延伸至内边距(padding)外沿。不会绘制到边框处
  • content-box: 背景被裁剪至内容区(content box)外沿
  • text: 背景被裁剪成文字的前景色


具体属性值演示可以参考: background-clip


  1. -webkit-text-stroke: 文字描边效果的宽与颜色,详情可以见下面案例。


<style>
.stroke {
    -webkit-text-stroke: 2px red;
    font-size: 200px;
}
</style>
<p class="stroke"></p>
复制代码


image.png

代码实现


描边文字实现


在基础知识部分,讲解过 -webkit-text-stroke 属性,可以设置文字描边,但文字颜色会和描边颜色同时存在(详情见上图),此时只需要设置 color: transparent 将文字颜色置为透明色,就可以实现只有描边,文字部分镂空的效果。


具体见下面代码和绘制完的描边文字图像


a {
    font-size: 100px;
    text-decoration: none;
    text-transform: uppercase;
    -webkit-text-stroke: 2px #198ce6;
    color: transparent;
    transition: 0.5s linear;
}
复制代码

image.png

background-clip设置


background-clip: text 可以把背景裁剪成文字的前景色,设置背景颜色为 #198ce6,再通过 background-clip: text 就可以控制背景在文字镂空部分显示。


background: linear-gradient(#198ce6 0 100%)  no-repeat;
-webkit-background-clip: text;
background-clip: text;
复制代码


设置后的效果如下:


image.png


设置hover动画效果


上面已经成功设置了背景在文字镂空部分显示,那么剩下就只有动画部分待实现。 CSS3 提供了 transition 属性可以设置简单的动画,因此只需将背景色默认值设置为 0hover 时恢复 100% 就能实现封面效果。


a{
    background: linear-gradient(#198ce6 0 100%) left/0 no-repeat;
    transition: 0.5s linear;
}
a:hover {
    background-size: 100%;
}
复制代码


源码仓库


传送门: background-clip实现hover文字填充效果


相关文章
|
2月前
|
前端开发 数据可视化 容器
前端基础(十六)_BFC、box-shadow(盒子阴影)、text-shadow(文字阴影)
本文介绍了前端开发中块级格式化上下文(BFC)的概念和作用,以及如何创建BFC。同时,文章还讲解了`box-shadow`和`text-shadow`属性的用法,包括如何为元素添加阴影效果,并通过示例代码展示了这些属性的具体应用。
31 0
前端基础(十六)_BFC、box-shadow(盒子阴影)、text-shadow(文字阴影)
|
索引
echarts x轴文字显示不全(xAxis文字倾斜比较全面的3种做法值得推荐)
echarts x轴标签文字过多导致显示不全 如图: 解决办法1:xAxis.axisLabel 属性 axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置。(当然yAxis也是一样有这个属性的) ...
4145 0
|
6月前
如何实现图片多种颜色的文字混排并且带的背景颜色范围比文字图片范围大
如何实现图片多种颜色的文字混排并且带的背景颜色范围比文字图片范围大
42 1
|
6月前
|
前端开发
css样式字体、文本、背景属性,盒子模型详解,轻松调教出优美的字体和网页背景色
css样式字体、文本、背景属性,盒子模型详解,轻松调教出优美的字体和网页背景色
|
前端开发
webkit-box-reflect,前端Css文字倒影,制作炫酷的时钟倒影效果.
webkit-box-reflect,前端Css文字倒影,制作炫酷的时钟倒影效果.
106 0
|
前端开发
css实现文字的条纹阴影效果
css实现文字的条纹阴影效果
112 1
CSS3文本居中显示、圆形圆角绘制、立体阴影效果设置实例演示
CSS3文本居中显示、圆形圆角绘制、立体阴影效果设置实例演示
132 0
|
JSON 前端开发 JavaScript
Threejs引入字体,实现3D文字,Canvas画布作为纹理贴图实现滚动字幕
Threejs引入字体,实现3D文字,Canvas画布作为纹理贴图实现滚动字幕
941 0
Threejs引入字体,实现3D文字,Canvas画布作为纹理贴图实现滚动字幕
|
前端开发
CSS高级技巧——鼠标样式,轮廓,文本域防拖拽,vertical-align 垂直对齐,文字溢出问题
CSS高级技巧——鼠标样式,轮廓,文本域防拖拽,vertical-align 垂直对齐,文字溢出问题
233 0
CSS高级技巧——鼠标样式,轮廓,文本域防拖拽,vertical-align 垂直对齐,文字溢出问题
|
前端开发
巧用 background-clip 实现超强的文字动效
巧用 background-clip 实现超强的文字动效
240 0
巧用 background-clip 实现超强的文字动效