如何用CSS做自适应九宫格效果,有多少方法
Admin 2022-11-02 群英技术资讯 927 次浏览
今天小编跟大家讲解下有关“如何用CSS做自适应九宫格效果,有多少方法”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。本文用示例介绍CSS进行九宫格布局的方法。朋友圈、微博等很多社交平台都是使用九宫格布局来展示图片的,九宫格布局也是前端面试经常会问的问题。 本文只展示自适应布局的方案。不展示手动指定宽度的那种方案。
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>
结果

因为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>
结果

代码
<!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>
</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做自适应九宫格效果,有多少方法”的学习就结束了,希望能够解决大家的疑惑,另外大家动手实践也很重要,对大家加深理解和学习很有帮助。如果想要学习更多的相关知识,欢迎关注群英网络,小编每天都会给大家分享实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
css设置行间距的三种方法:1、使用数值来设置行间距。2、使用像素值设置行间距。3、百分比设置行间距,line-height属性指定了一个百分比,它将相对于字体来计算行高。
这篇文章主要介绍了HTML5获取当前地理位置并在百度地图上展示的实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
css规则的基本格式是“选择器{属性:属性值;}”。“选择器”用于告诉浏览器“{}”包裹的样式将作用于页面中哪些对象,“属性”是CSS提供的设置好的样式选项,“属性值”是用来显示属性效果的参数。
我们在HTML中经常会遇到HTML超链接中文乱码的问题,因此难倒了不少用户们,那么你知道HTML超链接中文乱码怎么解决吗?下面我们就一起去看看吧。
看完这篇文章后决定用第三个方法,其实很想用jq的,方便灵活,咨询了好多老前辈后,得知Js控制DOM在性能上影响比较大,能用css和html解决就不要用js了。HTML代码如下复制代码<divid="container"><div>.........</div><divclass="push"><!--notputanythinghere--></div></div><divid="footer">FooterSection</div>CSShtml,bo ...
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008