建站学习网,专业提供各类建站教程,网页素材,SEO资讯等建站资源!

网站模板_网站源码_网站素材_建站教程_建站学习网

当前位置:建站学习网 > DIV+CSS教程 > DIV CSS教程 >

CSS3灵活的盒子模型(Flexible Box Module)

更新时间:2017-01-08整理编辑:建站学习网阅读:0

CSS3 标准里引入了一些新的盒子模型参数,在 CSS2 的基础上,我们将能更灵活地调整页面上各个容器的大小和位置。详细的说明可以看这个文档。

通过学习和测试,我发现这种新的盒子模型布局对建立自适应布局的页面带来很大的好处。在这篇文章中,我的所有例子都基于以下 HTML代码:

以下为引用的内容:

<body><div id="box1">1</div><div id="box2">2</div><div id="box3">3</div></body>

容器的排列

在通常的情况下,页面上所有容器的顺序都按照载入的顺序排列。而使用 CSS3 提供的功能后,我们可以在不改变 HTML 结构的前提下随意改变容器显示的位置,这样不但给排版带来极大的方便,我们也可以利用这些功能进行流量整形。

在需用使用灵活盒子模型(Flexible Box Module)的时候,我们需要先把其父容器的 Display 属性设置为 box 或者 inline-box 。

水平分布和垂直分布

我们可以通过 box-orient 属性指定容器的分布轴,当这个属性的值为 vertical 时其子容器将垂直分布(也可以为 block-axis ),当值为 horizontal 时其子容器讲水平分布(也可以为 inline-axis )。在本文的第一个例子里我使用了以下的 CSS :

以下为引用的内容:

#exemple1 .content{-moz-box-orient : horizontal;-webkit-box-orient : horizontal;box-orient : horizontal;} #exemple1 .boite{-moz-box-flex : 1;-webkit-box-flex : 1;box-flex : 1;}

具体的效果可以看这个 DEMO ,三个子 Div 容器都横向并列了。

注:这个效果在 CSS2 里理论上也可以通过 Display: inline; 实现,但由于某些浏览器的 BUG ,没人会这样做。

反序排列

box-direction 属性可以让我们随意改变容器的显示顺序。我们知道,在默认的情况下,block 级元素是按照加载顺序从上到下排列, inline 级元素是从左到右排列的,但现在通过 box-direction 属性我们可以让最后加载的 block 级元素显示在最顶部,最后加载的 inline 级元素显示在左边。

但在使用这个属性的时候要注意它可能会改变元素的某些属性,产生一些不能控制的效果。

在第二个例子里,我使用了以下的 CSS :

以下为引用的内容:

#exemple2 .content{-moz-box-orient : vertical;-moz-box-direction : reverse; -webkit-box-orient : vertical;-webkit-box-direction : reverse; box-orient : vertical;box-direction : reverse;} #exemple2 .boite{-moz-box-flex : 1;-webkit-box-flex : 1;box-flex : 1;}

效果大家可以看这个 DEMO。可以发现,在不改变 HTML 结构的情况下,容器的排列顺序改变了。

按指定顺序排列

我们不但可以让一组同级容器反序排列,而且还可以让它们按自己喜欢的顺序排列,box-ordinal-group 属性可以帮我们做到这一点。通过 box-ordinal-group 为各个容器指定一个序号,默认情况下他们将会按照序号递增的顺序排列。要注意的是:没有指定序号的容器默认都为 1 ,并且序号相同的元素将按照加载顺序排列。大家可以看一下下面的 CSS :

以下为引用的内容:

#exemple3 .content{-moz-box-orient : vertical;-moz-box-direction : reverse; -webkit-box-orient : vertical;-webkit-box-direction : reverse; box-orient : vertical;box-direction : reverse;} #exemple3 .boite{-moz-box-flex : 1;-webkit-box-flex : 1;box-flex : 1;} #exemple3 .v1{-moz-box-ordinal-group : 2;-webkit-box-ordinal-group : 2;box-ordinal-group : 2;} #exemple3 .v2{-moz-box-ordinal-group : 2;-webkit-box-ordinal-group : 2;box-ordinal-group : 2;} #exemple3 .v3{-moz-box-ordinal-group : 1;-webkit-box-ordinal-group : 1;box-ordinal-group : 1;}

在上面的 CSS 里,我把第一和第二个容器的序号都定为 2 ,第三个容器序号为 1 ,因此最终效果应该是 v3 排在第一,v1 和 v2 则根据加载顺序,v1 排在 v2 前面。效果可以看这个 DEMO。

后记

CSS3 真的非常强大,我相信在它普及以后,我们做网页的时候将可以减少大量的 JavaScript 。关于 CSS3 盒子模型的介绍还没完,这篇文章只介绍了一下容器的排序,下一次将说说容器的尺寸。欢迎订阅本博客,以即时获知最新的更新。

本文网址:https://www.dedexuexi.com/divcss/jc/2290.html

本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。

标签:技巧
收藏此文 赞一下!() 打赏本站

如本文对您有帮助,就请建站学习网抽根烟吧!

支付宝打赏
微信打赏
CSS外框阴影效果
« 上一篇2017年01月08日
css cursor 的可选值
2017年01月08日下一篇 »
  • DIV CSS如何给文字字体添加下划线?
    0阅读
    在css中可以使用text-decoration属性或border-bottom属性来给文字添加下划线样式。下面本篇文章就来给大家介绍一下,希望对大家有所帮助。方法1:使用text-decoration属性设置css的text-decoration属性用于指定添加到文本的修饰,其underline属...
  • 纯CSS3实现带动画效果导航菜单无需js
    0阅读
    随着互联网的发展,网页能表现的东西越来越多。由最开始单纯的文字和链接构成的网页,到后来的表格布局,再到div+css模式,现在发展到了 html+css3。网页能表达的东西越来越多,css3兴起已经
  • CSS定义超链接四个状态的正确顺序L-V-H-A
    0阅读
    css定义超链接是要有先后顺序的。否则,在某些浏览器里面有可能会出现某个样式不起作用的bug。不能正确显示想要的效果。 CSS属性的排列顺序: L-V-H-A 。 L-V-H-A是link、visited、hover、active的简写
  • 在ie7下css居中样式text-align:center;偏左问题解决方法
    0阅读
    css样式text-align:center;在ie7下偏左问题,想必有很多朋友的遇到过吧,下面有个不错的方法,大家可以参考下,希望对大家有所帮助 复制代码 代码如下: body { text-align:center; } 用ie7打开是居左的。
  • 对div盒子模型使用心得总结
    0阅读
    相信每一个从事web开发的人对盒子模型都有一个特殊的理解吧,本文也有一个理解并附有示例代码,喜欢的朋友可以参考下 盒子模型的计算 外边距(margin)+边框(border)+内边距(padding)+内容(content
 
QQ在线咨询