CSS实现九宫格布局(⾃适应)的⽰例代码简介
本⽂⽤⽰例介绍CSS进⾏九宫格布局的⽅法。
朋友圈、微博等很多社交平台都是使⽤九宫格布局来展⽰图⽚的,九宫格布局也是前端⾯试经常会问的问题。
本⽂只展⽰⾃适应布局的⽅案。不展⽰⼿动指定宽度的那种⽅案。
⽅案1:grid
grid是专门⽤来处理⼆维的,最适合⽤来⼆维布局。
代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>This is title</title>
<style>
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 100px 100px 100px;
grid-gap: 10px;
padding: 10px;
}
.item {
border: 1px solid black;
</style>
</head>
<body>
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
</div>
</body>
</html>
结果
⽅案2:flex+calc()
因为flex是⾯向⼀维的,所以我们需要加上calc这个函数控制其垂直⽅向。
代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>This is title</title>
<style>
.container {
width: 100%;
display: flex;
/
*换⾏*/
flex-wrap: wrap;
}
.item {
width: calc(calc(100% / 3) - 10px); height: 100px;
margin: 5px;
box-sizing: border-box;
border: 1px solid black;
</style>
</head>
<body>
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
</div>
</body>
</html>
结果
⽅案3:absolute
代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>This is title</title>
<style>
html,body{
height:100%;
margin:0;
}
.container{
position:absolute;
left:0;
top:0;
right:0;
bottom:0;
.item{
float:left;
height:100px;
width: calc(calc(100% / 3) - 10px); position:relative;
border: 1px solid black;
.item:before{
content:'';
left:10px;
right:10px;
top:10px;
bottom:10px;
border-radius:10px;
.item:after{
content:attr(data-index);
height:30px;
margin:auto;
text-align:center;
</style>
好看的css代码</head>
<body>
<div class="container">
<div class="item" data-index="1">
</div>
<div class="item" data-index="2">
<div class="item" data-index="3">
<div class="item" data-index="4">
<div class="item" data-index="5">
<div class="item" data-index="6">
<div class="item" data-index="7">
<div class="item" data-index="8">
<div class="item" data-index="9">
</div>
</body>
</html>
结果
到此这篇关于CSS实现九宫格布局(⾃适应)的⽰例教程的⽂章就介绍到这了,更多相关css九宫格布局内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章,希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论