您的位置:首页 > Web前端 > HTML

靳氏DIV布局兼容“武林秘诀”

2009-06-11 00:39 218 查看
1、学习DIV的方法

第一,掌握css、html语法。css中除了一般语法之外,特别是float、clear、overflow、line-height等,对于html标签重点是div、ul、li、dl、dd等几个。

第二,其实div最好的教程就是你把qq.com  163.com  sohu.com ifeng.com这几个大门户网站的做法研究一下 ,如果你一下子看不懂这么大的网站,可以参考我讲课中带着学生一起开发的www.ccopen.net
及www.chinajwork.org。

2、让DIV兼容的方法:

  靳氏兼容(ie6、ie7、ff)口决:

    有浮必清,方能兼容;

    统一默认,尽量为零;

    有高则高,无高而高,

    规规整整,方能大成!

    (出自 www.zuoyefeng.com
)

  有浮必清,方能兼容

  在使用浮动标签后(float:left),后面div一定要清除浮动(clear:left;)。

   这样才能兼容ie6、ie7、ff,否则将出来布局混乱。

            示例:

            <div style="float:left;width:200px;">1 </div>  

          <div style="float:right;width:200px;">2 </div>

          <div style="clear:left;width:200px;">3 </div>

  统一默认,尽量为零

  不同的浏览器默认值是不一样的。比如:对于ul li标签的margin属性,各不相同。因此,我们在做网站时,先要定义一些全局的样式表,一来约束整站,二来统计默认值。从而达到兼容之目的,这叫“统一默认”,正是“集中思想,统一战线”。

  <style>

  ul,li,body{margin:0px;padding:0px;}

  div,table{margin:2px;padding:2px;overflow:hidden;}

</style>

  

尽量为零是指,当我们使用div的时候,尽量明确它们的margin和padding值,不要默认,如果不需要有间距,定义为0。

有高则高,无高而高

  这两点最重点,可谓是经验中的经验。所谓有高则高,就是当你定义div的高度(height)的时候,一定要定义行高(line-height)。这个做法,对兼容ie6、ie7特别重要。


如: <div style="height:2px"> </div>
这个二像索高的div,在ie6和ie7中是有差别的,加上 <div
style="height:2px;line-height:2px;"> </div> 或 <div
style="height:2px;overflow:hidden;"> </div>之后,就相同了,这只是一例。

所以有高则高就是,定义了高度,就要定义overflow或者line-height,或者二者都定义,则兼容之。

无高而高,如果你想让文字或图片把div撑开,一定不要定义高度;反之,你定义了高度,ie一般可发撑开,但ff是撑不开的。

同时,当你不希望div被掌握开时,你会定义高和宽,此时,你最好再定义一个overflow:hidden; 不加滚动条;overflow:auto;自动。简言之,不对div定义高度,内容可以把div撑开,就是div跟着内容走,故言“无高而高”。

规规整整,方能大成!

最后,我说的是,编程、做div、写代码的习惯,那就是要“像诗歌一样,讲究推敲;像风景一样,优美舒畅”。因为,你写的乱七八糟,将会越多越乱,最后整个一个豆腐渣工程。不但日后很难修改,你也不能重复利用。

OK,用我的口决,大家可以解决你DIV编程中90%以上的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  div float ie function html 编程