CSS基础 华为渐变色产品列表 综合实战
华为网页链接:https://www.huawei.com/cn/?ic_medium=direct&ic_source=surlent
html代码部分:
<div class="box">
<ul>
<li>
<a href="#">
<img src="./images/product.jpeg" alt="">
<div class="product-info">
<h4>产品</h4>
<h5>OceanStor Pacific 海量存储斩获2021 Interop金奖</h5>
<p class="more">了解更多 <i class="iconfont icon-arrow-right"></i></p>
</div>
<div class="mask"></div>
</a>
</li>
<li>
<a href="#">
<img src="./images/huawei1.jpeg" alt="">
<div class="product-info">
<h4>行业洞察</h4>
<h5>迈向智能世界2030</h5>
<p class="more">了解更多 <i class="iconfont icon-arrow-right"></i></p>
</div>
<div class="mask"></div>
</a>
</li>
<li>
<a href="#">
<img src="./images/huawei2.jpeg" alt="">
<div class="product-info">
<h4>产品</h4>
<h5>OceanStor Pacific 海量存储斩获2021 Interop金奖</h5>
<p class="more">了解更多 <i class="iconfont icon-arrow-right"></i></p>
</div>
<div class="mask"></div>
</a>
</li>
</ul>
</div>
CSS样式部分
/* 清除默认的margin和padding */
*{
margin: 0;
padding: 0;
}
/* 去除a标签下划线 */
a{
text-decoration: none;
}
/* 去除li标签圆点 */
li {
list-style: none;
}
/* 设置版心,也就是最大的外面的盒子 */
.box{
width: 1110px;
height: 247px;
/* background-color: pink; */
margin: 0 auto;
}
/* 用按标签设置盒子,并将其左浮动 */
.box li a{
position: relative;
float: left;
width: 350px;
height: 247px;
/* background-color: skyblue; */
margin-right: 30px;
overflow: hidden; /*超出盒子大小不显示*/
}
.box li:last-child a {
margin-right: 0;
}
.box img{
transition: all .5s;
width: 350px;
/* height: 247px; */
}
/* 设置文字部分的样式,并定位 */
.box .product-info{
position: absolute;
bottom: -50px;
left: 0;
/* margin: 0 auto; */
width: 350px;
height: 181px;
/* background-color: orange; */
padding: 20px 30px;
box-sizing: border-box;
z-index: 2; /*提升显示层叠,不然会受到渐变背景影响*/
transition: all .5s;
}
.box .product-info h4{
font-weight: inherit;
font-size: 14px;
height: 29px;
color: #fff;
}
.box .product-info h5{
height: 54px;
font-weight: inherit;
font-size: 18px;
margin-bottom: 40px;
color: #fff;
}
.box .product-info p{
font-size: 14px;
color: #fff; }
.box .product-info .icon-arrow-right{
display: inline-block; /* 使用transform,不能是行内元素,否则无效*/ transition: all .5s; color: red;
}
/* 设置渐变色,并定位 */
.box .mask{
position: absolute;
left: 0;
bottom: 0;
width: 350px;
height: 247px;
background-image: linear-gradient(
transparent,
rgba(0,0,0,.6)
);
opacity: 0;
} /* 设置hover */
.box a:hover .mask{
opacity: 1;
}
.box a:hover img{
transform: scale(1.2);
}
.box a:hover .product-info {
transform: translateY(-50px);
}
.box .more:hover .icon-arrow-right{ transform: translateX(20px);
}
CSS基础 华为渐变色产品列表 综合实战的更多相关文章
- HTML&CSS基础学习笔记—创建列表
创建一张表格 很多时候我们需要在网页上展示一些数据,使用表格可以很好的来展示数据. 在HTML中<table>标签定义 表格. <table> </table> 添 ...
- html基础 表单相关属性综合实战案例 附有注释
html结构代码: <form > <!-- form 为了让重置按钮生效--> <h1>青春不常在,抓紧谈恋爱</h1> <hr> 昵称: ...
- 【WEB基础】HTML & CSS 基础入门(4)列表及其样式
前面 网页中漂亮的导航.整齐规范的文章标题列表和图片列表等等.这些都是离不开HTML里一个重要的元素----列表,在HTML中有无序列表.有序列表和定义列表三种类型.其中,无序列表应用最为广泛,下面, ...
- css基础-盒子模型+背景和列表
border-style的值: none 无 dotted 点状 dashed 虚线 solid 实线 double 双实线 margin: 垂直方向两个相邻元素都设置了外边距,那么外边距会发生合并 ...
- HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用
文章目录 1.CSS基础知识 2.css样式 2.1.代码: 2.2 测试结果 3.CSS的语法 3.1 代码 4.块元素和行内元素 4.1 代码 4.2 测试结果 5.常用的选择器 5.1 代码块 ...
- 第五模块:WEB开发基础 第1章·HTML&CSS基础
01-前端介绍 02-HTML介绍 03-HTML文档结构 04-head标签相关内容 05-常用标签一之h1~h6,p,a 06-常用标签一之ul.ol.div.img.span 07-常用标签二- ...
- 【自编教材】16万8千字的HTML+CSS基础 适合从0到1-可收藏
[图片链接有点小问题,这几天更新,敬请期待!] 目 录 第一章HTML基础 1.1 HTML简介和发展史 1.1.1 什么是HTML 1.1.2 HTML的发展历程 1.1.3 web标准 1.2 开 ...
- CSS基础知识筑基
01.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets),对HTML网页内容进行统一外观样式设计和管理,给网页进行各种装饰,让她变得美观,是HTML的化妆师.(Cas ...
- Web开发——CSS基础
参考: 参考:http://css.doyoe.com/ 参考:http://www.w3school.com.cn/cssref/index.asp 参考:https://www.w3cschool ...
随机推荐
- 【Java】【学习】【监听器】Listener的学习的案例(窗体程序)
JavaWeb 监听器listener 学习与简单应用 Java窗体程序使用监听器 效果:点击按钮,控制台出现文字 代码如下 import javax.swing.*; import java.awt ...
- Windows下mysql5.6升级到5.7的方法(亲测有效哦!)
Mysql的升级方式分为两种:原地升级和逻辑升级.这两种升级方式,本质没有什么区别的. 只是在对数据文件的处理上有些区别而已.原地升级是直接将数据文件进行拷贝,而逻辑升级对数据文件的处理方式是通过逻辑 ...
- 【死磕Java并发】—–深入分析volatile的实现原理
通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized.如果一个变量使用volatile,则它比使 ...
- IO中同步异步,阻塞与非阻塞 -- 原理篇
再补一篇高手写的理论分析,便于更深刻理解 转自:http://blog.csdn.net/historyasamirror/article/details/5778378 ============== ...
- 漫谈IRP
I/O Request Packet(IRP) IRP概述: IRP是由I/O管理器发出的,I/O管理器是用户态与内核态之间的桥梁,当用户态进程发出I/O请求时,I/O管理器就捕获这些请求,将其转换为 ...
- CF740B Alyona and flowers 题解
Content 有 \(n\) 个数 \(a_1,a_2,a_3,...,a_n\),给定 \(m\) 个区间,你可以选择一些区间使得它们的总和最大(也可以不选),求这个最大的总和. 数据范围:\(1 ...
- 使用ANTLR解析CSV和JSON
再续 ANTLR专题 ,有了前面的基础,下面开始用ANTLR写一些有趣且实用的程序. CSV和JSON这两种数据格式对软件开发人员来说最熟悉不过了,一般读写CSV或JSON格式的数据都会借助现成的.比 ...
- java 多线程 发布订阅模式:发布者java.util.concurrent.SubmissionPublisher;订阅者java.util.concurrent.Flow.Subscriber
1,什么是发布订阅模式? 在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者).而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话 ...
- java 多线程:Thread类常用方法:setPriority优先级、interrupt中断标记、suspend暂停与唤醒resume(已过时);daemon守护线程
常用方法: boolean isAlive() 测试此线程是否存活. boolean isDaemon() 测试此线程是否为守护程序线程. static void sleep?(long millis ...
- centos7使用Dockerfile运行mysql库并初始化数据
Dockerfile文件(文件名一定要这个) FROM mysql:5.7 WORKDIR /docker-entrypoint-initdb.d ENV LANG=C.UTF-8 ADD test. ...