彈性布局
1. flex
除了Grid布局外,F(xiàn)lex也很擅長這件事:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 在這里用link標簽引入中文漸變色 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/chinese-gradient">
<style>
/* 清除默認樣式 */
* { padding: 0; margin: 0 }
li { list-style: none }
/* 父元素 */
ul {
/* 顯示為flex布局 */
display: flex;
/* 允許換行 */
flex-flow: wrap;
}
/* 子元素 */
li {
/* 2px的外邊距 */
margin: 2px;
/* 墨色漸變 */
background: var(--墨色);
/* 100px的高度 */
height: 100px;
/* 令其可伸展 */
flex: 1;
/* 100px的寬 */
flex-basis: 100px
}
</style>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</body>
</html>
運行結(jié)果:
注意點:
- flex: 1; 一定要寫在flex-basis之前,不然的話就會變成這樣:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 在這里用link標簽引入中文漸變色 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/chinese-gradient">
<style>
/* 清除默認樣式 */
* { padding: 0; margin: 0 }
li { list-style: none }
/* 父元素 */
ul {
/* 顯示為flex布局 */
display: flex;
/* 允許換行 */
flex-flow: wrap;
}
/* 子元素 */
li {
/* 2px的外邊距 */
margin: 2px;
/* 墨色漸變 */
background: var(--墨色);
/* 100px的高度 */
height: 100px;
/* 100px的寬 */
flex-basis: 100px;
/* 令其可伸展 */
flex: 1
}
</style>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</body>
</html>
運行結(jié)果:
2. 小結(jié)
flex也可以實現(xiàn)響應(yīng)式,但效果又與grid實現(xiàn)的效果有所不同。
這兩種效果都較為常用,大家可以根據(jù)自己的項目需求靈活選擇不同的方式去實現(xiàn)。