前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >03 弹性盒模型

03 弹性盒模型

作者头像
用户1148399
发布2018-01-09 16:05:25
8690
发布2018-01-09 16:05:25
举报
文章被收录于专栏:web前端web前端

一、Flex布局(新版弹性盒模型)

     1、是什么

          flexible box 弹性盒模型     注意:设成flex布局之后,子元素的float clear vertical-align 都失效。该元素称为“容器”,子元素成为容器成员,称flex项目(简称“项目”)

默认类似line-block样式,row nowrap flex-start

代码语言:js
复制
.box{
    display: -webkit-flex;
    display: flex;
/*    display: inline-flex;     行内元素也可以*/
}
image.png
image.png

     2、容器的属性:(默认第一个)

          2.1 flex-direction: row | row-reverse | column | colunm-reverse;     //主轴排列方向

               2.1.1     区别于box方式,此时reverse会带来对齐方式的不同(会沿着底部对齐,而box中的-webkit-box-direction: reverse; 只会改变项目排列方式,不会带来对齐方式的改变)

          2.2 flex-wrap: nowrap | wrap | wrap-reverse;

          2.3 flex-flow: <flex-direction> || <flex-wrap>;     默认row nowrap

          2.4 justify-content: flex-start | flex-end | center(富裕空间主轴在两端) | space-between(富裕空间分配在每两个元素中间(元素与dom边缘没有富裕空间)) | space-around(富裕空间在项目周围);

          2.5 align-item: stretch | flex-star | flex-end | center | baseline;

          2.6 align-content: stretch | flex-start | flex-end | center | space-between | space-around;          //定义多根轴线的对齐方式(如果只有一根轴线,该属性失效)

     3、项目的属性:(默认第一个)

          3.1 order: <int>;  值越小,排序越靠前(默认为0,可负值)

          3.2 flex-grow: <number>; (弹性空间)定义项目的放大比例(有剩余空间,则按照比例放大,否则不放大),默认0(不放大)

          3.3 flex-shrink: <number>; 负值无效,默认为1(空间不足时等比缩小);如果为0,不缩小。

          3.4 flex-basis:  <length> | auto; 默认auto,即项目本来的大小。可以设为项目的width或height,则项目占据固定空间

          3.5 flex: <flex-grow> || <flex-shrink> || <flex-basis>; 默认 0 1 auto (后两个属性可选)

          3.6 align-self: auto | flex-start | flex-end | center | baseline | stretch;

     4、兼容性问题

          4.1 移动端许多不支持flex布局

          后续.......

二、box(老版弹性盒模型)---》支持移动端(例如 Android UC浏览器只支持display: box语法, 而iOS UC浏览器则支持box和flex两种方式)

     1、注意点:使用时,必须要在父元素入下(默认样式类似inline-block)

代码语言:javascript
复制
.box{
    display: -webkit-box;
    display: box;
/*    display: inline-box;     或者*/
}

     2、box属性

          2.1     -webkit-box-orient: horizontal | vertical;     水平 | 垂直方向排列

          2.2     -webkit-box-direction: normal | reverse;     (box中的-webkit-box-direction: reverse; 只会改变项目排列方式,不会带来对齐方式的改变 )

          2.3     -webkit-box-pack: start | end | center | justify(类似space-between)     主轴方向富裕空间的管理(即剩余空间的管理)

          2.4     -webkit-box-align: start | end | center

     3、box子元素的属性

          3.1     -webkit-box-flex: <int>;     默认0,不缩放;1,等比缩放

          3.2     -webkit-box-ordinal-group: 1;     最小值默认为1(区于order,此时不可负值)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档