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>

 

目录
相关文章
|
25天前
|
前端开发 开发者
【前端大揭秘】CSS盒子模型的爱恨情仇:一场关于标准与IE模型的精彩对决!
【8月更文挑战第26天】本文深入探讨CSS中的两大盒子模型——标准盒模型与IE盒模型。通过理论解析与实例代码,清晰展示了两种模型下元素尺寸的构成方式及其应用场景。标准盒模型适合精确控制内容区尺寸,而IE盒模型在处理固定宽度元素时更为直观。掌握这些知识将帮助前端开发者在实际项目中做出更优的设计决策,提升网页布局的质量与美观性。
19 1
|
1月前
|
前端开发
HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用
该博客文章详细介绍了HTML和CSS的基础知识,包括CSS样式的应用方式、语法规则、选择器的使用、盒子模型、内边距、外边距、元素的显示类型以及overflow属性处理溢出内容的方法,并通过代码示例和测试结果截图展示了这些知识点在网页设计中的应用。
HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用
|
2月前
|
前端开发 容器
CSS Flexbox(弹性布局)
CSS Flexbox(弹性布局)
|
3月前
|
前端开发 开发者
CSS盒子模型(如果想知道CSS有关盒子模型的知识点,那么只看这一篇就足够了!)
CSS盒子模型(如果想知道CSS有关盒子模型的知识点,那么只看这一篇就足够了!)
|
2月前
|
前端开发
CSS:盒子模型
CSS:盒子模型
|
3月前
|
前端开发 JavaScript 开发者
详细解读CSS——盒子模型(含详解)
详细解读CSS——盒子模型(含详解)
16 0
|
3月前
|
前端开发
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二
37 0
|
29天前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
|
29天前
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
10天前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)