css3布局属性flex

html代码如下:

<ul class="ul_box">
    <li><a href="#">html</a></li>
    <li><a href="#">css</a></li>
    <li><a href="#">javascript</a></li>
    <li><a href="#">html5</a></li>
    <li><a href="#">css3</a></li>
    <li><a href="#">jquery</a></li>
</ul>

css代码如下:

.ul_box{
    margin:0;
    padding: 0;
    list-style: none;
    /*display: flex将对象作为弹性伸缩盒显示;
    flex-flow:flex-direction(确定弹性子元素排列方式)和
              flex-wrap(当弹性子元素超出弹性元素容器范围时是否换行)的复合属性,
    写入父容器里;    */
    display: flex;
    flex-flow: row wrap;
}
.ul_box li{
    text-align: center;
    height:40px;
    line-height: 40px;
    /*flex:flex-grow(设置弹性子元素的扩展比率)
     *        flex-shrink(设置弹性子元素的收缩比率)
     *        flex-basis(指定弹性子元素伸缩前的默认大小值,相当于width和height属性。)
     * 这三种属性的复合属性,写入子容器里;*/
    flex: 1 1 100%;
}
.ul_box li a{
    text-decoration: none;
    color:#fff;
}
.ul_box li:nth-child(1){
    background: #008000;
}
.ul_box li:nth-child(2){
    background: #4169E1;
}
.ul_box li:nth-child(3){
    background: #8A2BE2;
}
.ul_box li:nth-child(4){
    background: #A52A2A;
}
.ul_box li:nth-child(5){
    background: #FFA500;
}
.ul_box li:nth-child(6){
    background:#9ACD32;
}
@media (min-width:480px ) {
    .ul_box li{
        flex: 1 1 50%;
    }
}
@media (min-width:768px ) {
    .ul_box{
        flex-flow: row nowrap;
    }
}

以下6个属性设置在容器上:

  • flex-direction  容器内项目的排列方向(默认横向排列)  
  • flex-wrap  容器内项目换行方式
  • flex-flow  以上两个属性的简写方式
  • justify-content  项目在主轴上的对齐方式
  • align-items  项目在交叉轴上如何对齐
  • align-content  定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

容器中项目的属性:

  • order  项目的排列顺序。数值越小,排列越靠前,默认为0。
  • flex-grow  项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
  • flex-shrink  项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
  • flex-basis  在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
  • flex  是flex-growflex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
  • align-self  允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch
时间: 2024-10-13 07:06:15

css3布局属性flex的相关文章

CSS3布局之flex布局效果

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{ margin: 0; padding: 0; } .container{ width: 1000px; margin:0 auto; } he

CSS3基础(3)——CSS3 布局属性全接触

一. 弹性盒模型 1.弹性盒子模型介绍 弹性盒模型(Flexible Box或Flexbox)是一个CSS3新增布局模块,官方称为CSS Flexible Box Layout Module,用于实现容器里项目的对齐.方向.排序(即使在线吗大小位置.动态生成的情况). 弹性盒模型最大的特征在于,能够动态修改子元素的宽度和高度,以满足在不同尺寸屏幕下的洽当布局. 兼容性:http://caniuse.com/#search=flex 2.弹性盒子属性 ①弹性容器属性 属性 描述 display 指

【转】CSS3 布局属性全接触

1.[弹性盒模型Flexbox],最大的特性在于,能够动态修改子元素的宽度和高度,以满足在不同尺寸屏幕下的恰当布局. flex-direction:row | row-reverse | column | column-reverse /*设置主轴方向,确定弹性子元素排列方式*/ flex-wrap: nowrap | wrap | warp-reverse /* 设置弹性子元素超出弹性容器范围时是否换行 */ flex-flow: [flex-direction]||[flex-wrap] /

css布局属性flex

html代码如下: <ul class="ul_box"> <li><a href="#">html</a></li> <li><a href="#">css</a></li> <li><a href="#">javascript</a></li> <li>&l

两点补充——CSS3新属性以及弹性布局

CSS3 新属性 一.[ CSS3新增属性前缀 ] 1.-webkit-:chrome/safari 2.-moz-:火狐 3.-mo-:IE 4.-o-: Opera 欧朋 二 .[CSS 长度单位] 1.px:像素.长度固定,表示分辨率占几个像素点: 2.%:表示相对于默认值的百分比: 3.em:长度与元素的字号挂钩. rem:长度与根元素的字号挂钩. 即与html 的 font-size 挂钩,若不设置,默认16px . [ em与rem区别 ] em与当前元素自身的font-size挂钩

圣杯布局之 css3 calc和 flex

圣杯布局的实现,有很多种. 大致都是借助 padding, margin, float之类的,当然这是传统的实现方式.更多的参考方式圣杯布局小结. 这里说的是用css3 cal 和flex来实现,因为css有限,有不当或者错误之处,敬请指出. css3 cal 的支持情况,总体 93%. flex布局的支持情况, 总体97% 为了增加复杂度 1. 块之间有间距 2. 有 border 3. 都采用了 box-sizing: content-box 先看 calc的实现 <!DOCTYPE htm

Flex:CSS3布局利器

实习以来做了三个小控件,都是用的CSS2.1里传统的DIV+CSS布局方式,综合使用position.margin.float.BFC等属性或特性将元素放到指定的位置上.然而面对日益复杂的界面,这些来自于上个时代.主要针对普通文档流的属性越来越力不从心,比如一个垂直居中就很让人头疼.后来遇到一个布局问题,苦思良久无解,然后在前辈的指点下使用了Flex,问题瞬间解决.竟然这么神奇!那一刻真有一种相见恨晚的感觉. Flex,顾名思义,flexible,可以自动根据布局需要灵活地调整被布局元素的位置和

理解CSS3里的Flex布局用法

一.Flex布局是什么? Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为Flex布局. .box{ display: flex;} 行内元素也可以使用Flex布局. .box{ display: inline-flex;} Webkit内核的浏览器,必须加上-webkit前缀. .box{ display: -webkit-flex; /* Safari */ display: flex;} 注意,设为Flex布局

CSS3 常用属性(三)-- 用户界面、文字、两种盒模型

用户界面--column 关于用户界面,我们先了解一下在块元素中写文字时,浏览器中的呈现情况,这个其实很明显,所有的文本内容会在块元素内从左到右一个个字排列,排满后,从上到下一排排渲染--然而,有些时候,页面需求的呈现方式是,类似于报纸似得,将一段文本内容,分成多列布局显示. 用户界面使用的示例如下: .font{ width:300px; height:300px; border:1px solid #000; margin:0px auto; column-count:3; /* 定义数量