Flexbox盒子弹性布局

  1. Can I Use?

2. 概念:

当你给一个元素使用了flexbox模块,那么它的子元素就会指定的方向在水平或者纵向方向排列。这些子元素会按照一定的比例进行扩展或收缩来填补容器的可用空间。

<html>

<head>
    <title></title>
    <meta charset="utf-8">
    <style>
    ul {
        /* display: flex; */
        display:-webkit-box;
        width: 50%;
        margin: 0 auto;
        border:1px solid #ccc;
    }

    li {
        padding: 5px 0;
        list-style: none;
       /*  flex: 1;    *表示子元素之间平均分配 */
        -webkit-box-flex: 1; /* 兼容性写法 */
        text-align: center;
    }

    ul li:first-child{
        border-right: 1px solid #ccc;
    }
    </style>
</head>

<body>
    <ul>
        <li>区域1</li>
        <li>区域2</li>
    </ul>
</body>
</html>

3.flex 不等宽布局

<html>

<head>
    <title></title>
    <meta charset="utf-8">
    <style>
        .container{
            display:flex;
            display:-webkit-flex;

        }

        .container section{
            border: 1px solid #bc223d;
        }

        .initial{
            flex:initial;
            -webkit-flex:initial;
            width: 200px;
            min-width: 100px;
        }

        .none{
            flex:none;
            -webkit-flex:none;
            width: 200px;
        }

        .flex1{
            flex:1;
            -webkit-flex:1;
        }

        .flex2{
            flex:2;
            -webkit-flex:2;
        }
    </style>
</head>
<body>
    <section class="container">
        <section class="initial">
            <p>啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦</p>
        </section>
        <section class="none">
            <p>啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦</p>
        </section>
        <section class="flex1">
            <p>啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦</p>
        </section>
        <section class="flex2">
            <p>啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦</p>
        </section>
    </section>
</body>
</html>

4.居中布局

<html>

<head>
    <title></title>
    <meta charset="utf-8">
    <style>
        .container{
            display:flex;
            display:-webkit-flex;
            border:2px solid #bc223d;
            width: 500px;
            height: 250px;
        }

        .content{
            border:1px solid #ccc;
            background: #bc223d;
            width:100px;
            height:50px;
            margin: auto;
        }
    </style>
</head>
<body>
    <section class="container">
        <section class="content"></section>
    </section>
</body>
</html>

5.属性详解

  • box-align: start|end|center|baseline|stretch(子元素拉伸撑满)
    • 定位子元素,纵向位置
  • box-pack: start|end|center|justify
    • 规定当框大于子元素尺寸的时候,如何放置子元素,规定了水平框中的水平位置,垂直框中的垂直位置
  • box-direction:normal|reserve(反向)|inherit
    • 规定子元素排列的方向
时间: 2024-12-27 17:24:31

Flexbox盒子弹性布局的相关文章

React Native 弹性布局FlexBox

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

CSS3 Flexbox 弹性布局

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

flexbox弹性布局

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

css3总结(三)立方体、动画、web字体、字体图标、弹性布局、多列布局、伸缩盒子

目录: 1.立方体2.动画3.设置动画的一些属性4.案例:无缝滚动5.web字体6.弹性布局7.多列布局8.弹性布局9.案例:伸缩盒子的flex属性的应用案例(菜单个数不限)10.伸缩盒子的align-items属性     设置侧轴对齐方式11.案例:伸缩盒子,宽高自适应 1.立方体    *transform-style: preserve-3d;/*子元素保留其3d样式*/ <!DOCTYPE html> <html> <head> <title>立方

【repost】CSS3弹性布局

本文导读:在CSS 3中,CSS Flexible Box模块为一个非常重要的模块,该模块用于以非常灵活的方式实现页面布局处理.使用CSS Flexible Box模块中定义的弹性盒布局技术,可以根据屏幕尺寸或浏览器窗口尺寸自动调整页面中各局部区域的显示方式,即实现非常灵活的布局处理. 弹性布局(flexible box)模块旨在提供一个更加有效的方式来布置,对齐和分布在容器之间的各项内容,即使它们的大小是未知或者动态变化的. 弹性布局的主要思想是让容器有能力来改变项目的宽度和高度,以填满可用空

弹性布局各种坑爹兼容

当然也看到过遇到flexbox布局的属性将所有的新的老的前缀都加上的,这样省事啊 谁闲着没事整天研究那几个属性的兼容,更可况前端发展这么快说不定有更牛逼的样式出现 但是想在移动端用好这个布局摸透这个属性 我还是一个个都探究下吧,在此先说下各浏览器PC端最新版本情况目前:IE最新版本是ie11, FF最新版本是ff41.0, Chrome最新版本是chrome45.0, Safira最新版本8.0.3, opera最新版本是31 然而这些最新版本对我们来说并没什么卵用 只是个标准 没有谁电脑装的都

[学习笔记]viewport定义,弹性布局,响应式布局

一,移动端宽度设置viewport视图窗口,<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">,视窗宽度=设备宽度,默认缩放=1,不允许用户缩放. 二,flexbox,弹性盒子模型:1,在元素的css中添加display:-webkit-flex就可以转换成弹性盒模型了,然后在多个子元素的CSS中添加flex:1/2/3,就可以让子元素按

弹性布局基础讲解与高效应用

弹性布局是由w3c在2009年提出的一种布局方法,目前浏览器都已经支持弹性布局(忽略IE6吧).本文主要讲解弹性布局的基本语法并将其应用到实际网页布局中. 怎样应用弹性布局? .box{ display:flex: } 改变盒子display的属性为flex即可将盒子变为flex容器(flex container),其所有子元素自动变为容器成员,称为flex 项目(flex item). 容器默认存在两根轴,水平的主轴(main axis)和垂直的交叉轴(cross axis).主轴的开始位置叫

弹性布局flex

前几天写过怪异盒子布局,以前在项目中用到弹性布局flex这个属性,当时没深入研究,这里各种查阅各种测试,把这个属性记录下 以免忘记, 弹性布局:是提供一种更加有效的方式来对一个容器中的条目进行排列.对齐和分配空白空间.即便容器中条目的尺寸未知或是动态变化的,弹性盒布局模型也能正常的工作. 让一个盒子具有弹性布局的属性,要先给其加上样式display:flex:OK我们也会看到有写的是display:box/display:flexbox:其实他们只是不同时期的规范: 新规范:2013年最新版本规