CSS3 flexbox 布局 ---- flex项目属性介绍

  现在介绍用在flex项目上的css 属性,html结构还是用ul, li 结构,不过内容改成1,2,3, 样式的话,直接把给 ul 设display:flex 变成flex 容器,默认主轴的方向为水平方向。index.html

<ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
</ul>

  index.css

ul {
    display: flex;
    width: 600px;
    border: 1px solid red;
}
li {
    width: 100px;
    height: 100px;
    margin: 8px;
    padding: 4px;
    text-align: center;
    line-height: 100px;
    background-color: #8cacea;
}

  页面展示内容如下:

  用在flex项目上的属性总共有5个,order || flex-basis || flex-grow || flex-shrink || flex

  order,顾名思议,顺序的意思,就是在不改变html 结构的情况下,给每一个flex项目重新排序,比如让第一个项目在最后面,它的取值是一个数字,正数,负数,0 都可以,如8。  浏览器在进行重绘时会根据这个数字对flex项目进行重新排列,规则就是从小到大,哪个项目的order 属性大,哪个项目排在后面,反之则在前面,如果有两个flex项目的order值相等,就按照它们在html中定义的结构进行排列。当然,每一个flex项目的order默认取值是0, 表示flex项目会按照html 中定义的结构进行排列。

   我们给每一个li 添加一个order 属性,根据规则,第三个项目排在第一位,第二个项目不变,第一个项目排在最后。

li:nth-child(1) {
    order: 3;
}
li:nth-child(2) {
    order: 2;
}
li:nth-child(3) {
    order: 1;
}

  页面的展示效果和我们预料的一致

  flex-basis,  在flex-shinrk 和flex-grow 属性起作用以前,它控制每一个flex项目的默认大小,flex-shrink 和 flex-grow 我们下面会说到。flex-basis 的取值: auto || <length>,  length 就是我们平常用的一些属性值,如px, rem.

  flex-basic 的默认取值是auto, 那auto 代表什么意思呢?

时间: 2024-12-04 23:12:58

CSS3 flexbox 布局 ---- flex项目属性介绍的相关文章

《转载》使用CSS3 Flexbox布局

Flexbox(中文版本可以点击这里)的布局是一个用于页面布局的全新CSS3模块功能.它可以把列表放在同一个方向(从左到右或从上到下排列),并且让这些列表能延伸到占用可用的空间.较为复杂的布局可以通过嵌套一个伸缩容器(flex container)来辅助实现. Flexbox可以简单快速的创建一个具有弹性功能的布局,当在一个小屏幕上显示的时候,Flexbox可以让元素在容器(伸缩容器)中进行自由扩展和收缩,从而容易调整整个布局.它的目的是使用常见的布局模式,比如说三列布局,可以非常简单的实现.

使用CSS3 Flexbox布局

Flexbox(中文版本可以点击这里)的布局是一个用于页面布局的全新CSS3模块功能.它可以把列表放在同一个方向(从左到右或从上到下排列),并且让这些列表能延伸到占用可用的空间.较为复杂的布局可以通过嵌套一个伸缩容器(flex container)来辅助实现. Flexbox可以简单快速的创建一个具有弹性功能的布局,当在一个小屏幕上显示的时候,Flexbox可以让元素在容器(伸缩容器)中进行自由扩展和收缩,从而容易调整整个布局.它的目的是使用常见的布局模式,比如说三列布局,可以非常简单的实现.

CSS3伸缩布局Flex学习笔记

如果需要使用伸缩布局首先得把display:flex;对于兼容还得加前缀display:-webkit-display:flex;等其他浏览器前缀,但我本机Chrome测试已经不需要加前缀了,其实这些还好,关键移动端竟然不支持这个属性,移动端支持的还是老版本的display:-webki-box;不过对于学习来说,也不管它支持不支持了,学了再说吧,更何况Chrome已经把flex的前缀去了,说明flex多少还是有些稳定的. 下面列出了关于CSS与flex一起使用的一些属性 display 显示方

Flexbox 布局的正确使用方法

Flexbox 布局的正确使用方法 在项目中,我们还会大量使用到flexbox的新旧属性,但大多数人一般只会写新属性,旧属性交由autoprefixer处理,但其实完成同样功能的新旧属性表现形式却不尽相同.还有部分人只使用"万能"的flex:number属性为伸缩项目分配空间,但有些特殊情景却无法满足,此文为此梳理了flexbox的新旧属性区别和分配空间的原理,为大家用flexbox布局的项目通通渠. Flexbox兼容性 PC端的兼容性 移动端的兼容性 如上图,为了兼容IE10-11

React Native,flexbox布局

Flexbox布局 flex:使组件在可利用的空间内动态地扩张或收缩.flex:1会使组件撑满空间.当有多个组件都指定了flex的值,那么谁的flex值大谁占得空间就大,占得大小的比例就是flex值的比例. flexDirection:决定子元素的排列方向(纵向或者横向),手机中默认是纵向,有两个值,column或者row justifyContent:决定子元素沿主轴的排列方式,决定子元素是靠近主轴的起始端.末尾端.中间.还是均匀分布,有几个可选项,flex-start,center,flex

CSS3之Flexbox布局

CSS3为我们提供了一种可伸缩的灵活的web页面布局方式-flexbox布局,它具有很强大的功能,可以很轻松实现很多复杂布局,在它出现之前,我们经常使用的布局方式是浮动或者固定宽度+百分比来进行布局,代码量较大且难以理解. 为了更好理解flexbox布局,这里首先要介绍几个概念: 如果所示: (1)主轴(侧轴),flexbox布局里面将一个可伸缩容器按照水平和垂直方向分为主轴或侧轴,如果你想让这个容器中的可伸缩项目在水平方向上可伸缩展开,那么水平方向上就是主轴,垂直方向上是侧轴,反之亦然: (2

CSS3弹性伸缩布局(中)——flexbox布局

混合过渡版 上一篇我们主要讲了旧版box布局,今天这篇主要讲flexbox布局. 混合版本的Flexbox模型是2011年提出的工作草案,主要是针对IE10浏览器实现的伸缩布局效果,其功能和旧版本的功能大同小异. 在这里我们还是采用上一篇的文件,使用混合过渡代码实现IE10的伸缩布局. 首先,我们要设置伸缩盒display属性,它有两个值 因为是针对IE10浏览器的,Chrome,Firefox,Opera不支持,所以我们用IE浏览器来做测试 div{ display: -ms-flexbox;

CSS3弹性盒模型flexbox布局基础版

原文链接:http://caibaojian.com/using-flexbox.html 最近看了社区上的一些关于flexbox的很多文章,感觉都没有我这篇文章实在,最重要的兼容性问题好多人都没有提出解决方案.另外本人2014年5月还废寝忘食的翻译了国外的<CSS3弹性盒模型flexbox完整教程>和<CSS3弹性盒模型flexbox布局实例>,这么好的文章没有人来发现,实在是遗憾. 文章写作背景 查询Can I use上的使用情况,发现最新的浏览器基本支持这个属性,IE10开始

CSS3(5)---伸缩布局(Flex)

原文:CSS3(5)---伸缩布局(Flex) CSS3(5)---伸缩布局 有关页面布局之前写过三篇相关文章: 1.CSS(5)---盒子模型 2.CSS(6)---浮动(float) 3.CSS(8)---定位(position) 一.什么是Flex 布局 1.Flex 布局特点 上面三种布局都是基于盒状模型.依赖 display属性 + position属性 + float属性.它对于有些特殊布局并不友好,比如,垂直居中就不容易实现,会有溢出容器的问题. Flex是意思是"弹性布局&quo