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实现跳动的动画效果
Sep 12 HTML / CSS
css3一款3D字体带阴影效果的实现步骤
Mar 20 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
Mar 25 HTML / CSS
关于前端上传文件全面基础扫盲贴(入门)
Aug 01 HTML / CSS
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
Jan 30 HTML / CSS
5 个强大的HTML5 API 函数推荐
Nov 19 HTML / CSS
HTML5的一个显示电池状态的API简介
Jun 18 HTML / CSS
html5 冒号分隔符对齐的实现
Jul 31 HTML / CSS
总结html5自定义属性有哪些
Apr 01 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
Jun 16 HTML / CSS
Html5通过数据流方式播放视频的实现
Apr 27 HTML / CSS
CSS3中Animation实现简单的手指点击动画的示例
Jul 15 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
php学习之简单计算器实现代码
2011/06/09 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
js获取单选按钮的数据
2006/11/27 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
AngularJS入门之动画
2016/07/27 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
感恩节活动方案
2014/01/27 职场文书
旅游市场营销方案
2014/03/09 职场文书
企业挂职心得体会
2014/09/10 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
使用CSS设置滚动条样式
2022/01/18 HTML / CSS