如何实现一个左中右的布局

在flex出现之前

#box{
color: white;
}
#left{
float: left;
width: 30%;
background-color: red;
}
#right{
float: right;
width: 20%;
background-color: green;
}
#center{
background-color: blue;
overflow:hidden; /* 去除浮动换成 margin: 0 20% 0 30%; 效果一样 */
}
<div id="box">
<div id="left">左</div>
<div id="right">右</div>
<!-- 浮动的元素一定要写在没浮动的样式前面 -->
<div id="center">中间</div>
</div>

使用flex

#box{
display: flex;
color: white;
}
#left{
width: 30%;
background-color: red;
}
#right{
width: 20%;
background-color: green;
}
#center{
background-color: blue;
flex: 1;
}
<div id="box">
<div id="left">左</div>
<div id="center">中间</div>
<div id="right">右</div>
</div>

上面看起来flex也没什么牛逼的地方啊

但是当你试着去#left里放上一张不知道高度的图片时,你会知道中间和右边的字要做到垂直居中是多么的困难,而flex只需要在#box里加上一句align-items:center;就行,flex真香了,这个属性是最常用的,而flex还有大量的功能,下面粗略列出来,具体使用看具体情况

#aa{
/* flex的排列方向: 横向(默认), 横向反方向 , 纵向 , 纵向反方向 */
flex-direction: row(default) | row-reverse | column | column-reverse; /* 横向使用时,当容器中的项目一行放不下的时候,是挤一挤还是换行,横向使用 */
flex-wrap: nowrap(default) | wrap; /* 横向排列并且有空余位置时排列方式是,从左边开始 , 右边开始 , 中间 , 两端对齐 , 间隔等分 */
justify-content: flex-start(default) | flex-end | center | space-between | space-around; /* 横向排列并且开启不换行nowrap时, 当同行的div高度不一样怎么排列Y轴, 一般是用center */
align-items: flex-start(default) | flex-end | center | baseline; /* 横向排列并且开启换行wrap时, 换行的规则是,换行后Y轴怎么排列,常用是center和space-around */
align-content: flex-start(default) | flex-end | center | space-between | space-around;
}

真香的flex弹性布局的更多相关文章

  1. 记一下flex弹性布局

    flex弹性布局也越来越广泛的在我们代码中出现了,更加方便我们的布局.自己用了查,查了用,有些还是记不住,俗话说好脑子不如烂笔头,原来都是写在本子上的,很不幸的一次次的想翻的时候总是找不到,还是写博客 ...

  2. CSS3动画属性和flex弹性布局各个属性

    [CSS3动画的使用] 1.声明一个关键帧(动画): @keynames name{ from{} to{} } 每个阶段的写法: ①可以直接使用from-to的写法 ②可以设置0%-100%的写法, ...

  3. flex弹性布局心得

    概述 最近做项目用flex重构了一下网页中的布局,顺便学习了一下flex弹性布局,感觉超级强大,有一些心得,记录下来供以后开发时参考,相信对其他人也有用. 参考资料: Solved by Flexbo ...

  4. flex弹性布局属性详解!

    详细看下flex弹性布局具体属性: flex容器属性详解:flex-direction:row/column:(横排/竖排) 决定元素的排列方向:flex-wrap:nowrap/wrap/wrap- ...

  5. java基础之Flex弹性布局、JSP错误处理以及Log4J

    一.Flex弹性布局 1.产生的比较晚,目前在移动网页开发中可以使用,而且逐渐成为主流. 在桌面网页开发中使用的比较少(主要是桌面浏览器的兼容性问题更加严重) 2.开启方法: 在容器标签上加上 dis ...

  6. flex弹性布局,好用

    一直不太喜欢自己布局前端页面,都是扒别人的页面 ,最近在练习小程序,页面无处可扒,只有自己布局 发现flex弹性布局真好用,布局起来很简单,实现的效果也很好,赞 以后可以自己写一点前端了,哈哈

  7. flex弹性布局的基本介绍

    最近开始做元素排列比较复杂的项目,同时需要各种型号手机的适配,我发现以前所掌握的盒子模型.display.position.float等已经不能满足我的需求了, 于是开始着重学习flex弹性布局并运用 ...

  8. css进阶之二:flex弹性布局

    布局模式是指一个盒子与其兄弟.祖先盒的关系决定其尺寸与位置的算法.css2.1中定义了四种布局模式,分别是块布局.行内布局.表格布局.以及定位布局.css3引入了新的布局模式Flexbox布局,灵活度 ...

  9. flex弹性布局学习笔记

    前言 资料来源于网络,本人只是对此作了一下操作,记录于此以便以后查阅.目的在于梳理自己前端凌乱的知识点. 本文根据 Brian Franco 的一个flexbox.scss库来记录 入职新公司前对移动 ...

随机推荐

  1. idna与utf-8编码漏洞

    来自Black hat 2019 原理什么是IDN?国际化域名(Internationalized Domain Name,IDN)又名特殊字符域名,是指部分或完全使用特殊文字或字母组成的互联网域名, ...

  2. 树形下拉框ztree、获取ztree所有父节点,ztree的相关方法

    参考:jQuery树形控件zTree使用小结 需求 添加.修改的终端需要选择组织,组织是多级架构(树状图显示). 思路 1.因为下拉框需要树状图显示,所以排除使用select做下拉框,改用input  ...

  3. SSH整合hibernate无法正常自动生成表

    检查持久化类的属性和映射文件是否正确配置,比如date格式的属性最容易配置错误

  4. Maven笔记一

    简介:什么是maven Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理. 如图为项目构建的过程. 解决的项目的问题: 1.  如果有好几个项目,这好几个项目中,需要 ...

  5. docker 的实践操作

    查看版本信息 [root@k8s-1 ~]# docker version Client: Version: 18.09.6 API version: 1.39 Go version: go1.10. ...

  6. Java--对象与类(二)

    final 实例域 可以将实例域定义为final.构建对象时必须初始化这样的域.也就是说在一个构造器执行之后,这个域被设置,并且之后无法对其修改 final 修饰符大多应用于基本(primitive) ...

  7. Systemverilog for design 笔记(四)

    转载请标明出处 数组.结构体和联合体 1. 结构体(struct) 1.1. 结构体声明 结构体默认是变量,也可以声明为线网 var struct { // 通过var进行结构体变量声明 logic ...

  8. Linux centos7 VMware MariaDB安装、Apache安装

    一.MariaDB安装 cd /usr/local/src 进入包放置目录 官网下载 wget http://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb ...

  9. python关键日期计算

    在coding的过程中有时候会需要用到一些特殊日期,比如说是一个月的最后一天的日期,昨天的日期等等. def first_day_of_next_month(self, old_date): old_ ...

  10. 136、Java的内部类

    01.代码如下: package TIANPAN; class Outer { // 外部类 private String msg = "Hello World !"; class ...