我来为您讲解一下使用CSS实现“加号”效果的攻略。
我来为您讲解一下使用CSS实现“加号”效果的攻略。
一、通过动态伪类实现
HTML结构:
<div class="box">
<div class="plus"></div>
</div>
CSS样式:
.box {
width: 50px;
height: 50px;
background-color: #f2f2f2;
position: relative;
}
.plus {
width: 15px;
height: 2px;
background-color: #333;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
cursor: pointer;
}
.plus::before,
.plus::after {
content: "";
position: absolute;
width: 2px;
height: 15px;
background-color: #333;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
cursor: pointer;
}
.plus::before {
transform: translate(-50%, -50%) rotate(-90deg);
}
.plus:hover::before,
.plus:hover::after {
height: 25px;
}
代码实现思路:
通过在伪类 ::before
和 ::after
上设置相应的样式,来实现鼠标悬浮时 +
变成 ×
的效果。
二、通过CSS3动画实现
HTML结构同上。
CSS样式:
.box {
width: 50px;
height: 50px;
background-color: #f2f2f2;
position: relative;
}
.plus {
width: 15px;
height: 2px;
background-color: #333;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
cursor: pointer;
transition: all .2s ease-in-out;
}
.plus:hover {
transform: translate(-50%, -50%) rotate(45deg);
}
.plus::before,
.plus::after {
content: "";
position: absolute;
width: 2px;
height: 15px;
background-color: #333;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(0);
cursor: pointer;
transition: all .2s ease-in-out;
}
.plus:hover::before {
transform: translate(-50%, -50%) rotate(-45deg);
}
.plus:hover::after {
transform: translate(-50%, -50%) rotate(45deg);
}
代码实现思路:
通过设置 transform: translate(-50%, -50%) rotate(45deg)
,使 +
变成斜着的 ×
;通过设置 transform: translate(-50%, -50%) rotate(-45deg);
和 transform: translate(-50%, -50%) rotate(45deg);
,使 ×
旋转变成 +
,从而实现加号、减号效果的切换。
以上就是通过CSS实现“加号”效果的完整攻略,希望能对您有所帮助。
沃梦达教程
本文标题为:css实现“加号”效果的实例代码


猜你喜欢
- springmvc 发送ajax出现中文乱码的解决方法汇总 2022-12-15
- JavaScript设计模式之职责链模式详解 2022-10-22
- CSS first-chjld伪类属性匹配一个序列的第一个元素 2024-01-02
- Javascript File和Blob详解 2023-08-08
- TypeScript 泛型重载函数的使用方式 2022-10-21
- 基于HTML5的可预览多图片Ajax上传 2023-01-20
- 基于vue实现探探滑动组件功能 2024-01-02
- php – Apache / CentOS 7:/ var / www / html /由root拥有但是创建了apache拥有的文件 – 我该如何解决这个问题? 2023-10-25
- Layui如何使用折叠表格,以及默认自动折叠 2022-10-20
- 基于Jquery ajax技术实现间隔N秒向某页面传值 2022-10-17