css实现多栏布局的几种方式

假如把下面的三个div显示在同一行

<div id="parent"><div id="box1">1</div><div id="box2">2</div><div id="box3">3</div>
</div>

1:float实现多栏布局 

float属性控制目标HTML组件是否浮动以及如何浮动。设置该属性过后,对象会被当做块组件处理。float的取值一共有四个:left(向左浮动)、Right(向右浮动)、none(不浮动)、inherit(继承父元素值),将box1,box2,box3都设置成向左浮动,浮动元素的下一个兄弟元素如果也设置了同一浮动方向,则会紧随改元素显示。
设置了float之后,元素会脱离普通文档流。它们的父元素也不会被撑开,所以#parent的高度此时为0。

    #parent>div{border:1px solid black;float:left;width:200px;height:200px;text-align: center;}#box1{background-color:red;}#box2{background-color:yellow;}#box3 {background-color:blue;}

我们也可以这样,将box1,box2,设置成向左浮动,box3不浮动。由于box1,box2设置了浮动之后脱离了普通文档流。对box3来说就像前面不存在box1,box2一样,box3也会显示在这一行,但是会被box1遮挡住。设置box3的 margin-left:400px;可以让它看起来像是显示在box1,box2后面。这个时候#parent被box3撑开,高度此时为202px。

    #parent>div{border:1px solid black;width:200px;height:200px;text-align: center;}#box1{float:left;background-color:red;}#box2{float:left;background-color:yellow;}#box3 {margin-left:400px;background-color:blue;}

2:inline-block盒模型

inline-block盒模型的元素既不会占据一行,同时也支持用width、height指定宽度和高度。display:inline-block 将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。通常需要设置vertical-align:top使其顶端对齐。

    #parent>div{display:inline-block;border:1px solid black;width:200px;height:200px;text-align: center;}#box1{background-color:red;}#box2{background-color:yellow;}#box3 {background-color:blue;}

inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距。把空格去掉间隙自然就会消失,这样就不会显示间隔。

<div id="parent"><div id="box1">1</div><div id="box2">2</div><div id="box3">3</div>
</div>

3:display: flex 弹性布局

设置#parent容器的 diaplay:flex;父容器相当于一个弹性盒子。里面的div会按照flex-direction设置的模式排列。Flex弹性布局的功能就比较强大了,可以为盒状模型提供最大的灵活性实现复杂的布局,任何一个容器都可以指定为 Flex 布局。flex-direction属性决定主轴的方向,flex-direction: row;表示在父容器里横向排列,flex-direction: column;表示在父容器里纵向排列。

    #parent{display: flex;flex-direction: row;}#parent>div{border:1px solid black;width:200px;height:200px;text-align: center;}#box1{background-color:red;}#box2{background-color:yellow;}#box3 {background-color:blue;}

4:display: table

display:table     设置了该属性的元素作为块级表格来显示,类似 <table>。
display:table-cell 设置了该属性的元素会作为一个表格单元格显示,类似 <td> 和 <th>
可以用这一系列table-row-group、table-header-group、table-footer-group、table-row等用其他标签实现类似于表格的布局。

#parent{display: table;}#parent>div{display:table-cell;border:1px solid black;width:200px;height:200px;text-align: center;}#box1{background-color:red;}#box2{background-color:yellow;}#box3 {background-color:blue;}

CSS实现多栏布局的几种方式相关推荐

  1. css的经典三栏布局如何实现,css 实现三栏布局的四种方式

    三栏布局就是左中右,左右两边固定,中间自适应. 1. 绝对定位 左边 中间 右边 body { padding: ; margin: ; } /* 绝对定位 */ .left, .right { po ...

  2. CSS实现三栏布局的8种方式

    1.float实现三栏布局 给左盒子设置float:left,给右盒子设置float:right,中间盒子设置margin-left和margin-right.需要注意的是,左右盒子要放在中间盒子之前 ...

  3. css table设置边框_(代码示例)css实现等高布局的三种方式

    本篇文章给大家带来的内容是关于css实现等高布局的三种方式(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 本文讲的等高布局是在不手动设置元素高度的情况下,使用纯css实现 ...

  4. CSS三栏布局的7种方式代码详解 | 圣杯布局 | 双飞翼布局 | 弹性盒子

    CSS三栏布局代码详解 写在前面:博主最近在转头复习最前面学的CSS,整理一下CSS三栏布局的笔记,正好也捋顺自己的逻辑思路.解析我尽量按照思路详细的写了,代码均可正确运行,留给需要的小伙伴进行参考, ...

  5. css实现三栏布局的几种方法及优缺点

    三栏布局,顾名思义就是两边固定,中间自适应. 三栏布局在实际的开发十分常见,比如淘宝网的首页,就是个典型的三栏布局:即左边商品导航和右边导航固定宽度,中间的主要内容随浏览器宽度自适应. 我们不妨假定这 ...

  6. 三栏布局的几种实现方式

    三栏布局是一种经典的页面布局:在网页上以平铺方式展现的左中右三列布局,其特点在于,左右两列可固定在网页两侧,中间一列永远居中,且当网页宽度大于左右两列宽度之和时,中间一列可随网页整体宽度的变化而变化( ...

  7. css浮动布局自适应,CSS | 自适应两栏布局方法

    html代码: 固定宽度 自适应区域 1.浮动+margin 第一种: 左侧栏固定宽度向左浮动,右侧主要内容则用margin-left留出左侧栏的宽度,默认宽度为auto,自动填满剩下的宽度. .le ...

  8. 两栏布局的几种实现方式

    两栏布局的几种实现方式 通过以下四常见的方法均可以实现图中两栏布局的效果 侧边栏左浮动+正文部分overflow:auto 定位实现两栏布局 纯浮动形式 浮动+常规流 效果图 侧边栏左浮动+正文部分o ...

  9. 平分布局 html,实现CSS平分布局的4种方式

    实现CSS等分布局的4种方式 前面的话 等分布局是指子元素平均分配父元素宽度的布局方式,本文将介绍实现等分布局的4种方式 思路一: float 缺点:结构和样式存在耦合性,IE7-浏览器下对宽度百分比 ...

最新文章

  1. C# Winform 启动和停止进程
  2. 1.2 正交化-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  3. 怎样取消无线配置服务器,如何 去掉无线配置服务器
  4. Java垃圾回收(3)
  5. 如何设计一个良好的接口
  6. 关闭虚拟机linux的防火墙,Linux虚拟机SSH服务、防火墙开启关闭
  7. ZooKeeper官方文档学习笔记01-zookeeper概述
  8. LeetCode[791] 自定义字符串排序
  9. 2020年GitHub上的7个顶级的Java开源目推荐(强烈安利)
  10. 数码大师2013破解补丁|数码大师2013白金版注册破解补丁下载(附数码大师2013白金版注册码)
  11. 渐近记号(Asymptotic Notations)
  12. 最强大脑世界记忆大师运用的记忆方法
  13. 2021年人工智能五大趋势预测
  14. Gmail邮件客户端pop3和smtp服务器配置
  15. 期货市场十赌九输,钱都去哪里了?
  16. unity旗帜飘动shader
  17. AndroidAPP用邮件收集用户上报日志
  18. Oracle Primavera Unifier文档管理器(Document Manager)
  19. javascript之动态时钟
  20. [HITCON 2016]Leaking-nodejsVM沙箱逃逸

热门文章

  1. ASP.NET Core学习之五 EntityFrameworkCore
  2. find grep xargs
  3. 《开源硬件创客——15个酷应用玩转树莓派》——第1章 初识树莓派
  4. 基于注解方式@AspectJ的AOP
  5. Android 初探Retrofit2.0.1(最新版)
  6. 实训课教案二:计算机软件安装初步
  7. JDK源码(9)-Double、Float
  8. IDEA创建Mybatis逆向工程创建项目超详细代码
  9. 管理运筹学软件计算机解咋看,运筹学软件结果解析总结计划题1-20210618123710.docx-原创力文档...
  10. 冷热水龙头_冷热水龙头结构图是怎么样的