CSS3绘制有活力的链接下划线


Posted in HTML / CSS onJuly 14, 2016

链接下划线是非常常见的一种样式,最近做了一个非常简单的视觉效果,非常不错,完整代码查看。

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.   <meta charset="gb2312">  
  5.   <meta name="viewport" content="width=device-width">  
  6.   <title>JS Bin</title>  
  7. <style>  
  8. body{   
  9.   background-color: #000;   
  10. }   
  11.   
  12. h2{    
  13.   text-align: center;   
  14.   margin-top: 100px;   
  15. }   
  16.   
  17. h2 > a {   
  18.   position: relative;   
  19.   color: #FFF;   
  20.   text-decoration: none;   
  21.   padding-bottom: 5px;   
  22. }   
  23.   
  24. h2 > a:hover {   
  25.   color: #FFF;   
  26. }    
  27.   
  28. h2 > a:before {   
  29.   content: "";   
  30.   position: absolute;   
  31.   width: 100%;   
  32.   height: 2px;   
  33.   bottom: 0;   
  34.   left: 0;   
  35.   background-color: #FFF;   
  36.   visibility: hidden;   
  37.   -webkit-transform: scaleX(0);   
  38.   transform: scaleX(0);   
  39.   -webkit-transition: all 0.3s ease-in-out 0s;   
  40.   transition: all 0.3s ease-in-out 0s;   
  41. }   
  42.   
  43. h2 > a:hover:before {   
  44.   visibility: visible;   
  45.   -webkit-transform: scaleX(1);   
  46.   transform: scaleX(1);   
  47. }   
  48. </style>  
  49. </head>  
  50. <body>  
  51.    <h2>  
  52.      <a href="/">悬停在我上面</a>  
  53.    </h2>  
  54. </body>  
  55. </html>  
  56.   

创建这种效果是非常简单的,不需要添加额外的DOM元素到HTML,不过需要考虑一下浏览器的兼容性问题,在老旧版本的浏览器中它只会显示为一个普通的下划线。

好了,现在正式开始。我们需要做的第一件事就是去除text-decoration,并设置链接为相对定位。我们需要确保链接在hover时不会改变颜色,这里我们拿h2举例:

CSS Code复制内容到剪贴板
  1. h2 > a {   
  2.       positionrelative;   
  3.       color#000;   
  4.       text-decorationnone;   
  5. }   
  6.   
  7. h2 > a:hover {   
  8.       color#000;   
  9. }       
  10.   

接下来,我们要添加border,通过变换隐藏它。插入一个:before并且设置它scaleX(0),保守起见,如果浏览器不支持,我们通过visibility: hidden隐藏它。

CSS Code复制内容到剪贴板
  1. h2 > a:before {   
  2.       content"";   
  3.       positionabsolute;   
  4.       width: 100%;   
  5.       height2px;   
  6.       bottombottom: 0;   
  7.       left: 0;   
  8.       background-color#000;   
  9.       visibilityhidden;   
  10.       -webkit-transform: scaleX(0);   
  11.       transform: scaleX(0);   
  12.       -webkit-transition: all 0.3s ease-in-out 0s;   
  13.       transition: all 0.3s ease-in-out 0s;   
  14. }   
  15.   

最后设置动画时间为0.3s,现在我们只需要设置元素在hover时显示并且scaleX(1):

CSS Code复制内容到剪贴板
  1. h2 > a:hover:before {   
  2.       visibilityvisible;   
  3.       -webkit-transform: scaleX(1);   
  4.       transform: scaleX(1);   
  5. }  

大功告成!

这样就完成了一个很有活力的下划线动画。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
html5+css3气泡组件的实现
Nov 21 HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
Jun 22 HTML / CSS
10分钟理解CSS3 FlexBox弹性布局
Dec 20 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
Nov 24 HTML / CSS
HTML5移动端手机网站开发流程
Apr 25 HTML / CSS
HTML5 拖放功能实现代码
Jul 14 HTML / CSS
完美解决IE8下不兼容rgba()的问题
Mar 31 HTML / CSS
如何用canvas实现在线签名的示例代码
Jul 10 HTML / CSS
HTML5 manifest离线缓存的示例代码
Aug 08 HTML / CSS
html5自定义video标签的海报与播放按钮功能
Dec 04 HTML / CSS
AmazeUI 折叠面板的实现代码
Aug 17 HTML / CSS
AmazeUI中模态框的实现
Aug 19 HTML / CSS
CSS3实现时间轴效果
Jul 11 #HTML / CSS
CSS3实现10种Loading效果
Jul 11 #HTML / CSS
CSS3实现可爱的小黄人动画
Jul 11 #HTML / CSS
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
Jul 08 #HTML / CSS
分享CSS3制作卡片式图片的方法
Jul 08 #HTML / CSS
CSS3制作缩略图的详细过程
Jul 08 #HTML / CSS
CSS3制作圆角图片和椭圆形图片
Jul 08 #HTML / CSS
You might like
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
php生成QRcode实例
2014/09/22 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
js实现微博发布小功能
2017/01/12 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
python生成验证码图片代码分享
2016/01/28 Python
python hook监听事件详解
2018/10/25 Python
Python实现微信小程序支付功能
2019/07/25 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
Python标准库itertools的使用方法
2020/01/17 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
法国时尚童装网站:Melijoe
2016/08/10 全球购物
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
GNC健安喜官方海外旗舰店:美国著名保健品牌
2017/01/04 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
高三学习决心书
2014/03/11 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
给校长的一封检讨书
2014/09/20 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
Java 多线程协作作业之信号同步
2022/05/11 Java/Android