前言:哈喽,大家好,今天给大家分享html+css 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕
目录
- 一、效果
- 二、原理解析
- 1.这是一个,hover翻转按钮的效果。这其实是用==一个元素==实现的。每个按钮添加了伪元素before和after所以是由3部分组成,a,a:before,a:after,如下图。
- 1.1 重要点1:
- 1.2 重要点2:
- 1.3 按钮组成关系。
- 2.当按钮上有鼠标时,hover效果触发,运行==transition过渡动画==效果。
- 3.具体的变换参数,直接==看代码==,可以一键复制,查看效果
- 三、上代码,可以直接复制使用
- 目录
- html
- css
一、效果
二、原理解析
1.这是一个,hover翻转按钮的效果。这其实是用一个元素实现的。每个按钮添加了伪元素before和after所以是由3部分组成,a,a:before,a:after,如下图。
<a class="overturnBut" data-back="求点赞" data-front="求点赞"></a>
1.1 重要点1:
content
伪元素before和after的content是采用了属性变量 content: attr(data-front);
和content: attr(data-back);
所以看上去像2个元素。
1.2 重要点2:
transform
before元素transform: translateY(0) rotateX(0);
正常没有变化
after元素 transform: translateY(-50%) rotateX(90deg);
后移(y轴后移50%)、旋转90度,相当于不显示了。
1.3 按钮组成关系。
2.当按钮上有鼠标时,hover效果触发,运行transition过渡动画效果。
/*当hover时*/
.overturnBut:hover:after {
opacity: 1;
transform: translateY(0) rotateX(0);
}
.overturnBut:hover:before {
/*opacity: 0;*/
transform: translateY(50%) rotateX(90deg);
}
3.具体的变换参数,直接看代码,可以一键复制,查看效果
三、上代码,可以直接复制使用
目录
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>html+css 实现hover 翻转按钮</title>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="container">
<h1 style="text-align: center;color:#fff;margin-bottom: 50px;padding-top: 50px; text-shadow: 0 3px 3px #4c6ed3;">
html+css 实现hover 翻转按钮</h1>
<div class="wrapper">
<a class="overturnBut" data-back="求点赞" data-front="求点赞"></a>
<a class="overturnBut" data-back="求关注" data-front="求关注"></a>
<a class="overturnBut" data-back="求收藏" data-front="求收藏"></a>
<a class="overturnBut" data-back="求转发" data-front="求转发"></a>
</div>
</div>
</body>
</html>
css
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--btn-bg-color: #fff;
--font-color-black: #000;
--btn-bg-color-hover: #FF5833;
}
.container {
min-height: 100vh;
background-color: #0e1538;
}
.wrapper {
margin-top: 130px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 40px;
}
.overturnBut{
opacity: 1;
outline: 0;
color: #fff;
line-height: 40px;
position: relative;
text-align: center;
letter-spacing: 1px;
display: inline-block;
text-decoration: none;
font-family: "微软雅黑";
font-weight: 700;
text-transform: uppercase;
}
.overturnBut:before {
top: 0;
left: 0;
opacity: 1;
color: #adadaf;
display: block;
padding: 0 30px;
line-height: 40px;
transition: 0.5s;
position: relative;
background: #323237;
content: attr(data-front);
transform: translateY(0) rotateX(0);
}
.overturnBut:after {
top: 0;
left: 0;
opacity: 0;
width: 100%;
color: #323237;
display: block;
transition: 0.5s;
position: absolute;
background: #adadaf;
content: attr(data-back);
transform: translateY(-50%) rotateX(90deg);
}
/*当hover时*/
.overturnBut:hover:before {
/*opacity: 0;*/
transform: translateY(50%) rotateX(90deg);
}
.overturnBut:hover:after {
opacity: 1;
transform: translateY(0) rotateX(0);
}
到此这篇文章就介绍到这了,更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家,希望大家多多支持宝码香车~💕
更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作