爬行的蜗牛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: golang Linux PHP
查看: 143|回复: 0

有趣的css - 双开门按钮

[复制链接]

152

主题

48

回帖

1137

积分

管理员

积分
1137
发表于 2024-11-14 23:46:02 | 显示全部楼层 |阅读模式
整体效果

64002.gif
💎知识点:

1️:before 以及 :after 伪元素

2️:transform 以及 transition 属性

3️:flex 布局以及 position 定位

4️:hover 选择器
🔑思路:

定义好按钮通用样式,然后利用伪元素绘制两个矩形背景,当鼠标悬浮在按钮上方时,两个伪元素矩形背景过渡显示出来。

一个双开门的按钮,交互效果比较强,但是实现很简单,快学起来吧。

核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

HTML代码
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3.   <head>
  4.     <meta charset="utf-8">
  5.     <link rel="stylesheet" href="style.css">
  6.     <title>双开门按钮</title>
  7.   </head>
  8.   <body>
  9.     <div class="app">
  10.       <button class="btn69">button</button>
  11.     </div>
  12.   </body>
  13. </html>
复制代码
CSS部分代码
  1. /** style.css **/
  2. .app{
  3.   width: 100%;
  4.   height: 100vh;
  5.   background-color: #ffffff;
  6.   position: relative;
  7.   display: flex;
  8.   justify-content: center;
  9.   align-items: center;
  10. }
  11. .btn69{
  12.   width: 120px;
  13.   height: 50px;
  14.   background-color: transparent;
  15.   color: #333333;
  16.   font-size: 16px;
  17.   font-weight: bold;
  18.   letter-spacing: 2px;
  19.   border: none;
  20.   cursor: pointer;
  21.   position: relative;
  22.   display: flex;
  23.   justify-content: center;
  24.   align-items: center;
  25.   z-index: 1;
  26.   transition: color 0.3s ease-in-out;
  27. }
  28. .btn69:before,.btn69:after{
  29.   content: '';
  30.   width: 0;
  31.   height: 50px;
  32.   background-color: #0093E9;
  33.   position: absolute;
  34.   top: 0;
  35.   right: 60px;
  36.   z-index: -1;
  37.   transition: width 0.3s ease-in-out;
  38. }
  39. .btn69:after{
  40.   left: 60px;
  41. }
  42. .btn69:hover:before,.btn69:hover:after{
  43.   width: 60px;
  44. }
  45. .btn69:hover{
  46.   color: #ffffff;
  47. }
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表