CSS3实战开发: 弹性盒模型之响应式WEB界面设计

各位网友大家好,如果你已经阅读过我先前写的关于CSS3弹性盒模型的实例演示,相信你对CSS3弹性盒模型属性知识点应该已经有了一个非常深刻的映像。

从本篇文章开始,我将带领大家,手把手地教大家如何来开发一个适合移动端浏览器的弹性盒模型的响应式页面。同时实战开发中的案例代码可以作为你项目中的精简框架了。

当你学习完成《CSS3实战开发: 弹性盒模型之响应式WEB界面设计》这个系列教程之后,相信你对目前比较流行的前端轻量级框架 Bootstrap等会有一个深刻的认识。

Bootstrap(弹性流体布局式的前端轻量级框架)没听过?那你就out了,国内现在已经有不少互联网网站使用它来布局网页了。

Q:如果你认为我已经能用CSS2进行布局了,我才不稀罕你的响应式WEB界面设计的教程呢?

A:我们都知道,在CSS2.1当中,我们通过div+css进行叶面布局的时候,经常使用的 浮动(float) 和 绝对定位 来做。虽然用浮动,相对定位和绝对定位等也能完成页面布局的设置,

但是它却不够灵活。同时也势必会给页面元素附加很多额外的样式,这个从开发维护角度,从可扩展角度都是不方便的。 使用CSS3中新增的盒模型属性可以迎刃而解所有的问题,

代码之简洁,功能之灵巧,扩展之方便都是不言而喻的。下面我将带领大家,一步步的欣赏CSS3的精美。

下面我先来演示一下,我要带领大家开发的页面分别运行在大屏幕 和 小屏幕 下的效果,如下所示:


运行在大屏幕下时


运行在小屏幕下时

通过上面运行的实例效果图,相信大家一定都非常惊喜。下面就让我们开始今天的实战开发之旅吧。

首先我先准备响应式WEB界面设计中要用到的html页面,代码如下(由于是文章不是视频,不太方便将div里如何嵌套每一块区域div一步步列出来,往大家谅解):


<!DOCTYPE html>

<html>

<head>

<meta charset=”utf-8″>

<link rel=”stylesheet” href=”styles.css”>

<title>CSS3实战开发: 弹性盒模型之响应式WEB界面设计 — 驾驭IT网 www.itdriver.cn</title>

</head>

<body>

<div>

<div>

<div>

<dl>

<dt>推荐博文</dt>

<dd>

<ul>

<li><a href=”http://www.itdriver.cn#01″>DIV+CSS 网站重构</a></li>

<li><a href=”http://www.itdriver.cn#02″>精通CSS3</a></li>

<li><a href=”http://www.itdriver.cn#03″>CSS3媒体查询 演示</a></li>

<li><a href=”http://www.itdriver.cn#04″>CSS3中的弹性流体盒模型技术详解</a></li>

<li><a href=”http://www.itdriver.cn#05″>CSS3新增属性text-overflow 实例开发详解</a></li>

<li><a href=”http://www.itdriver.cn#06″>如何利用CSS3给文本添加样式 (实例:燃烧的字体)</a></li>

<li><a href=”http://www.itdriver.cn#07″>CSS3所支持的属性选择器实例演示</a></li>

<li><a href=”http://www.itdriver.cn#08″>:link , :visited , :focus , :hover , :active</a></li>

<li><a href=”http://www.itdriver.cn#09″>CSS选择器优先级实例演示</a></li>

<li><a href=”http://www.itdriver.cn#10″>CSS3 新特性一览</a></li>

<li><a href=”http://www.itdriver.cn#11″>使用CSS3制作照片墙实战教程(1)</a></li>

<li><a href=”http://www.itdriver.cn#12″>使用CSS3制作照片墙实战教程(2)</a></li>

<li><a href=”http://www.itdriver.cn#13″>使用CSS3制作照片墙实战教程(3)</a></li>

<li><a href=”http://www.itdriver.cn#14″>使用CSS3制作照片墙实战教程(4)</a></li>

<li><a href=”http://www.itdriver.cn#15″>使用CSS3制作照片墙实战教程(5)</a></li>

</ul>

</dd>

</dl>

</div>

<div>

<dl>

<dt>精彩分类</dt>

<dd>

<ul>

<li><a href=”http://www.itdriver.cn#36″>CSS3</a></li>

<li><a href=”http://www.itdriver.cn#37″>DIV + CSS</a></li>

<li><a href=”http://www.itdriver.cn#38″>HTML5</a></li>

<li><a href=”http://www.itdriver.cn#39″>Android</a></li>

</ul>

</dd>

</dl>

<dl>

<dt>书籍推荐</dt>

<dd>

<ul>

<li><a href=”http://www.itdriver.cn#40″>CSS3轻松精通</a></li>

<li><a href=”http://www.itdriver.cn#41″>深入实战CSS3</a></li>

<li><a href=”http://www.itdriver.cn#42″>CSS3实战开发</a></li>

</ul>

</dd>

</dl>

</div>

</div>

</div>

<div>

<div>

<div>

<dl>

<dt>项目实战教程</dt>

<dd>

<ul>

<li><a href=”http://www.itdriver.cn#16″>HTML5+CSS3实战开发新浪微博系列(10)</a></li>

<li><a href=”http://www.itdriver.cn#17″>HTML5+CSS3实战开发新浪微博系列(9)</a></li>

<li><a href=”http://www.itdriver.cn#18″>HTML5+CSS3实战开发新浪微博系列(8)</a></li>

<li><a href=”http://www.itdriver.cn#19″>HTML5+CSS3实战开发新浪微博系列(7)</a></li>

<li><a href=”http://www.itdriver.cn#20″>HTML5+CSS3实战开发新浪微博系列(6)</a></li>

<li><a href=”http://www.itdriver.cn#21″>HTML5+CSS3实战开发新浪微博系列(5)</a></li>

<li><a href=”http://www.itdriver.cn#22″>HTML5+CSS3实战开发新浪微博系列(4)</a></li>

<li><a href=”http://www.itdriver.cn#23″>HTML5+CSS3实战开发新浪微博系列(3)</a></li>

<li><a href=”http://www.itdriver.cn#24″>HTML5+CSS3实战开发新浪微博系列(2)</a></li>

<li><a href=”http://www.itdriver.cn#25″>HTML5+CSS3实战开发新浪微博系列(1)</a></li>

</ul>

</dd>

</dl>

</div>

<div>

<dl>

<dt>视频教程</dt>

<dd>

<ul>

<li><a href=”http://www.itdriver.cn#26″>一周精通DIV+CSS视频教程系列(10)</a></li>

<li><a href=”http://www.itdriver.cn#27″>一周精通DIV+CSS视频教程系列(9)</a></li>

<li><a href=”http://www.itdriver.cn#28″>一周精通DIV+CSS视频教程系列(8)</a></li>

<li><a href=”http://www.itdriver.cn#29″>一周精通DIV+CSS视频教程系列(7)</a></li>

<li><a href=”http://www.itdriver.cn#30″>一周精通DIV+CSS视频教程系列(6)</a></li>

<li><a href=”http://www.itdriver.cn#31″>一周精通DIV+CSS视频教程系列(5)</a></li>

<li><a href=”http://www.itdriver.cn#32″>一周精通DIV+CSS视频教程系列(4)</a></li>

<li><a href=”http://www.itdriver.cn#33″>一周精通DIV+CSS视频教程系列(3)</a></li>

<li><a href=”http://www.itdriver.cn#34″>一周精通DIV+CSS视频教程系列(2)</a></li>

<li><a href=”http://www.itdriver.cn#35″>一周精通DIV+CSS视频教程系列(1)</a></li>

</ul>

</dd>

</dl>

</div>

</div>

</div>

</body>

</html>

运行html页面,显示效果如下图所示:

接着我们在样式表文件中,清除所有元素的默认外边距(margin)和内边距(padding),同时清除列表默认样式以及给超链接(a)添加 link 和 hover 样式:


*{margin:0;padding:0;}/*清除所有元素默认的外边距和内边距*/

ul{ list-style-type:none;}/*清除列表样式*/

a{ font-size:0.8em; } /*设置所有链接的字体为父容器的0.8倍*/

a:link{text-decoration:none;color:#00477D;} /*超链接,未点击时的样式*/

a:hover{text-decoration:underline;color:#FE9980;} /*超链接,鼠标划过时的样式*/

再次运行页面,当前的页面效果如下所示:

我们从上面的显示内容知道,太拥挤了,已经分不清每个区域了,我们先着手将每一块都应用上样式。

我们都从最开始的显示效果知道,每一块大概包含以下这些样式:

1. title背景是天蓝色的;

2. 边框颜色和title背景色一致;

3. title文字颜色是白色的;

4. 每一块内容都是圆角的(利用CSS3新增的border-radius属性);

5. 让每一块内容都有点距离;

6. 每一块区域都有一个淡淡的阴影效果。

好,知道需要给每一块添加这么多样式,开始着手coding吧。

先给页面中每一个 dl 结点添加属性, 给 dt 结点添加 属性,给 dd 结点添加 属性:


<!– 其他代码省略 –>

<dl>

<dt>精彩分类</dt>

<dd>

<ul>

<li><a href=”http://www.itdriver.cn#36″>CSS3</a></li>

<li><a href=”http://www.itdriver.cn#37″>DIV + CSS</a></li>

<li><a href=”http://www.itdriver.cn#38″>HTML5</a></li>

<li><a href=”http://www.itdriver.cn#39″>Android</a></li>

</ul>

</dd>

</dl>

接着在样式表文件中,定义panel, phead 和 pbody:


.panel{/*给定义了此样式的元素添加边框,同时添加阴影和圆角效果*/

width:100%;

border:1px solid #809FFE;

-webkit-border-radius: 5px; /*CSS3中新增属性,添加圆角效果*/

-moz-border-radius:5px;

border-radius:5px;

margin: 2em 0em; /*是使盒子间外间距*/

box-shadow:4px 4px 10px #C6C6C6; /*给元素添加阴影效果,CSS3新增属性*/

}

.panel .phead{

background-color:#809FFE; /*设置panel头的背景色*/

height:2em; /*同时设置 height 和 line-height 属性,可使盒子内的内容垂直方向上居中显示*/

line-height:2em;

padding-left:0.5em; /*设置盒子内文字显示的样式*/

color:#FFFFFF;

font-weight:bold;

}

.panel .pbody > ul > li{ /*设置panel的内容间的外间距*/

margin:4px 4px;

}

在上面的代码中,我们使用了CSS3新增属性 border-radius(给元素添加圆角效果),和 box-shadow(给元素添加阴影),如果你对这两个不清楚的,可以看我写的CSS3新增属性的教程,里面会有详细示例讲解。

现在我们来看一下此时的运行效果(页面太大,只截取了部分):

接下来,我们就要开始给页面添加CSS3的弹性盒模型属性了。

我在以前写的教程中讲过,如果要给元素添加CSS3的弹性盒模型属性,必须要现将盒子元素(也就是外层的容器)设置为display:box,这个属性的作用就是告诉浏览器我要使用CSS3的弹性盒模型布局页面。

我们先来给想让内容现在一行的块级容器添加 属性吧,代码如下:


<div>

<div class=”row”>

.. <!– 代码省略 –>

</div>

</div>

接着我们分别设置 container样式 和 row样式:


.container{ margin:auto;width:90%;} /*设置显示内容块的占整个显示区域的大小,同时使容器内元素居中显示*/

.row{ /*给应用了此样式的块元素内的块级元素应用弹性盒模型属性*/

display:-webkit-box;

display:-moz-box;

display:box;

}

运行页面,此时效果如下图所示:

因为我们给box元素应用水平空间上的空间分配,所以默认是使用 box-pack:start属性,我们想让它水平空间上充满真个页面。

给box应用属性 box-pack: justify(首尾元素吸附在水平方向上的两端,中间元素分享剩余的空间):


.row{ /*给应用了此样式的块元素内的元素应用弹性盒模型属性*/

display:-webkit-box;

display:-moz-box;

display:box;

-webkit-box-pack:justify; /*首尾元素吸附在水平方向上的两端,中间元素分享剩余的空间*/

-moz-box-pack:justify;

box-pack:justify;

}

此时运行页面的效果如下图所示:

从上面显示的效果我们可以看出,当给某一元素应用了 display:box的时候,其内的块级元素是包裹内容的。但是我们可能希望某些区域占用的空间大一点,某些占用的空间小一点,那CSS3中有没有这样的属性,可以让我们自由调节占用的空间呢?

如果你看过去前面讲的CSS3中的弹性流体盒模型技术详解(一)的文章,我相信你一定可以想的起来:CSS3中新增属性 box-flex:value。

我们再来回顾一下这个属性的含义:box-flex属性规定了元素是否可以自动伸缩其尺寸,只要对应显示方向上有剩余空间(除了margin之外的剩余空间),它(们)就会来填充这些空间,所有设置了此属性的元素,按比率分配剩余空间。

好了,既然知道有这么个属性,而且也知道它的作用,那么我们就可以给那些需要调整大小的块元素应用此属性吧。

等等,这里我们是不是遗漏了什么,难道就这么着急应用样式此样式吗?既然它能自动填充所在区域内的剩余空间,那我们是否可以定义一套自由分配样式的样式文件呢?

好主意,我们可以假设将页面分成12个栏位,然后通过不同的栏位大小,来分配空间。

在样式表中添加如下样式,分配代表占用的空间(假设页面有12个栏位):


/*栏位间相隔1em的距离*/

.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{ margin:1em 1%;}

/*分别定义1-12栏位占用的空间 开始…*/

.col-1{ -webkit-box-flex:1.0;-moz-box-flex:1.0;box-flex:1.0;}

.col-2{ -webkit-box-flex:2.0;-moz-box-flex:2.0;box-flex:2.0;}

.col-3{ -webkit-box-flex:3.0;-moz-box-flex:3.0;box-flex:3.0;}

.col-4{ -webkit-box-flex:4.0;-moz-box-flex:4.0;box-flex:4.0;}

.col-5{ -webkit-box-flex:5.0;-moz-box-flex:5.0;box-flex:5.0;}

.col-6{ -webkit-box-flex:6.0;-moz-box-flex:6.0;box-flex:6.0;}

.col-7{ -webkit-box-flex:7.0;-moz-box-flex:7.0;box-flex:7.0;}

.col-8{ -webkit-box-flex:8.0;-moz-box-flex:8.0;box-flex:8.0;}

.col-9{ -webkit-box-flex:9.0;-moz-box-flex:9.0;box-flex:9.0;}

.col-10{ -webkit-box-flex:10.0;-moz-box-flex:10.0;box-flex:10.0;}

.col-11{ -webkit-box-flex:11.0;-moz-box-flex:11.0;box-flex:11.0;}

.col-12{ -webkit-box-flex:12.0;-moz-box-flex:12.0;box-flex:12.0;}

/*分别定义1-12栏位占用的空间 结束…*/

样式定义好了,根据样式定义,现在我想让 【推荐博文】占用8个栏位,【精彩分类】那一栏占用4个栏位,【项目实战】那一栏占用6个栏位,【视频教程】也占有6个 栏位,代码如下:


<body>

<div>

<div>

<div class=”col-8″>

<dl>

<dt>推荐博文</dt>

<dd>

</dd>

</dl>

</div>

<div class=”col-4″>

<dl>

<dt>精彩分类</dt>

<dd>

</dd>

</dl>

<dl>

<dt>书籍推荐</dt>

<dd>

</dd>

</dl>

</div>

</div>

</div>

<div>

<div>

<div class=”col-6″>

<dl>

<dt>项目实战教程</dt>

<dd>

</dd>

</dl>

</div>

<div class=”col-6″>

<dl>

<dt>视频教程</dt>

<dd>

</dd>

</dl>

</div>

</div>

</div>

</body>

好了,我们来运行一下页面:

看这个效果是不是太完美了,我们在最下面再添加一个panel,取名叫 【赞助商链接】,放在【项目实战教程】与【视频教程】中间,然后col依次为 4,4,4,页面代码如下:


<div>

<div>

<div class=”col-4″>

<dl>

<dt>项目实战教程</dt>

<dd>

</dd>

</dl>

</div>

<div class=”col-4″>

<dl>

<dt>赞助商链接</dt>

<dd>

<ul>

<li>&nbsp;</li>

<li>&nbsp;</li>

<li>&nbsp;</li>

<li>&nbsp;</li>

<li>&nbsp;</li>

<li>&nbsp;</li>

</ul>

</dd>

</dl>

</div>

<div class=”col-4″>

<dl>

<dt>视频教程</dt>

<dd>

</dd>

</dl>

</div>

</div>

</div>

此时再运行页面,效果如下所示:

通过定义的col样式,显示分栏布局是不是非常方便呢?

好的,现在我们看看小屏幕窗口下的显示效果:

看到小屏幕的效果后,心情真的太糟糕了,内容都挤在一块了,我们希望的效果是像其他手机应用一样,水平方向上应该只有一个栏位,且所有栏位变成垂直方向上按顺序显示。

但是为什么不能自动换行呢?我们回头看看,是不是设置了哪个属性。

在样式表中找了一个遍,压根没设置什么属性, 那CSS3中是不是有什么属性可以改变显示的方向呢。

如果你看过我 CSS3 的弹性盒模型教程,相信你对 box-orient属性有映像。

box-orient属性的作用:用来控制盒子内元素的显示方向。

box-orient的语法: box-orient: horizontal | vertical | inline-axis | block-axis | inherit。

如果没有显式的设置box-orient属性值,它默认使用水平方向(horizontal)显示。

根据这些解释,所以当在小屏幕下显示时,应该设置 box-orient:vertical。然而另一个问题来了:我们怎么知道当前页面是在大屏幕还是小屏幕上显示的呢?

这里我要先告诉大家,CSS3给我们提供了 媒体查询(Media Query),这里我先直接使用,后面我会写一篇关于CSS3媒体查询详细使用的教程,如果有兴趣可以去阅读一下。


@media screen and (max-width:9999px) { /*如果浏览器窗口宽度小于设置的值,将直接应用此样式*/

.row{

-webkit-box-orient:horizontal;

-moz-box-orient:horizontal;

box-orient:horizontal;

}

}

@media screen and (max-width:960px) { /*如果浏览器窗口宽度小于设置的值,将直接应用此样式*/

.row{

-webkit-box-orient:vertical;

-moz-box-orient:vertical;

box-orient:vertical;

}

}

运用了媒体查询之后,我们限定,当浏览器窗口的宽度小于960px的时候,在垂直方向上显示子元素。好了,运行一下修改后的页面吧:


浏览器窗口宽度大于960px时


浏览器窗口宽度小于或等于960px时

已经达到我们想要的结果了。使用媒体查询的时候得注意一下,值小的要放在下面,不然内容会被大的给覆盖掉,大家可以调换 max-width:9999px 和 max-width:960px 这两个样式的顺序。

现在又有一个需求,如果我希望【精彩分类】显示在推荐博文上面怎么做呢? 我们发现 CSS3有个新增的属性 box-ordinal-group属性,使用它可以轻易的定义在同一个容器中的元素显示顺序。

我们从页面代码中可以知道,【精彩分类】和【推荐博文】的直接父元素不是同一个,所以从box-ordinal-group的定义中可以知道,直接调换它两的顺序是不行的,但是我们可以调换它们父节点的位置。分别给他们父节点定义 .main-col和.sidebar-col样式,以及给他们应用样式如下:


@media screen and (max-width:960px) { /*如果浏览器窗口宽度小于设置的值,将直接应用此样式*/

.side-col{ /*小屏幕时,sidebar显示在前*/

-webkit-box-ordinal-group:1;

}

.main-col{

-webkit-box-ordinal-group:2;

}

.row{

-webkit-box-orient:vertical;

-moz-box-orient:vertical;

box-orient:vertical;

}

}

再次运行页面,查看效果,顺序是不是已经调换了:

Q:有人可能会问,那如果我想让【精彩分类】那一块区域显示在【推荐博文】的左侧,怎么实现呢?

A:这个很简单,只要通过 CSS3新增加属性box-direction:reverse就可以轻松实现,这里我就不做演示了,大家可以自己动手实现一下。

Q:大虾,请问我在手机上看,怎么有些标题自动换行了,很影响显示效果,这个怎么处理啊?

A:如果你不想让自己的标题换行,那么你可以在你的标题包含元素上应用CSS样式属性text-overflow:ellipsis 。这两个属性要配合 white-space:no-wrap和overflow:hidden 来使用,具体大家可以参考我的另一篇博文CSS3新增属性text-overflow(省略符)实战开发详解

相信你通过本次《CSS3响应式WEB界面的设计》实战的学习,你一定对类似bootstrp等前端布局框架有一个更深刻的了解了。

欢迎大家加入互联网技术交流群:62329335 

个人申明:所分享博文,绝对原创,并力争每一个知识点都通过实战演示来进行验证。

CSS3实战开发: 弹性盒模型之响应式WEB界面设计

时间: 2024-10-13 05:52:32

CSS3实战开发: 弹性盒模型之响应式WEB界面设计的相关文章

响应式web网站设计制作方法

在研究响应式的时候,记录了一些感想,分享出来,抛砖引玉,希望可以和大家一起讨论.总结下来,响应式比之前想象的要复杂得多. 1. ie9以下(不包括ie9)采用ie条件注释,为ie8以及一下单独开一个样式文件 <!--[if lt IE 9]> <link href="lt9.css" rel="stylesheet" type="text/css"> <![endif]--> 2. 一个模块的mq样式整体放在这

CSS3实战开发:手把手教你鼠标滑动特效开发

各位网友,如果你已经看过我的CSS3实战开发系列教程,我相信你对CSS3已经有了非常全面深刻的了解.有些人可能CSS3语法掌握了不少,但是真正实际用起来还有点生疏,甚至无从下手.请别担心,我会不断更新一系列实战开发案例,我会为大家分步骤剖析特效开发过程. 今天我将手把手带领大家开发一个鼠标滑动的特效案例,废话不多说,直接上效果动画: 你有没有觉得上面的这个特效很棒呢! 好,现在咱们就开始分步骤实战开发这个动画特效吧: 首先,我们先准备好html页面代码: <!DOCTYPE html> <

CSS3实战开发:百度新闻热搜词特效实战开发

各位网友,今天这篇文章,我将手把手带领大家开发百度新闻首页的"新闻热搜词"特效.在这个特效中应用的知识点都很基础,如果你对这些还不清楚,可以关注我以前写的详细教程.今天讲这个案例,也是希望告诉大家,在开发一个特效的时候,请不要将问题复杂化.可能有些人一开始真的不知道从哪下手,当你看完本次教程,你定会觉得,原来一切都这么简单. 可能有些人还不知道这个特效,啥也不说了,直接上效果图: 从上面的特效中,大家不难发现,当鼠标划过热搜词时,会有一个半透明的黑色背景滑上来,而且这个黑色区域中也是有

CSS3实战开发:手把手教大家搜索表单发光特效实战开发

各位网友,大家好,我是陌上花会开,今天这个案例,我将带领大家,手把手教大家开发一个会发光的表单组,还是先秀运行效果图吧: 从这个效果图,大家可以发现,当光标在某个组件上时,它就会发光,今天我将带领大家实战开发这个特效. PS: 大家可以直接将博客中的代码复制到本地便可得到同样的运行效果. 首先,我们先准备好html代码: <!doctype html> <html> <head> <meta charset="utf-8"><met

CSS3实战开发:手把手教你照片墙实战开发

在<CSS3 2D转换技术之translate实战开发>文章中,我给大家列出了CSS3中的2D转换方法: 1.    translate() 2.    rotate() 3.    scale() 4.    skew() 5.    matrix() 同时对第一个方法 translate()做了非常详尽的介绍,并带领大家实战开发了一个导航条.如果你对translate不了解或不是太熟悉,请阅读我的博文 <CSS3 2D转换技术之translate实战开发> . 在讲解知识点之前

CSS3实战开发:使用CSS过滤效果来改变图片样式

</pre><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.1875px;">   我们知道,使用Photoshop来调整图像的亮度和对比度,或者将图片转化为灰度等等是很常见

CSS3中的弹性流体盒模型技术详解(一)

从这篇文章开始,会利用几个篇幅,我将跟大家分享 从CSS1到CSS3都是如何实现页面布局的(当然,所指的范畴是利用CSS技术). 由于盒子模型技术内容比较多,这篇文章我将着重讲解知识点. 下一篇文章,我会带领大家开发一个兼容 pc端浏览器和 移动端浏览器的弹性布局web界面的实例.希望大家能从中领受到CSS3在布局方面的强大功能. 好了,长话短说,现在开始我们的<CSS3中的弹性流体盒模型技术详解>之旅吧! 在讲解CSS3中新增的弹性布局属性之前,我们先回顾一下CSS1 和 CSS2中都已经定

CSS3中的弹性流体盒模型技术详解(二)

在上一篇文章<CSS3中的弹性流体盒模型技术详解(一)>里,我给大家列出了,从css1到css3各版本中盒子模型的基本元素.本篇我会把余下的属性进行详细讲解. box-pack 作用:用来规定子元素在盒子内的水平空间分配方式 box-pack 语法:box-pack: start | end | center | justify; start 对于正常方向的框,首个子元素的左边缘吸附在盒子的左边框显示 对于相反方向的框,最后子元素的右边缘吸附在盒子的右边框显示 end 对于正常方向的框,最后子

CSS3中的弹性流体盒模型技术详解

先回顾一下CSS1 和 CSS2中都已经定义了哪些布局方面的属性,这样也会增加我们理解弹性布局. 其实我们现在有很多一部分人,你们刚刚接触CSS层叠样式表,或者接触有一段时间了,但是却没有很好的去消化与理解.可能平时你们还一直在使用table,然后通过不断了合并单元格来实现网页布局.希望我今天的这篇文章能彻底改变大家的观念. Q:如何理解盒子模型? A:大家可以想一想,在现实生活中,如果我们拿一个盒子来装东西,那么盒子里面的东西是不是跟这个盒子之间会有空隙呢?站在里面物品的角度,则它们之间的间隙