Home >  > 图片排版flex

图片排版flex

一、知识点
(一)flex
Flex是FlexibleBox的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。
1.display: flex;
加了这个之后,变为按水平方向排列。

flex-direction属性决定主轴的方向(即项目的排列方向),其有一下几个属性:

row(默认值):主轴为水平方向,起点在左端。
row-reverse:主轴为水平方向,起点在右端。
column:主轴为垂直方向,起点在上沿。
column-reverse:主轴为垂直方向,起点在下沿。

2.flex-wrap: wrap;
flex-wrap属性决定了如果一条轴线排不下,如何换行。

nowrap(默认):不换行。
wrap:换行,第一行在上方。
wrap-reverse:换行,第一行在下方。

参考:https://blog.csdn.net/weixin_46585382/article/details/127326973

(二)图片效果
1.transform: scale(1.3);

可以实现将鼠标放上去,图片放大的效果,也就是动态的效果。

2.transition: all .5s cubic-bezier(.68,-0.55,.27,1.55);

控制图片过渡的效果。

在浏览器中可以查看各种效果。

术语解释:

linear:匀速过渡

ease-in:加速

ease-out:减速

ease-in-out:先加速后减速

ease:曲线与ease-in-out差不多,但画面加速比ease-in-out快

参考:https://blog.csdn.net/weixin_35876760/article/details/117773849

二、成果展示:

三、代码
index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<title>Home - Music Website</title>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

	
	<div class="section-title">Featured</div>

	<section class="content">
		
		
									<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/play-all-the-way"><img src="http://localhost/music_website/public/uploads/Sarkodie.jpg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">Play all the way</div>
		<div class="card-subtitle">alicia keyz</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: Pop</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/she-be-mine"><img src="http://localhost/music_website/public/uploads/Rihanna.-Photo-W-Magazine.jpg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">She be mine</div>
		<div class="card-subtitle">Diamond</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: R&amp;B</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/everywhere-is-home"><img src="http://localhost/music_website/public/uploads/pexels-photo-3757004.jpeg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">Everywhere is home</div>
		<div class="card-subtitle">Ed sheeran</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: Country</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/someday"><img src="http://localhost/music_website/public/uploads/pexels-photo-3756774.jpeg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">Someday</div>
		<div class="card-subtitle">alicia keyz</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: Country</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/say-something"><img src="http://localhost/music_website/public/uploads/91234813c5767cf0fdb35529f756cf74.jpg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">Say something</div>
		<div class="card-subtitle">alicia keyz</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: R&amp;B</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/soulful"><img src="http://localhost/music_website/public/uploads/pexels-photo-4654051.jpg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">Soulful</div>
		<div class="card-subtitle">Ed sheeran</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: Pop</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/baby"><img src="http://localhost/music_website/public/uploads/791a047636136702e25ba1096b11cfe7.jpg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">baby</div>
		<div class="card-subtitle">Ed sheeran</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: Pop</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/mad-over-me"><img src="http://localhost/music_website/public/uploads/452771.jpg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">Mad over me</div>
		<div class="card-subtitle">Diamond</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: Dance</div>
	</div>
</div>
<!--end music card-->							<!--start music card-->
<div class="music-card">
	<div style="overflow: hidden;">
		<a href="http://localhost/music_website/public/song/one-in-a-million"><img src="http://localhost/music_website/public/uploads/9464b890819e224b.jpg"></a>
	</div>
	<div class="card-content">
		<div class="card-title">One in a million</div>
		<div class="card-subtitle">Diamond</div>
		<div class="card-subtitle" style="font-size: 12px;">Category: Dance</div>
	</div>
</div>
<!--end music card-->					
	</section>

	<footer>
		<div class="footer-div">
			<ul>
				<li><a href="">Home</a></li>
				<li><a href="">Music</a></li>
				<li><a href="">About us</a></li>
				<li><a href="">Contact us</a></li>
				
									<li><a href="http://localhost/music_website/public/login">Login</a></li>
				
			</ul>
		</div>
		<div class="footer-div">
			<form action="http://localhost/music_website/public/search">
				<div class="form-group">
					<input class="form-control" type="text" placeholder="Search for music" name="find">
					<button class="btn">Search</button>
				</div>
			</form>
		</div>
		<div class="footer-div">
			Follow us:
			<br><br>
			<svg width="25" height="25" fill="white" class="bi bi-facebook" viewBox="0 0 16 16">
			  <path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"/>
			</svg>
			<svg width="25" height="25" fill="white" class="bi bi-twitter" viewBox="0 0 16 16">
			  <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z"/>
			</svg>
			<svg width="25" height="25" fill="white" class="bi bi-instagram" viewBox="0 0 16 16">
			  <path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"/>
			</svg>
		</div>
	</footer>
</body>

<script src="http://localhost/music_website/public/assets/js/menu-popper.js?35"></script>
</html>

style.css


@font-face{
	src: url('assets/fonts/Lato-Regular.ttf');
	font-family: lato;
}

*{
	box-sizing: border-box;
}

body img{
	width: 100%;
}

body{
	min-width: 350px;
	font-family: lato, sans-serif, tahoma;
	margin:0px;
	padding: 0px;

}

body a{
	text-decoration: none;

}

header{
	display: flex;
}

.alert{
	background-color: #ffb193;
	color: #730000;
	padding: 10px 20px;
}
.error{
	color: red;
}
.logo-holder{
	width: 100px;
}

.header-div{
	flex: auto;
}

.float-end{
	float:right;
}
.main-nav{
	display: flex;
	flex-wrap: wrap;
}

.nav-item{
	padding: 10px;
	text-align: center;
	min-width: 80px;
}

.nav-item2{
	padding: 10px;
	text-align: center;
	min-width: 80px;
}

.main-title{
	padding: 10px;
	display: flex;
}

header .active{
	border-bottom: solid 4px red;
}

.dropdown{
	position: relative;
}

.dropdown-list{
	position: absolute;
	border: solid thin #ccc;
	background-color: white;
	margin-top:10px;
}

.hero{
	height: 500px;
	object-fit: cover;
}

.content{
	padding: 4px 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.music-card img:hover{
	transform: scale(1.3);
}

.music-card img{
	height: 200px;
	object-fit: cover;
	transition: all .5s cubic-bezier(.68,-0.55,.27,1.55);
}

.music-card{
	width: 200px;
	margin:20px;
	background-color: #eee;
}

.card-content{
	padding: 4px;
}
.card-title{
	font-size: 18px;
}

.card-subtitle{
	opacity: 0.7;
}

.bi{
	margin: 5px;
	max-width: 25px;
}

footer a{
	color: white;
}

footer{
	padding: 20px;
	background-color: #444;
	display: flex;
	color: white;
}

.footer-div{
	flex:1;
	padding: 10px;
}

.form-control{
	width: 100%;
	padding: 10px;
	border: solid thin #ccc;
}

.btn{
	border:none;
	padding: 10px 20px;
	cursor: pointer;
}

.bg-blue{
	background-color: blue;
	color: white;
}

.bg-red{
	background-color: red;
	color: white;
}

.bg-purple{
	background-color: purple;
	color: white;
}

.bg-orange{
	background-color: orange;
	color: white;
}

.m-1{
	margin: 10px;
}

.m-2{
	margin: 20px;
}

.mx-1{
	margin-left: 10px;
	margin-right: 10px;
}

.mx-2{
	margin-left: 20px;
	margin-right: 20px;
}

.my-1{
	margin-top: 10px;
	margin-bottom: 10px;
}

.my-2{
	margin-top: 20px;
	margin-bottom: 20px;
}

.admin-content{
	padding: 20px;
	background-color: #fefbed;
}

.form-group{
	display: flex;
}

.section-title{
	margin-left: 20px;
	font-size: 20px;
	font-weight: bold;
}

header .socials{
	flex:auto;
	text-align: right;
}

.hide{
	display: none;
}

.table{
	width: 100%;
	border-collapse: collapse;
	background-color: #eee;

}

.table th, .table td{
	border: solid thin #ccc;
	padding: 5px 10px;
}

.table th{
	background-color: #444;
	color: white;
}

@media (max-width: 768px){

	header{
		flex-direction: column;
	}

	footer{
		flex-direction: column;
	}
}

暧昧帖

本文暂无标签