左图右文
这种布局最常见的
实现思路
- 大盒子 里面 套
两个
小盒子 - 设置大盒子
flex 布局
- 分别在两个盒子放入
图片 文字
即可
效果
因为设置了媒体响应 当屏幕宽度小于800像素大小 就变成纵向布局
详细代码
Html
代码语言:javascript复制 <div class="box">
<!-- 左图 -->
<div class="img"></div>
<!-- 文字 -->
<div class="text-Content">
<div class="title">So Like Fun Weekend</div>
<div class="content">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquid eligendi vel veritatis debitis minima
dignissimos nihil incidunt saepe maiores ducimus ex at sequi voluptatum, eaque, alias illo cumque
assumenda quam?
</div>
<!-- 按钮 -->
<button class="btn">Learn More</button>
</div>
</div>
CSS
代码语言:javascript复制 @font-face {
font-family: "站酷酷黑 Regular";
font-weight: 400;
src: url("//at.alicdn.com/wf/webfont/pXW6WcZ4aH3n/wrZZ7zVs0VrlZEOKyNJqi.woff2") format("woff2"),
url("//at.alicdn.com/wf/webfont/pXW6WcZ4aH3n/3fDVYyJQ0o7NFKAX_5-Z0.woff") format("woff");
font-display: swap;
}
* {
font-family: "站酷酷黑 Regular";
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
width: 100%;
height: 100vh;
/* flex 子元素 水平居中对其*/
display: flex;
justify-content: center;
align-items: center;
/* 渐变色背景 */
background: linear-gradient(to right, #1565C0, #b92b27);
}
.box {
display: flex;
width: 65%;
height: 65%;
padding: 50px;
}
.img {
flex: 1;
background: url(./img/3.jpg);
background-size: cover;
background-position: center center;
border-radius: 12px;
transition: all 1s linear;
}
.img:hover {
filter: saturate(250%);
}
.text-Content {
flex: 1;
margin-left: 7.4vw;
overflow: hidden;
}
.title {
font-size: 2rem;
margin-bottom: 1.3em;
}
.content {
font-size: 1.2rem;
}
.btn {
margin-top: 20%;
width: 150px;
height: 50px;
border-radius: 20px;
background-color: rgba(0, 0, 0, 0.607);
color: #ffffffc2;
transition: all 0.8s;
cursor: pointer;
font-size: 1rem;
border: 0;
}
.btn:hover {
background-color: rgba(255, 255, 255, 0.747);
color: rgba(0, 0, 0, 0.795);
}
@media screen and (max-width: 800px) {
.box {
width: 90%;
height: 100vh;
flex-direction: column;
}
.img {
margin-bottom: 16px;
}
.text-Content {
font-size: 15px;
margin-left: 0;
}
.title {
font-size: 1.2rem;
margin-bottom: 1em;
}
.content {
font-size: 1rem;
}
}
悬停图片 显示文本内容
实现思路
- 只要思想是 使用的 hover transition 滤镜
- hover之后 将图片的光度调低 文字的透明度设置为 1
效果
文字环绕图片
代码语言:javascript复制 <div class="main">
<div class="head">
<div class="text">
<div class="title">How Image Beautiful</div>
<div class="content">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Recusandae maxime
</div>
</div>
</div>
<div class="body">
<div class="left">
<div class="icon">Happy</div>
<div class="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Eaque, minima
reprehenderit. Consequuntur sed quisquam aliquid vitae quae officiis id voluptates unde voluptas,
</div>
<div class="icon">Slow</div>
<div class="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Eaque, minima
reprehenderit. Consequuntur sed quisquam aliquid vitae quae officiis id voluptates unde voluptas,
</div>
</div>
<!-- 图片-- 插图 -->
<div class="middle"></div>
<!-- 右边 和左边很相似 -->
<div class="right">
<div class="icon">Fast</div>
<div class="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Eaque, minima
reprehenderit. Consequuntur sed quisquam aliquid vitae quae officiis id voluptates unde voluptas,
</div>
<div class="icon">Money</div>
<div class="content">Lorem ipsum dolor sit amet consectetur adipisicing elit. Eaque, minima
reprehenderit. Consequuntur sed quisquam aliquid vitae quae officiis id voluptates unde voluptas,
</div>
</div>
</div>
<div class="footer">
<div class="text">
<div class="icon">Cool</div>
<div class="content">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut rem minus rerum, perspiciatis illum
minima,
</div>
<button class="btn">Lorem More</button>
</div>
</div>
</div>
代码语言:javascript复制 * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background-image: url(./WebSite设计用图//2.jpg);
background-size: cover;
background-position: center center;
border-radius: 20px;
backdrop-filter: blur(5px)
}
.main {
width: 80%;
height: 80%;
/* 添加毛玻璃效果 */
background-color: rgba(112, 112, 112, 0.5);
border-radius: 10px;
}
/* 总体下来的是三个纵向布局 分别为 头 身体 脚 */
/* 先从头部开始搭建布局 */
.head {
/* head 布局里面又分为标题 和 内容 两个模块 纵向布局 */
/* 可以参考原型图 得知 是居中水平对其 我们可以flex一下*/
display: flex;
justify-content: center;
align-items: center;
/* 给个宽高 分别宽 为 父级的 100%* 高 大概是 20%*/
width: 100%;
height: 20%;
}
.head .text {
width: 30%;
height: 100%;
/* 然后在这个文本盒子里面 包含了标题 和 内容 要水平居中 */
text-align: center;
}
.head .title {
font-weight: 700;
font-size: 32px;
/* 标题 和 内容 要有上下边距 设置margin */
margin-bottom: 16px;
}
/* 下面 我们开始进行 最复杂的一块 就是 中间部分的搭建 */
/* 我们可以看出来 中间部分 又可以分为 左 中 右 三部分 */
/* 我们只要依次按照这个顺序 来搭建 就可以了 全程 flex 一把梭 */
.body {
display: flex;
width: 100%;
height: 50%;
}
.left {
/* 使用flex 布局 调整为 两端对其 */
display: flex;
flex-direction: column;
justify-content: space-between;
flex: 0.8;
padding: 16px;
}
.left .icon {
text-align: center;
font-size: 30px;
font-weight: 600;
}
.left .content {
font-size: 14px;
}
.middle {
flex: 1;
/* 设置图片完整展出 */
background-image: url(./WebSite设计用图//2.jpg);
background-size: cover;
background-position: center center;
border-radius: 20px;
}
.right {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 16px;
flex: 0.8;
}
.right .icon {
text-align: center;
font-size: 30px;
font-weight: 600;
}
.right .content {
font-size: 14px;
}
.footer {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 20%;
}
.footer .text {
margin-top: 16px;
width: 30%;
height: 100%;
/* 然后在这个文本盒子里面 包含了标题 和 内容 要水平居中 */
text-align: center;
}
.footer .icon {
font-weight: 700;
font-size: 32px;
/* 标题 和 内容 要有上下边距 设置margin */
margin-bottom: 16px;
}
.footer .content {
margin-bottom: 12px;
font-size: 14px;
}
.footer .btn {
width: 150px;
height: 35%;
border: 0;
background-color: #233333;
color: #fff;
border-radius: 50px;
cursor: pointer;
transition: all 0.5s;
}