CSS3-background-image渐变
2024-10-22 07:35:13
实现效果如下:
观察发现鼠标放上去的时候出现了三个变化,渐变背景,文字位移和图片放大。
渐变背景:background-image: linear-gradient(transparent,rgba(0, 0, 0, .6)); // 从transparent白色到0.6透明度的黑色。默认情况下背景遮罩不显示(opacity:0),hover的时候定位到盒子上(opacity:1)
文字位移:transform:translate(0,80px) // 水平位置保持不变,垂直方向隐藏”查看更多“这几个字。当鼠标hover的时候进行还原 transform: translate(0, 0);
图片放大:当鼠标hover的时候 transform:scale(1.1) 实现放大
整体代码如下:
1 <div class="box">
2 <img src="../images/product.jpeg" alt="">
3 <div class="dis">
4 <p>OceanStor Pacific 海量存储斩获2021 Interop金奖</p>
5 <p>查看更多</p>
6 </div>
7 <div class="mask"></div>
8 </div>
1 <style>
2 .box {
3 position: relative;
4 width: 768px;
5 height: 542px;
6 overflow: hidden;
7 }
8
9 .box .dis {
10 position: absolute;
11 left: 10px;
12 bottom: 10px;
13 font-size: 26px;
14 color: #fff;
15 transform: translate(0, 80px);
16 z-index: 1;
17
18 transition: all .5s;
19 }
20
21 .box:hover .dis {
22 transform: translate(0, 0);
23 }
24
25 .box img {
26 transition: all .5s;
27 }
28
29 .box:hover img {
30 transform: scale(1.1);
31 }
32
33 .mask {
34 position: absolute;
35 top: 0;
36 left: 0;
37 width: 768px;
38 height: 542px;
39 opacity: 0;
40 background-image: linear-gradient(transparent,
41 rgba(0, 0, 0, .6));
42 transition: all .2s;
43 }
44
45 .box:hover .mask {
46 opacity: 1;
47 }
48 </style>
注意要让文字保持在最前面(z-index:1),否则加上背景遮罩会影响文字的显示效果
最新文章
- 不就ideas嘛,谁没有!
- linux命令(2):cd命令
- java项目的划分方式:模块优先还是层优先?
- 【python】入门学习(三)
- 用Handler图片轮播练习
- css 兼容
- 可接受多个值的文件上传字段HTML5新特性
- easyui 表单和自定义验证扩展和js自定义返回值
- python模块之socket
- Qt录音程序
- ABP跨域调用API时出现的问题
- yum的配置文件介绍
- LeetCode题解之 Sum of Left Leaves
- Django 添加应用
- JS 数组Array常用方法
- 20155301 滕树晨linux基础——linux进程间通信(IPC)机制总结
- android.webkit.WebView/WebViewClient/WebChromeClient
- UVALive - 6868 Facility Locations 想法题
- zabbix 监控ipmi
- 使用GIT时排除NuGet的packages文件夹