HTML与CSS教学-第十一章 使用CSS样式完成网页布局

 

第十一章 使用CSS样式完成网页布局
本章要点
网页居中的实现方式
基于FLOAT的网页布局的实现方式
图文混排复杂布局的的实现方式

目录:
11.1  CSS网页布局介绍
11.2  网页居中
11.3  基于FLOAT的网页布局
11.4  复杂布局


11.1  CSS网页布局介绍
1. CSS网页布局的意义
用CSS进行网页布局使网站的信息更丰富、网页表现更美观,意义体现在如下方面:
 
(1)使页面载入得更快
(2)修改设计时更有效率
(3)保持一致性
(4)对浏览者和浏览器更具亲和力

2. CSS盒模型
W3C组织建议把所有网页上的对象都放在一个盒(box)中,可以通过创建定义来控制这个盒的属性。盒模型主要定义四个区域:内容(content)、填充(padding)、边界(border)和边距(margin)。margin,padding,content,border之间的层次相互影响。

3. CSS网页布局的基本思路
用CSS进行网页布局时,主要考虑的是页面内容的语义和结构,因为一个用CSS控制的网页,在做好网页后,还可以轻松的调整网页风格。用CSS进行布局的一个目的是让代码易读,区块分明,强化代码重用,所以结构很重要。

11.2  网页居中 
1.自动空白边居中设计
以固定宽度的一列布局代码为例,为其增加居中的CSS样式,主要是要对margin属性进行设置:
margin:0px auto;
margin属性用于控制对象的上、右、下、左四个方向的外边距,当margin使用两个参数时,第一个参数表示上下边距,第二个参数表示左右边距。

2.定位居中设计
使用自动空白边进行居中的方法是最常用的,但也可以使用定位和负值空白边来实现居中对齐的效果。
首先定义容器的宽度。
然后将容器的position属性设置为absolute,将left属性设置为50%。这会把容器的左边缘定位在页面的中间,但需要的是让容器居中。所以需要对容器的左边应用一个负值的空白边,宽度等于容器宽度的一半,这会把容器向左边移动它的宽度的一半,从而让它在页面上居中。

11.3  基于FLOAT的网页布局 
基于float的网页布局是设定希望定位的元素的宽度,然后将它们向左或向右浮动。因为浮动的元素不再占据文档流中的空间,就不再对包围它们的边框产生影响,因此需要对布局中各个点上的浮动元素进行清理。

1. 两列布局 
要想使用float创建两列布局,首先需要有一个基本的框架。在下面的示例中,HTML页面由头部区域、主页面区域和的页脚组成。其中主页面区域分成左右两列,左列用作导航页面,右列用作显示页面。主页面区域就是用float实现的两列布局。整个设计放置在一个div中,这个div使用前面介绍的方法进行水平居中。

2. 多列布局 
一种方法是在设置两列布局时,左右两列的宽带之和不占满整个父容器,然后再放入第三列,会浮动到空余的空间,就是中间位置,这样就可以实现三列布局了。

另外一种方法是在刚才两列布局中的右边列的div中再添加firstright和secondright这两个新的div,将右边列再分成两列。
 接着可以使用与两列布局相同的样式进行设置,即为新增加的每个列设置相应的宽度和高度,然后将firstright列向左浮动,将secondright列向右浮动。本质上就是将右边的列再分成两列,形成三列的效果。

11.4  复杂布局
1. 动态布局
动态布局时,主体部分尺寸是用百分数而不是像素设置的,因此可以自适应用户的分辨率。这使动态布局能够相对于浏览器窗口进行伸缩。随着浏览器窗口变大,列变宽。相反。随着窗口变小,列的宽度减小。合适的动态布局,会使页面在大屏幕、小屏幕上都能得到良好的表现。

2. 弹性布局
弹性布局用相对字号来设置元素的宽度。使用em为单位设置宽度,可以确保在字号增加时整个布局随之扩大。这可以将行长保持在可阅读的范围。应用恰当的弹性布局对用户十分友好,页面中所有元素可以缩放。

3. 动态-弹性混合布局
可以组合弹性和动态技术来创建混合布局。这种混合方式以em设置宽度,然后用百分数设置最大宽度。在支持max-width的浏览器上,这个布局将随着字号伸缩,但是决不会超过窗口的宽度。

4. 动态和弹性图像
如果选择使用动态或弹性布局,那么固定宽度的图像就会对设计产生的影响。当布局的宽度减小时,图像会移动,可能相互产生影响,图像会以自然的最小宽度显示,从而影响某些元素的尺寸减小。有些图像会超出包含它们的元素,从而破坏调整过的设计。有几个办法可以避免这些问题。
 
(1)对于需要跨越大区域的图像,可以考虑使用背景图像而不是图像元素。
(2)如果图像需要作为页面上的图像元素,那么将容器元素的宽度设置为100%并且将overflow属性设置为hidden。
(3)可以将图像元素添加到没有设置任何尺寸的页面上。然后设置图像的百分数宽度,并且添加与图像宽度相同的max-width以避免像素失真(pixelization) 。

5. 伪列布局
伪列布局方法是在一个父层的元素(比如一个容器div)上应用重复的背景图像,这个背景图就是为了体现左侧层的高度,因为父对象是会被高的那一列撑高的。faux列这个术语来描述这种技术。

对于固定宽度的两列布局,只需在容器元素上应用一个垂直重复的背景图像,其宽度与left列相同,但是,这一次重复的背景图像需要跨越容器的整个宽度,其中包含两列。按照与前面一样的方式应用这个图像,就会形成faux三列效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值