CSS布局教程

基于web标准的网站设计指南

« 三列浮动中间列宽自适应页面的纵向布局 »

高度自适应

在上面的众多实例中,我们都是在讨论横向的对象之间的排列组合方式,包含横向的宽度自适应问题,但是如何实现高度自适应呢?实际上许多初学者在初次尝试高度自适应时要遇到过这个问题,对象的height:100%;并不能够直接产生实际效果,那么是不是浏览器不支持height:100%;的编写方法?当然不是。高度值同样可以使用百分比进行设置,不同的是,之所以直接使用height:100%;不能达成效果,与浏览器的解析方式有一定关系,我们不妨直接看一段实现了高度自适应的CSS代码:天津网站建设天津网站优化汽车玻璃天津二手装载机商业策划招商
    html,body{
        margin:0px;
        height:100%
    }
    #left{
        background-color:#cccccc;
        width:300px;
        height:100%
        float:left;
    }
    代码非常简单,对#left对象设置了height:100%,然而也能够看见,同时设置了HTML与body的height:100%;,而这个就是高度自适应问题的关键所在。一个对象高度是否可以使用百分比显示,取决于对象的父级对象,#left在页面中直接放置在body之中,因此它的父级是body,而浏览器默认状态下,是没有给body一个高度属性的,因此当我们直接设置#left为height:100%;时,不会产生任何效果,而当我们给body设置了100%之后,它的子极对象#left的height:100%;变发生作用了,这便是浏览器解析规则引发的高度自适应问题。而代码中除了给body应用之外,还给HTML对象也应用相同的样式设计,这样做的好处是使IE与Firefox浏览器都恩那个狗实现高度自适应,IE与Firefox对页面中对象的解析放置存在一定的差异,在IE中HTML对象默认为100%的高度,而body却不是,而Firefox之中HTML标签就不是100%高度,因此哦我们给两个标签都定义为height:100%;以保证两个浏览器下均能够工作正常。
    这样,本章中的最后一个问题,高度自适应问题便得到了解决,在前面我们也探讨了1列与三列、浮动定位与绝对定位的问题,因此,结合高度自适应,我们应当能够灵活的应用不同结构的div,以及及定位及适应方式,从而实现其他任意种类的布局设计。
    如何制作复杂的页面布局?

    不管多么复杂的页面布局设计,总是以div为基础,通过几个div之间的组合与嵌套来实现。因此在思考较复杂的页面布局之时,我们总是由粗到细逐步思考,通过1列、二列、3列这些基础的布局方式来相互组合从而实现复杂的布局。在前面哦我们呢曾见过一个网站名为UXMagazine(uxmag.com),该网站便是复杂布局的一个代表,我们不妨以此网站为例来了解一下其复杂布局的实现方式。
    UXMagazine网站看上去由无数个方块组成,似乎从div的构成上相当复杂,的确,如果实现这样的设计,需要大量的div来划分不同的区域。但是这种布局方式的思考过程是简单而且单一的,只需要使用1列、二列这些基本思路便可以完成这样的布局。让我们来看看他是如何完成这样的页面样式设计。
    页面主容器
    我们注意到,UXMagazine网站实际上是一个居中的页面布局,所以内容都是固定宽度,我们曾从1列及二列居中实例中了解过,如果需要整体居中,就一定需要一个div作为页面的主要框架,也就是一个包含容器。而UXMagazine也正是主样,在设计中使用了一个主div作为全页的框架id为container,见图。

 

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Arwen Build 90619

Copyright www.zxh6655.cn. Some Rights Reserved.黑ICP备09093629号