欧米伽官方网站手表价格,太原做网站费用,优质网站建设的设计要点,店面设计薪酬如图所示#xff0c;这是一个文本阴影效果#xff0c;阴影有多个颜色#xff0c;鼠标悬停时文本阴影效果消失#xff0c;文本回到正常的效果。让我们逐步分解代码#xff0c;看看如何使用纯CSS实现这个效果的。
基于以上动图可以分析出以下是本次实现的主要几个功能点这是一个文本阴影效果阴影有多个颜色鼠标悬停时文本阴影效果消失文本回到正常的效果。让我们逐步分解代码看看如何使用纯CSS实现这个效果的。
基于以上动图可以分析出以下是本次实现的主要几个功能点
文本有多个颜色的阴影的效果文本有空心镂空的效果鼠标悬停时文本回到正常效果鼠标悬停时英文字体的粗细有变化
实现过程
多层颜色阴影
文字的阴影用text-shadow实现但是一般情况下我们都是只控制一个颜色多个颜色应该怎么控制呢其实该属性支持添加多个文本阴影层以创建特殊的阴影效果。每个层各自控制水平偏移量、垂直偏移量、模糊半径和颜色定义。这里的多个颜色的阴影代码如下
text-shadow: 10px 10px 0px #07bccc,15px 15px 0px #e601c0,20px 20px 0px #e9019a,25px 25px 0px #f40468,45px 45px 10px #482896;文本镂空效果
文字的镂空效果是用-webkit-text-stroke这个属性实现-webkit-text-stroke 是一个用于在网页中设置文本描边的 CSS 属性。它是 WebKit 浏览器引擎如Chrome、Safari的专有属性。
这个属性允许开发者为文字添加一条描边线使文字看起来更加突出和醒目。通过指定描边的宽度和颜色可以控制描边的外观。
语法如下
-webkit-text-stroke: width color;width 指定描边的宽度可以是正值或负值负值用于创建内部描边。color 指定描边的颜色值。
请看以下在浏览器中调试-webkit-text-stroke的效果。 文本粗细变化
文本粗细变化是基于 font-variation-settings 属性完成这个属性用于设置字体的变体属性。可以用来定义 OpenType 字体的变化轴variation axis和对应的值value以便控制字体的外观和样式。 OpenType 字体是一种可缩放字型的字体类型支持多种语言和高级排版功能的字体文件格式它提供了更大的灵活性和一致性使得设计师和排版师能够创建出更具创意和专业的排版作品。 它允许开发者通过调整字体的参数来获得不同的字形效果。这些参数可以包括字重weight、宽度width、斜度slant、粗细contrast等。
以下是 font-variation-settings 属性的语法
font-variation-settings: axis-name axis-value;axis-name 指定字体变体的轴名称如“wght”表示字重可以根据具体字体的支持情况选择对应的轴。axis-value 指定字体变体轴的值可以是一个数值或一个具体的字符串。
例如要设置字体的字重为 700可以使用以下代码
font-variation-settings: wght 700;需要注意的是font-variation-settings 属性需要字体本身支持相应的变体轴和值。由于不同浏览器支持的字体和变体轴可能有所不同本文的示例本文可以看到中文字体是没有发生变化的就是因为这里使用的字体不支持中文。
有兴趣的可以看这篇文章详细介绍CSS小技巧使用 font-variation 让文字起飞
这里的示例效果增加的代码如下
font-variation-settings: wght 900, ital 1;动画实现
接下来完成鼠标悬停时的动画效果基于以上完成的 font-variation-settings 和 text-shadow当鼠标悬停时设置文本阴影为none移除文本阴影消除多层阴影效果同时设置字体的粗细为100正常和字体样式设置为非斜体从而恢复默认设置的font-variation-settings属性值。这里因为设置了字体的粗细为100所以字体的镂空效果也会消失但这前提是使用的字体支持font-variation-settings属性。代码如下
main:hover {font-variation-settings: wght 100, ital 0;text-shadow: none;
}为了在悬停期间所应用的更改具有平滑的过渡效果还增加了transition: all 0.5s过渡设置持续时间为0.5秒。
优化版本
上面的版本是默认有阴影鼠标悬停后恢复正常以下将顺序调整为默认正常鼠标悬停后显示阴影效果并调整了阴影的颜色。 文本阴影代码如下
text-shadow: 10px 10px 0px #07bccc, 15px 15px 0px #01e647,20px 20px 0px #e9b701,25px 25px 0px #f40468,45px 45px 10px #482896;在线预览
码上掘金地址 https://code.juejin.cn/pen/7300188992132743220
最后
本文解析了通过 CSS text-shadow实现多层文字阴影效果并使用 font-variation-settings 和 -webkit-text-stroke 实现鼠标悬停时文本粗细以及文本阴影的变化有兴趣的朋友可以尝试看看~
看完本文如果觉得有用记得点个赞支持收藏起来说不定哪天就用上啦
专注前端开发分享前端相关技术干货公众号南城大前端ID: nanchengfe
参考
原文动画参考https://codepen.io/gayane-gasparyan/pen/vYmYMeV