六种css3实现的边框过渡效果


Posted in HTML / CSS onApril 22, 2021

六种效果

六种css3实现的边框过渡效果

实现代码

html

<h1>CSS Border Transitions</h1>

<section class="buttons">
  <button class="draw">Draw</button>

  <button class="draw meet">Draw Meet</button>

  <button class="center">Center</button>

  <button class="spin">Spin</button>

  <button class="spin circle">Spin Circle</button>

  <button class="spin thick">Spin Thick</button>
</section>

css3

button {
  background: none;
  border: 0;
  box-sizing: border-box;
  margin: 1em;
  padding: 1em 2em;
  box-shadow: inset 0 0 0 2px #f45e61;
  color: #f45e61;
  font-size: inherit;
  font-weight: 700;
  position: relative;
  vertical-align: middle;
}
button::before, button::after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
}

.draw {
  transition: color 0.25s;
}
.draw::before, .draw::after {
  border: 2px solid transparent;
  width: 0;
  height: 0;
}
.draw::before {
  top: 0;
  left: 0;
}
.draw::after {
  bottom: 0;
  right: 0;
}
.draw:hover {
  color: #60daaa;
}
.draw:hover::before, .draw:hover::after {
  width: 100%;
  height: 100%;
}
.draw:hover::before {
  border-top-color: #60daaa;
  border-right-color: #60daaa;
  transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
}
.draw:hover::after {
  border-bottom-color: #60daaa;
  border-left-color: #60daaa;
  transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
}

.meet:hover {
  color: #fbca67;
}
.meet::after {
  top: 0;
  left: 0;
}
.meet:hover::before {
  border-top-color: #fbca67;
  border-right-color: #fbca67;
}
.meet:hover::after {
  border-bottom-color: #fbca67;
  border-left-color: #fbca67;
  transition: height 0.25s ease-out, width 0.25s ease-out 0.25s;
}

.center:hover {
  color: #6477b9;
}
.center::before, .center::after {
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transform-origin: center;
}
.center::before {
  border-top: 2px solid #6477b9;
  border-bottom: 2px solid #6477b9;
  transform: scale3d(0, 1, 1);
}
.center::after {
  border-left: 2px solid #6477b9;
  border-right: 2px solid #6477b9;
  transform: scale3d(1, 0, 1);
}
.center:hover::before, .center:hover::after {
  transform: scale3d(1, 1, 1);
  transition: transform 0.5s;
}

.spin {
  width: 5em;
  height: 5em;
  padding: 0;
}
.spin:hover {
  color: #0eb7da;
}
.spin::before, .spin::after {
  top: 0;
  left: 0;
}
.spin::before {
  border: 2px solid transparent;
}
.spin:hover::before {
  border-top-color: #0eb7da;
  border-right-color: #0eb7da;
  border-bottom-color: #0eb7da;
  transition: border-top-color 0.15s linear, border-right-color 0.15s linear 0.1s, border-bottom-color 0.15s linear 0.2s;
}
.spin::after {
  border: 0 solid transparent;
}
.spin:hover::after {
  border-top: 2px solid #0eb7da;
  border-left-width: 2px;
  border-right-width: 2px;
  transform: rotate(270deg);
  transition: transform 0.4s linear 0s, border-left-width 0s linear 0.35s;
}

.circle {
  border-radius: 100%;
  box-shadow: none;
}
.circle::before, .circle::after {
  border-radius: 100%;
}

.thick {
  color: #f45e61;
}
.thick:hover {
  color: #fff;
  font-weight: 700;
}
.thick::before {
  border: 2.5em solid transparent;
  z-index: -1;
}
.thick::after {
  mix-blend-mode: color-dodge;
  z-index: -1;
}
.thick:hover::before {
  background: #f45e61;
  border-top-color: #f45e61;
  border-right-color: #f45e61;
  border-bottom-color: #f45e61;
  transition: background 0s linear 0.4s, border-top-color 0.15s linear, border-right-color 0.15s linear 0.15s, border-bottom-color 0.15s linear 0.25s;
}
.thick:hover::after {
  border-top: 2.5em solid #f45e61;
  border-left-width: 2.5em;
  border-right-width: 2.5em;
}

/* Page styling */
html {
  background: #fefefe;
}

body {
  background: #fefefe;
  color: #4b507a;
  font: 300 24px/1.5 Lato, sans-serif;
  margin: 1em auto;
  max-width: 36em;
  padding: 1em 1em 2em;
  text-align: center;
}

.buttons {
  isolation: isolate;
}

h1 {
  font-weight: 300;
  font-size: 2.5em;
}

以上就是六种css3实现的边框过渡效果的详细内容,更多关于CSS3 边框过渡的资料请关注三水点靠木其它相关文章!

 
HTML / CSS 相关文章推荐
使用JS+CSS3技术:让你的名字动起来
Apr 27 HTML / CSS
可自定义箭头样式的CSS3气泡提示框
Mar 16 HTML / CSS
CSS3让登陆面板3D旋转起来
May 03 HTML / CSS
CSS3实现鼠标悬停显示扩展内容
Aug 24 HTML / CSS
CSS3新增布局之: flex详解
Jun 18 HTML / CSS
CSS3 实现弹跳的小球动画
Oct 26 HTML / CSS
W3C公布最新的HTML5标准草案
Oct 17 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
Jan 31 HTML / CSS
html5 div布局与table布局详解
Nov 16 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
Nov 14 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
Mar 31 HTML / CSS
Html5同时支持多端sdk的小技巧
Nov 17 HTML / CSS
HTML+CSS+JS实现图片的瀑布流布局的示例代码
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
CSS预处理框架——Stylus
Apr 21 #HTML / CSS
基于CSS3画一个iPhone
CSS3 实现NES游戏机的示例代码
css实现文章分割线样式的多种方法总结
Apr 21 #HTML / CSS
You might like
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
Python实现的生成格雷码功能示例
2018/01/24 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
简单了解python中的与或非运算
2019/09/18 Python
Python多线程正确用法实例解析
2020/05/30 Python
python drf各类组件的用法和作用
2021/01/12 Python
计算机本科生自荐信
2013/10/15 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
员工工作表现评语
2014/04/26 职场文书
小学生常见病防治方案
2014/06/06 职场文书
关于环保的标语
2014/06/13 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
python实现高效的遗传算法
2021/04/07 Python