盒子模型布局

CSS3标准里引入了一些新的盒子模型参数,在CSS2的基础上,我们将能更灵活地调整页面上各个容器的大小和位置,对建立自适应布局的页面带来很大的好处。

CSS3为开发人员带来了很多期待已久的炫目功能,同时在CSS2的基础中,它也增加了一些新的盒子模型参数。通过学习和测试,可以发现这种新的盒子模型布局对建立自适应布局的页面带来很大的好处。在这篇文章中,所有 例子都基于以下HTML代码:

<body>

<dividdivid=”box1″>1</div>

<dividdivid=”box2″>2</div>

<dividdivid=”box3″>3</div>

</body>

容器的排列

在通常的情况下,页面上所有容器的顺序都按照载入的顺序排列。而使用CSS3提供的功能后,我们可以在不改变HTML结构的前提下随意改变容器显示的位置,这样不但给排版带来极大的方便,我们也可以利用这些功能进行流量整形。在 需用使用灵活盒子模型(FlexibleBoxModule)的时候,我们需要先把其父容器的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;

}

我们不但可以让一组同级容器反序排列,而且还可以让它们按自己喜欢的顺序排列,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;
}

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

时间: 2024-10-11 11:21:38

盒子模型布局的相关文章

Html 盒子模型布局及栅栏化

一.HTML常用盒子模型 一般的HTML页面布局依次拥有以下几个板块: 页头header.滚动图片banner.主体部分main.页脚footer 其中页头包含logo及导航栏nav,主体部分左右排布分为左侧content主题内容板块及右侧sideBar侧边栏板块. 一般整个页面需要放入容器container中,以便调节居中.背景等样式. 以下是常用的div布局: <body> <div class="container"><!--整个页面主体-->

浅谈css(块级元素、行级元素、盒子模型)

一.块级元素的特点 1.默认显示在父标签的左上角 2.默认占满一行(占满整个文档流) 文档流是将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 二.行内元素(内联元素)的特点 1.大小受到文字区域的影响,不受到width.height影响. 2.行内元素不会独自占满一行. 例: 1 <div id="d1"> 2 这是块级元素 3 </div> 4 <span id="d2"> 5 这是行内元素 6 &

理解盒子模型

1.盒子模型布局(祥细查看链接[http://www.chinaz.com/design/2010/1229/151993_3.shtml]) 非常值得注意的一点是,当一个元素的宽度被设置为100%时(也就是说父元素的内容宽度是100%),它不应该有任何的外边距,内边距,或者是边框,这只会使它放置的区域需要更大的面积.这通常会被设计师们所忽略忽略并且很严重的扰乱了页面的布局,这样的话内容要么溢出要么使元素比他们应该的样式更宽

CSS初识- 选择器 &amp;背景&amp; 浮动&amp; 盒子模型

CSS初识 CSS:cascading style sheets,css样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体.大小.对齐方式等).图片的外形(宽高.边框样式.边距等)以及版面的布局等外观显示样式. CSS以HTML为基础,提供丰富的功能,如字体.颜色.背景的控制及整体排版等,而且还针对不同的浏览器设置不同的样式. 引入CSS样式(书写位置) 内部样式表 内嵌式是将CSS代码集中写在HTML文档的head头部标签中,并用style标签定义,语法就是在 行内式

CSS——05核心:盒子模型2

5.6 清除元素的默认内外边距(重要) 为了更灵活方便地控制网页中的元素,制作网页时,我们需要将元素的默认内外边距清除 代码: 0 * { padding:0; /* 清除内边距 */ margin:0; /* 清除外边距 */ } 注意: 行内元素为了照顾兼容性, 尽量只设置左右内外边距, 不要设置上下内外边距. 5.7 外边距合并(这是一个非常严重的问题,你必须要了解和解决) 使用margin定义块元素的垂直外边距时,可能会出现外边距的合并. (1). 相邻块元素垂直外边距的合并 当上下相邻

盒子模型、网页自动居中、float浮动与清除、横向两列布局

1.CSS包含:标准文档流,浮动,绝对定位 标准文档流的特点:从上到下,从左到右,输出文档内容 盒子模型:块级元素(div ui li dl dt p)与行级元素(span strong img input) 盒子模型:边框(border)外边框(margin)内边框(padding)内容(content) 盒子3D模型:border. content+padding .background-img.background-color.margin <html> <head> <

这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

这些HTML.CSS知识点,面试和平时开发都需要 No1-No4 系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置.设置背景.数据列表) 这些HTML.CSS知识点,面试和平时开发都需要 No8-No9(知识点:媒体操作.构建表单) 这些HTML.CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作.代码编写规则)

谷歌推出Android 响应式布局控件 FlexboxLayout -盒子模型

今天github 排行榜上突然出现了 谷歌最新推出的Android 最新控件FlexboxLayout . FlexboxLayout 究竟是什么东西呢? fexbox 也称为盒子模型,广泛用于前端开发,做过前端 web 的都知道Bootstrap 中有一套强大的 CSS 网格样式. Bootstrap 的出现 大大提高了前端开发的效率,并且引领了响应式布局.跨平台开发的潮流. FlexboxLayout  就是类似于 bootstrap 中见网格系统的 强大控件 先上几张谷歌示例程序的截图 F

CSS之盒子模型及常见布局

盒子模型的综合应用 CSS提高1 Div   ul    li 的综合应用很多的网页布局现在都用到这种模式 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>homework2.html</title> <meta http-equiv="keywords" content=&quo