我所知道的弹性盒子模型

  弹性盒子是css自适应布局的一种好用的方法,有了它可以减少浮动的使用(避免清浮动).

  首先考虑一下兼容性

  基本高版本主流浏览期都兼容,不过需要加前缀 最新写法为display:flex但是实际很多国产浏览器并不兼容,所以我还是用的display:box的写法并没有兼容两种.

  所以主要介绍-webkit-box,想了解flex属性可以查看http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html(用法不太一样呀回来要整理整理)

  写法为父级display后,子元素自动成为容器成员,并且floatclearvertical-align属性将失效.

.box{
        display:box;
        display:-webkit-box;/*(会与display:block冲突)*/
        -webkit-box-align:center;
        -webkit-box-pack:center;

}    /*(主要做移动端只加了webkit)*/

  父级容器box-align表示子集在y轴的排列方式 start | end | center | baseline | stretch  start表示顶边对齐,end为底部对齐,center为居中对齐,baseline表示基线(英文字母o,m,n等的底边位置线)对齐,stretch  伸缩和父级等高.

  父级容器box-pack表示子集在x轴的排列方式 start | end | center | justify 与父标签的起始位置对齐  末尾 居中 两端对齐

  box-pack-justify两端对齐可以用来 设置两端对齐的标题例如

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .tit{
            height:200px;
            width:200px;
            background:red;
            display:-webkit-box;
            display:-moz-box;
            display:box;
            -webkit-box-align:center;
            -webkit-box-pack:justify;
            padding:0 20px;
            color:#fff;

        }
        .tit div:nth-child(1){
            height:40px;
            width:60px;
            background:#000;
            text-align:center;
        }
        .tit div:nth-child(2){
            height:30px;
            width:40px;
            background:#000;
            text-align:center;
        }
    </style>
</head>
<body>
    <div class=‘tit‘>
        <div>左</div>
        <div>右</div>
    </div>
</body>
</html>

如果背景相同可以设置两端对齐也可以用table-cell

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .tit{
            height:200px;
            width:200px;
            background:red;
            padding:0 20px;
            color:#fff;
            display:table;

        }
        .tit div:nth-child(1){
            height:40px;
            width:60px;
            text-align:left;
            display:table-cell;
            vertical-align: middle;
        }
        .tit div:nth-child(2){
            height:30px;
            width:40px;
            text-align:right;
            display:table-cell;
            vertical-align: middle;
        }
    </style>
</head>
<body>
    <div class=‘tit‘>
        <div>左</div>
        <div>右</div>
    </div>
</body>
</html>

box-orient可以设置排序方式 horizontal(水平) vertival (垂直)

子集容器可以设置-webkit-box-flex属性

表示占父级容器分割的分数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .tit{
            height:200px;
            width:200px;
            background:red;
            padding:0 20px;
            color:#fff;
            display:-webkit-box;
            display:-moz-box;
            display:box;
        }
        .tit div:nth-child(1){
            height:40px;
            background:#000;
            -webkit-box-flex:1;/*占总数1/3*/
        }
        .tit div:nth-child(2){
            height:30px;
            -webkit-box-flex:2;/*占总数2/3*/
            background:#000;
        }
    </style>
</head>
<body>
    <div class=‘tit‘>
        <div>左</div>
        <div>右</div>
    </div>
</body>
</html>

注意: 如果两个box-flex 的值设置相同, 会均分父级宽度 。注意如果子集内容不同,会出现不能均分情况需要加个任意宽度 ,width:0%;width:100%;之类的都可以.

<div class=‘tit‘>
        <div>左123</div>
        <div>右456888</div>
</div>
时间: 2024-12-20 08:16:51

我所知道的弹性盒子模型的相关文章

css3弹性盒子模型之box-flex

css3弹性盒子模型之box-flex 浏览器支持 目前没有浏览器支持 box-flex 属性. Firefox 支持替代的 -moz-box-flex 属性. Safari.Opera 以及 Chrome 支持替代的 -webkit-box-flex 属 box-flex是css3新添加的盒子模型属性),它的出现打破了我们经常使用的浮动布局,实现垂直等高.水平均分.按比例划分.但是它有一定的局限性,在firefox.chrome这浏览器下需要使用它们的私有属性来定义:firefox(-moz)

[ css 弹性盒子模型 box-flex 及相关属性 ] box-flex属性弹性盒子模型讲解及实例演示

box-flex属性(和谐版) 有道桌面词典显示,”flex”一词中文有“收缩”之意.不过,从此属性实际上产生的效果来看,无论怎样用“收缩”一词解释都显得很牵强.所以,这里,直接抛开字面意思,我们可以将”box-flex”理解为”房子-分配”.box为“盒子”的意思,我们可以理解为当下价格巨高的“房子”,”flex”指兄弟几个“分配房子”. 举个更实际点的例子:马林大叔省吃俭用一辈子,终于在上海郊外买了间150平米的商品房.后来,马林大叔想回老家养老,决定把房子分配给他的三个儿子.ok,先暂停下

CSS box-flex属性,然后弹性盒子模型简介

一.here we go 看到大神写的关于box-flex的介绍,忍不住收了,大神介绍的很详细,新技能get! 二.box-flex属性(和谐版) 有道桌面词典显示,"flex"一词中文有"收缩"之意.不过,从此属性实际上产生的效果来看,无论怎样用"收缩"一词解释都显得很牵强.所以,这 里,直接抛开字面意思,我们可以将"box-flex"理解为"房子-分配".box为"盒子"的意思,我们

02 AppCan入门学习之弹性盒子模型

弹性盒子模型 效果: 一.弹性盒子模型 1. 流式布局 <!-- 流式布局--> <divstyle='display: inline;border: 1px solid orange'> <divstyle='display: inline;background: #66ccff'>流式文件左边</div> <divstyle='display: inline;background: #ffffff'>流式文件右边</div> &l

CSS box-flex属性 弹性盒子模型简介

二.box-flex属性(和谐版) 有道桌面词典显示,”flex”一词中文有“收缩”之意.不过,从此属性实际上产生的效果来看,无论怎样用“收缩”一词解释都显得很牵强.所以,这里,直接抛开字面意思,我们可以将”box-flex”理解为”房子-分配”.box为“盒子”的意思,我们可以理解为当下价格巨高的“房子”,”flex”指兄弟几个“分配房子”. 举个更实际点的例子:马林大叔省吃俭用一辈子,终于在上海郊外买了间150平米的商品房.后来,马林大叔想回老家养老,决定把房子分配给他的三个儿子.ok,先暂

css3弹性盒子模型之box-flex(修正版一)

http://www.rainleaves.com/html/1095.html css3弹性盒子模型之box-flex(修正版一) 发表于 2011/12/06 9 条回复 18,699 views 今天看到蓝色理想上面有一篇文章讲<css3弹性盒模型布局模块介绍>里面讲到用box-flex,突然觉得有点心慌,上次看到响应式网页设计里面也同样讲到flex box自适应布局,而上次竟然没有引起自己的注意,想深入研究一下,竟然给忘记了,于是就在这种不断的忘记中彻底变成outer.今天借此机会,好

flexbox弹性盒子模型

这几天在做移动端的web开发,遇到了一些问题,之前没有折腾过这方面的东西,这次好好吸收下 css3的flexbox--弹性盒子模型,这个盒模型决定了一个盒子在其他盒子中的分布方式及如何处理可用的空间. 优点:可以很轻松的创建自适应的浏览器窗口的流动布局或自适应字体大小的弹性布局. 1 <body> 2 <div id="box1">1</div> 3 <div id="box2">2</div> 4 <

浅谈css3弹性盒子模型

昨晚听了一个微信小程序的公开课,在布局时,无意间看到了弹性盒子的身影,之前只知道box-flex,但是由于兼容性问题,使用者很少,毕竟市面上的大多浏览器都必须加前缀才能实现,也就意味着多写几行代码,其实这都不是事,可是大部分CXY都比较懒,能一行代码搞定的事绝不写两行.废话有点多了.转回正题. 我学东西遵循着,是什么?为什么?怎么用?有什么问题?下面我就按这四个方向深入聊聊,水平有限,有问题的地方请多多指教.. 一.是什么? 相信大多数CXY遇到问题,不知是骡子还是马,都会习惯性谷歌之,我也不例

css3弹性盒子模型

当下各种手机,平板尺寸不一,如果盒模型只能固定尺寸,不能随意压缩,将不能很好的迎合这个时代.所以css3推出了新的盒模型——弹性盒子模型(Flexible Box Model). 弹性盒模型可以水平布局,可以垂直布局,还可以调换顺序,可以设置不等的百分比等. 1.弹性盒子column分栏 1 <h2>1.弹性盒子column分栏</h2> 2 <div class="freebox"> 3 <img src="image/moon.j