css3弹性盒子模型详解( Flexible Box Model)

简介: 相信很多人在进行页面布局的时候,经常会使用到float,margin,padding等布局元素,并为了调整细节烦不胜烦,CSS3中新的盒子模型——弹性盒子模型(Flexible Box Model)为大家带来了不一样的新体验。

相信很多人在进行页面布局的时候,经常会使用到float,margin,padding等布局元素,并为了调整细节烦不胜烦,CSS3中新的盒子模型——弹性盒子模型(Flexible Box Model)为大家带来了不一样的新体验。

一 基本介绍

下面我们先来个样例,使用方式如下:

 

{
display:-webkit-box;
display:-moz-box;
display:box;
}

 

貌似inline-box也可以。另外我们要注意浏览器间的私有属性兼容,这真是无奈的问题。为了简单,下面我只写webkit内和浏览器的写法。

当你把一个有效地html框标签设置该样式后,其内部的元素就将遵循和布局模式。你就可以定制你的盒模型具体展现形式了,下面介绍几个有用属性:

  • -webkit-box-orient

box-orient属性用于设置盒模型内部元素的排列方式,详细如下:

  1. inline-axis:从左向右排列(默认值)
  2. horizontal:水平排列
  3. vertical:垂直排列
  4. block-axis:从上向下排列
  • -webkit-box-sizing

box-sizing属性用于改变容器的盒模型组成方式

  1. content-box: 此值维持css2.1盒模型的组成模式,border|padding|content {element width=border+padding+content}
  2. border-box: 此值改变css2.1盒模型组成模式,content|border|padding {element width=content}
  • -webkit-box-direction

box-direction 属性用于改变容器的显示顺序,使之反向排列。默认的情况下,block 级元素是按照加载顺序从上到下排列, inline 级元素是从左到右排列的。下面来看看box-direction:

  1. reverse:block 级元素显示在最顶部,最后加载的 inline 级元素显示在左边
  • -webkit-box-pack

box-pack 属性可以用于设置子容器在水平框中的水平位置,以及垂直框中的垂直位置,它共有四种可能值:start,end,justify 和 center。这些值的含义如下:

  1. start :所有子容器都分布在父容器的左侧,右侧留空
  2. end :所有子容器都分布在父容器的右侧,左侧留空
  3. justify :所有子容器平均分布(默认值)
  4. center :平均分配父容器剩余的空间(能压缩子容器的大小,并且有全局居中的效果)
  • -webkit-box-align

box-align 属性用于规定如何对齐框的子元素。,共有五个值:start,end,center,baseline 和 stretch。

  1. start :子容器从父容器顶部开始排列
  2. end :子容器从父容器底部开始排列
  3. center :子容器横向居中(有点奇怪)
  4. baseline :所有子容器沿同一基线排列(很难理解)
  5. stretch :所有子容器和父容器保持同一高度(默认值)


二 浏览器支持情况

这张图可以清楚地看出来,ie和opera就别想了,chrome和firefox和safari很给力。更让人惊喜的是目前的主流智能移动设备操作系统Android和ios的内嵌浏览器对其也有不错的支持。对移动开发来说这真是太美好了,至少对于饱受float,padding折磨的我来说是这样的。

三 对应的子元素样式

-webkit-box-flex

当父元素设定成盒模型显示后,其子类型就可以水平或者垂直弹性分布了。你可以设置成固定的 宽度(高度)来显示子元素,css3还为我们提供了一个自动分配空间的属性:-webkit-box-flex。他可以将父元素的可用空间平均分配空间:例:

<div style="display:-webkit-box;border:1px solid  #ccc;  width:500px;height:50px;">
<div style="-webkit-box-flex:1;background-color:#0f0"></div>
<div style="-webkit-box-flex:2;background-color:#f00"></div>
<div style="width:100px;background-color:#0f0"></div>
</div>

 

目录
相关文章
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
1296 1
|
前端开发 开发者
css两种盒子模型
在CSS中,有两种盒子模型:标准盒子模型和IE盒子模型(怪异盒子模型)。标准盒子模型中,`width`和`height`仅指内容区的尺寸,总宽度和高度还包括内边距、边框和外边距。IE盒子模型中,`width`和`height`包括内容区、内边距和边框,总宽度和高度仅加外边距。通过`box-sizing`属性可以切换这两种模型,`box-sizing: content-box;`表示标准盒子模型,`box-sizing: border-box;`表示IE盒子模型。
|
前端开发 容器
给 CSS 盒子模型添加边框时,需要注意什么?
在给CSS盒子模型添加边框时,需要注意边框的宽度、样式和颜色,以及它如何影响盒子的总尺寸和布局。边框会增加盒子的总宽度和高度,可能需要调整其他属性以保持布局的完整性。
|
前端开发
CSS属性:盒子模型
CSS属性:盒子模型
203 0
|
前端开发
CSS 盒子模型
CSS 盒子模型
156 4
|
前端开发
彻底搞懂css盒子模型
【10月更文挑战第1天】
607 9
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
905 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    537
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    418
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    414
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    268
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    525
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    705
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1296
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    300
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1078
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    491