CSS实现九宫格布局(自适应)的示例代码


Posted in HTML / CSS onFebruary 12, 2022

简介

        本文用示例介绍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>

结果

CSS实现九宫格布局(自适应)的示例代码

方案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>

结果

CSS实现九宫格布局(自适应)的示例代码

方案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>
</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实现九宫格布局(自适应)的示例教程的文章就介绍到这了,更多相关css九宫格布局内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3等相关属性制作分页导航实现代码
Dec 24 HTML / CSS
css3实现3d旋转动画特效
Mar 10 HTML / CSS
浅析与CSS3的loading动画加载相关的transition优化
May 18 HTML / CSS
CSS3,线性渐变(linear-gradient)的使用总结
Jan 09 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
Jan 17 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
Jan 24 HTML / CSS
html5 初试 indexedDB(推荐)
Jul 21 HTML / CSS
html5 canvas简单封装一个echarts实现不了的饼图
Jun 12 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
Nov 01 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
Sep 16 HTML / CSS
HTML基础详解(下)
Oct 16 HTML / CSS
Li list-style-image 图片垂直居中实现方法
May 21 HTML / CSS
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
Jan 18 #HTML / CSS
MIME类型中application/xml与text/xml的区别介绍
Jan 18 #HTML / CSS
HTTP中的Content-type详解
Jan 18 #HTML / CSS
POST提交数据常见的四种方式
Jan 18 #HTML / CSS
Html5获取用户当前位置的几种方式
html粘性页脚的具体使用
Jan 18 #HTML / CSS
CSS三大特性继承性、层叠性和优先级详解
Jan 18 #HTML / CSS
You might like
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
Python selenium 三种等待方式解读
2016/09/15 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
Python实现代码块儿折叠
2020/04/15 Python
Python turtle库的画笔控制说明
2020/06/28 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
班组长竞聘书
2014/03/31 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
销售提升方案
2014/06/07 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
信仰观后感
2015/06/03 职场文书
教师培训学习心得体会
2016/01/21 职场文书
python基础详解之if循环语句
2021/04/24 Python