css3 flexBox 弹性布局 记录

  在传统的css布局,都是依赖于position,float,dosplay进行。在一些特定的布局的实现上往往很不方便,比如一个元素的垂直居中。鉴于这种关系,2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。

首先让我们明白在flex中什么是容器,什么是元素

<div>//容器
   <div></div>//元素
   <span></span>//元素
   <img/>//元素
</div>

  在flex容器内的元素,没有块级元素,行内元素的区别,都是flex元素,可以设置高宽,可以看做没有换行符的块级元素

在flex项目容器和元素分别都有一些属性值

  容器

  flex-direction 决定容器主轴方向

    row

    row-severse

    column

    column-reverse

  flex-wrap 决定多个元素排列超过容器最大宽度时,是否换行,如果不换行将会制动缩小,以适应容器

    wrap

    nowrap

    wrap-reverse

  flex-flow  flex-direction和flex-wrap的缩写

  justify-content 元素在主轴上的对齐方式

    flex-start

    flex-end

    center

    space-between

    space-around

    space-evenly  元素与元素 和 元素与容器边框 平分剩余空间

  align-items 元素在交叉轴上的对其方式,默认值为stretch

    flex-start

    flex-end

    center

    baseline 基于项目第一行文字的底部对齐,如果没有设置元素高度,则将元素自适应内容高度

    stretch  如果项目未设置高度或设为auto,将占满整个容器的高度

  align-content 元素(多主轴时交叉轴对齐方式,只有一条主轴时无效)

    flex-start

    flex-end

    center

    stretch

    space-between

    space-around

  元素

  order:0 数值越小排序越靠前 默认为0

  flex-grow:0 放大比例,如果还有剩余空间,就将剩余空间分成若干等分,如果有两个元素,一个为1一个为2,那么它们的将分别占据剩余空间的1/3和2/3。默认为0 即存在空余空间也不放大,

  flex-shrink:1 属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。值越大,缩小的越多,如果为0不缩小

  flex-basis:auto 属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。这个属性基本不用去动,设置成固定大小时和 width、height效果一样

  align-self 允许元素有自己的对齐方式,会覆盖掉align-items

    center

    flex-start

    flex-end

    auto

    baseline

    stretch 如果项目未设置高度或设为auto,将占满整个容器的高度

原文地址:https://www.cnblogs.com/wrhbk/p/12321814.html

时间: 2024-10-03 06:18:13

css3 flexBox 弹性布局 记录的相关文章

CSS3 Flexbox 弹性布局

Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.任何一个容器都可以指定为Flex布局.2009年,W3C提出了一种新的方案----Flex布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能. 1.先看一下这些属性对应的值 display: flex |  inline-flex; flex-direction: row | row-reverse | column | c

CSS3 flexbox弹性布局实例

常用例子 1.居中对齐 <!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .flex-container{ padding:0; margin:0; list-style:none; display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webki

CSS3中的Flexbox弹性布局(二)

flexbox详解 flexbox的出现是为了解决复杂的web布局,因为这种布局方式很灵活.容器的子元素可以任意方向进行排列.此属性目前处于非正式标准. flex布局模型不同于块和内联模型布局,块和内联模型的布局计算依赖于块和内联的流方向,而flex布局依赖于flex directions.简单的说:Flexbox是布局模块,而不是一个简单的属性,它包含父元素(flex container)和子元素(flex items)的属性. 属性解析 链接:https://cruxf.github.io/

CSS3之弹性布局

flexbox是CSS3提出的页面布局模块.flexbox可以把列表横向或者纵向排列,并且填满可以延伸到的空间.稍微复杂的布局可以通过嵌套flex container来实现. 利用flexbox可以方便的创建弹性布局,这使得在移动设备上,可以让元素在容器内扩展和收缩,更容易的实现常见布局,如三列布局. 弹性容器和弹性块 一个flex container中包含了left content right三个弹性块. 可以设置display为flex让块变为弹性块. 可以设置flex-flow来确定弹性块

flexbox弹性布局

flexbox的核心是自适应动态变化的弹性布局 伸缩布局盒模型和术语 主轴main axis:Flex容器的主轴主要用来配置Flex项目.注意,它不一定是水平,这主要取决于flex-direction属性.main-start | main-end:Flex项目的配置从容器的主轴起点边开始,往主轴终点边结束.main size:Flex项目的在主轴方向的宽度或高度就是项目的主轴长度,Flex项目的主轴长度属性是width或height属性,由哪一个对着主轴方向决定. 侧轴cross axis:与

CSS3 -- FlexBox(弹性盒子)

盒子模型 CSS中有一种基础设计模式叫盒模型,盒模型定义了Web页面中的元素如何来解析. 在盒模型中主要包括width.height.border.background.padding和margin这些属性,而且他们之间的层次关系可以相互影响. w3c的标准盒子模型 和 IE的传统盒子模型的区别 标准 w3c 盒子模型的范围包括 margin.border.padding.content,并且 content 部分不包含其他部分. 和标准 w3c 盒子模型不同的是:ie 盒子模型的 conten

React Native 弹性布局FlexBox

React Native采用一中全新的布局方式:FlexBox(弹性布局).可以很方便的实现各种复杂布局,是全新的针对web和移动开发布局的一种实现方式. 何为FlexBox? 完整名称为:the flexible box Module,旨在通过弹性的方式来对齐和分布容器中的组件.Flexbuju的主要思想是:让容器有能力让其子项目能够改变其宽度|高度|顺序,以最佳方式填充可用空间. 在布局中,首先得确定主轴方向(flexDirection),主轴组件的对齐方式(justifyContent),

web app 自适应方案总结 关键字 弹性布局之rem

web app 自适应方案总结 关键字 弹性布局之rem 关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/define-font-size-with-css3-rem 现在移动端 web app 的自适应布局的方案有 5种. 零. Flexbox 使用css3 flexbox 进行布局,对于富媒体和复杂排版的支持非常强大,未普及兼容性非常差,几乎没有在任何

CSS3 Flexbox轻巧实现元素的水平居中和垂直居中

CSS3 Flexbox轻松实现元素的水平居中和垂直居中 网上有很多关于Flex的教程,对于Flex的叫法也不一,有的叫Flexbox,有的叫Flex,其实这两种叫法都没有错,只是Flexbox旧一点,而Flex是刚出来不久的东西而已,为了方便说明,赶上新技术,下面我就把这种布局叫Flex布局. 元素居中,相信作为前端工程师的你肯定会经常用到,不管是在水平方向居中,还是垂直方向居中,都可在你的职业生涯中徘徊.不过很多时候要实现垂直居中,还是比较麻烦的.不过你也不用担心,下面就给大家分享下通过Fl