CSS(六)- 内容布局 - Flexbox
Flexbox是CSS3提供的用于布局的一套新属性,是为了应对行内块、浮动和表格格式产生的问题而生的。其包含针对容器(弹性容器,flex container)和针对其直接子元素(弹性项,flex item)的两类属性。
Flexbox可以控制弹性项有:方向、主轴与辅轴上的对齐与分布、大小(基于内容及可用空间)、顺序
先推荐一个超棒的网站:Flex Boxes代码生成器
CSS3弹性盒新旧演变

属性速览

设置在flex盒子上
display: flex
这行代码也相当于声明了flex-direction:row
flex-flow
复合属性。 flex-flow:[ flex-direction ] || [ flex-wrap ]
flex-direction

flex-wrap

justify-content

补充1.space-between
第一个元素的边界与行的主起始位置的边界对齐,最后一个元素的边界与行的主结束位置的边距对齐,剩余的弹性盒项目则平均分布。如果最左边的剩余空间是负数,或该行只有一个子元素,则该值等效于'flex-start'
补充2.space-around
两端保留子元素与子元素之间间距大小的一半。如果最左边的剩余空间是负数,或该行只有一个弹性盒项目,则该值等效于'center'
补充3.设置margin

align-items
当增加Flex容器自身高度或者其中某一项的高度时:

对齐个别项:align-self(这是针对子项设置的属性)
align-content
适用于:多行的弹性盒模型容器。该属性对单行弹性盒子模型无效。(即:带有 flex-wrap: nowrap)。

设置在flex盒子里的项目上
flex
复合属性。flex: none | [ flex-grow ] || [ flex-shrink ] || [ flex-basis ]
flex-basis
默认值:auto
控制项目在主轴方向上,经过修正之前的“首选”大小(width或height)。可以是长度值、比分比(相对容器的主轴而言),也可以是关键字auto
关键字auto的意思是这个项目可以从对应的属性(width或height)那里获得主尺寸——如果设置了响应属性的话。如果没有注尺寸,那么项目就根据其内容确定大小,有点类似浮动元素或行内块。
flex-grow
在通过flex-basis为每一项设置了首选大小之后,如果还有剩余空间,该系数表示如何处理。
默认值为0,如果没有显示定义该属性,是不会拥有分配剩余空间权利的。
flex-shrink
当项目宽度总和超过容器宽度时,Flexbox会按照flex-shrink属性来决定如何收缩它们。
flex-shrink的默认值为1,如果没有显示定义该属性,将会自动按照默认值1在所有因子相加之后计算比率来进行空间收缩。
某项的收缩空间大小 = (本项shrink本项basis)/ (所有项的shrinkbasis之和)* 超出的空间大小
align-self
比 align-items 多了个 auto 属性值,其它一样。
如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。
order
用整数值来定义排列顺序,数值小的排在前面。可以为负值。
浏览器支持与语法
Flexbox已经得到主流浏览器较新版本的广泛支持。对于某些需要兼容的旧版本浏览器里(例如IE10及更早版本的Webkit浏览器),只要调整一下语法或提供商前缀,基本上也没问题。
display: -webkit-flex; /* Safari,Chrome */
display: -ms-flexbox; /* IE浏览器 */
display: -webkit-box; /* Safari,Chrome */
display: -moz-box; /* Firefox */
display: flex;
参考
《精通CSS 高级Web标准解决方案》第六章第三节
CSS(六)- 内容布局 - Flexbox的更多相关文章
- CSS进阶内容——布局技巧和细节修饰
CSS进阶内容--布局技巧和细节修饰 我们在之前的文章中已经掌握了CSS的大部分内容,但仍有一些内容我们没有涉略,这篇文章就是为了补充前面没有涉及的内容,为我们的知识做出补充并且介绍一些布局技巧 当然 ...
- CSS多列布局Multi-column、伸缩布局Flexbox、网格布局Grid详解
新css属性为我们提供了更加便捷的网页布局方式.来自微软的thomas lewis将带你认识去Grid Alignment,Flexibox Box以及Multi-column Layout这三大领域 ...
- CSS内容布局
网页是由不同内容块构成的:标题.段落.链接.列表.图片.视频,等等. 1.定位 定位并不适合总体布局,因为它会把元素拉出页面的正常流. 元素的初始定位方式为静态定位(static),即块级元素垂直堆叠 ...
- HTML、CSS知识点,面试开发都会需要--No.4 内容布局
No.4 内容布局 1.列举场景 同一行布局三个元素.三个元素等比显示,并且其他元素不会围绕这三个元素.如下要让下面的三个column等比显示在一行: 2.通过Float属性实现 (1)float:l ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)
这些HTML.CSS知识点,面试和平时开发都需要 No1-No4 系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...
- 无废话ExtJs 入门教程十六[页面布局:Layout]
无废话ExtJs 入门教程十六[页面布局:Layout] extjs技术交流,欢迎加群(201926085) 首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 bùjú: [distributi ...
- div+css网页标准布局实例教程(二)
五.布局页面——头部和导航 有了上边的基础,下面的任务就是要利用html和css制作完成一个完整的网页了.先从头部开始,第三小节时我们已经把整体框架给搭建好了,就像盖房子一样,整体结构已经出来了,下面 ...
- css三栏布局方案整理
日常开发中,经常会用到css三栏布局,现将工作中常用的css 三栏布局整理如下: 什么是三栏布局: 三栏布局,顾名思义就是两边固定,中间自适应. 一. float布局 <!DOCTYPE htm ...
- CSS流体(自适应)布局下宽度分离原则
CSS流体(自适应)布局下宽度分离原则 这篇文章发布于 2011年02月28日,星期一,00:48,归类于 css相关. 阅读 73990 次, 今日 5 次 by zhangxinxu from h ...
随机推荐
- @loj - 6039@ 「雅礼集训 2017 Day5」珠宝
目录 @description@ @solution@ @accpeted code@ @details@ @description@ Miranda 准备去市里最有名的珠宝展览会,展览会有可以购买珠 ...
- Hexo博客框架攻略
前言 前天无意在b站看到up主CodeSheep上传的博客搭建教程,引起了我这个有需求但苦于没学过什么博客框架的小白的兴趣.于是花了两天时间终于终于把自己的博客搭建好了,踩了无数的坑,走偏了无数的路, ...
- MSSQL2008下备份好的*.bak--->>>恢复到--->>>MSSQL2014(解决办法)
MSSQL2008下备份好的*.bak--->>>恢复到--->>>MSSQL2014(解决办法) 在进行CTE训练时(同时也要理解下窗口函数的应用),发现不能继续 ...
- C# 9.0 新特性之参数非空检查简化
阅读本文大概需要 1.5 分钟. 参数非空检查是缩写类库很常见的操作,在一个方法中要求参数不能为空,否则抛出相应的异常.比如: public static string HashPassword(st ...
- (十一)Maven运行TestNG的testcase 两种方式:testng.xml和testngCase.java
原文:https://blog.csdn.net/wwhrestarting/article/details/46596869?utm_source=copy 1.通过maven-surefire-p ...
- demo项目开发(Python+flask+mysql+redis只包含后端接口)
[demo项目开发需求] 用户信息管理,可以注册.登录.添加用户.删除用户 注册:任何用户可以注册,对用户提交的注册信息进行校验,返回对应的信息,其中: 用户名:必填,唯一 密码:必填,只能6-12位 ...
- WireShark——IP协议包分析(Ping分析IP协议包)
互联网协议 IP 是 Internet Protocol 的缩写,中文缩写为“网协”.IP 协议是位于 OSI 模型中第三层的协议,其主要目的就是使得网络间能够互联通信.前面介绍了 ARP 协议, 该 ...
- java创建图片的缩略图
//java创建图片的缩略图private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int qua ...
- SpringCloud教程第6篇:config(F版本)
一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ...
- android 中使用自定义权限
1.如果在一个进程中启动另外一个进程的activity <?xml version="1.0" encoding="utf-8"?> <man ...