CSS网页布局的技巧

   布局

  CSS至关重要的作用, CSS的设计初衷.

  CSS布局和几年前table横行时的布局又不太一样, 在结构化语义化的HTML文档后面, CSS在格式化文档的渲染效果, 把结构化文档用表现化语言来描述. 简而言之, 就是CSS不需要表现性标签!

  CSS布局技术依赖于三个基本概念: 定位, 浮动, margin操纵. 布局技术之间没有本质的区别, 相同一种布局让100个前端开发工程师来做, 可能就有100种方法.

  居中

  在table时代, align和Valign相当的好用, 而在CSS中却没有简单实现的方法,所以在标准化刚刚开始推广的时候, 很多重构项目中居中问题变成了阻碍标准化进步的绊脚石.

  1. 自动外补丁水平居中

  一般情况下水平居中比较容易实现, 只需要给要居中的容器设定宽度, 以及自动水平外补丁就可以了.网页教学网

  比如HTML如下:

  CSS如下: 网页教学网

  body{}

  .wrapper{width:760px;margin:0 auto;}

  很简单不是吗? 但是有点小问题... 我们亲爱的IE家族里, IE5.x和IE 6不支持自动外补丁, 但是同样幸运的是, IE将 text-align:center 理解为所有东西居中, 而不只是文本. 哈哈, 可以利用这个Bug.

  将CSS改为:

  body{text-align:center;}

  .wrapper{width:760px;margin:0 auto;text-align:left;}

  这里就用到了一种Hack,不过不会影响其他浏览器的Hack就是好Hack,呵呵, 就先这么用着吧~

  等等, 好像Netscape那边也出问题了, 用Netscape 6将窗口缩小到小于容器宽度时, 容器的左边就会跑到屏幕外边去了, 而且还不会有滚动条...万恶的浏览器大战啊...

  再来改改我们的CSS:

  body{min-width:760px;text-align:center;}

  .wrapper{width:760px;margin:0 auto;text-align:left;}

  这样就基本上ok了. 网页教学网

  2. 定位法水平居中

  我们也可以稍稍复杂的用定位法来完成这个工作. 所谓的定位法是用 position 属性来定义容器位置.网页教学网

  同样用上面一例的HTML代码,

  我们用定位法的CSS如下:

  body{margin:0;padding:0;}

  .wrapper{position:relative;left:50%;width:760px;margin-left:-380px;}

  为什么用相对定位( relative )呢? 能用绝对定位( absolute )吗?

  绝对定位当然也可以, 但是绝对定位会将容器提出文档流, 让后面的文档流到定位容器的位置去了, 稍不注意就会被定为的容器遮盖住后面的内容, 而relative不会将容器提出文档流, 后面的文档流会给定位的容器留下它应有的空间.

  3. 垂直居中

  CSS中比较大的问题出现了, CSS较难使用简单的方法来完成垂直居中. 网页教学网

  在容器中要使文字垂直居中, 那可以将容器的line-height设置的和height一样来完成这个工作,

  但是要使容器垂直居中的话, 那就比较复杂了.

  HTML如下:

  123

  CSS如下:

  body{margin:0;padding:0;height:100%;}

  .wrapper{display:table-cell;vertical-align:middle;width:600px;height:400px;border:solid 1px red;}

  #box{width:200px;margin:auto;vertical-align:middle;border:solid 1px blue;}

  按理说这样就可以了呀, 但是IE下面一点效果都没有...那是因为IE的display属性只接收:block, inline, inline-block, none, inherit, 不接收table, table-cell, table-row, 那就头痛了呀.

  唔, 其实思路有很多, 我提供其中一种:

  CSS如下:

  body{margin:0;padding:0;height:100%;}

  .wrapper{width:600px;height:400px;border:solid 1px red;}

  #box{width:200px;height:200px;position:relative;top:50%;left:50%;margin-top:-100px;margin-left:-100px;border:solid 1px green;}

  局限性非常大, 必须要已知高度...

  更可以对IE浏览器进行filter之后hack它. 使用ie独有的expression, 虽然在大型脚本上expression表现的相当差, 但是简单的计算offsetHeight还是不太会影响性能, 再怎么说M$也针对expression进行过优化.

  所以垂直居中还是要看场合自行挑选合适的方案来解决.

  浮动布局

  现在大家都熟知浮动布局了, 不多说, 这个是CSS布局的基础...主要是float和margin的合理应用.

  Faux Columns:

  伟大的Dan的另一项发明, 呵呵, 其实很简单, 用垂直平铺背景图来做出视觉上多栏布局等高的效果. 但是很实用, 不是吗?

  Equal height boxes with CSS:

  在标准推行过程中比较有名的文章之一, 介绍像table一样进行CSS布局, 但是不适用于IE...唉

  弹性布局

  很不错的理念, 原理其实也不难, 就是用em来标注尺寸, 这样就可以让浏览器自行放大或缩小任何的容器或是元素了.

时间: 2024-09-20 04:07:27

CSS网页布局的技巧的相关文章

DIV CSS网页布局需要掌握的八大技巧

  你对DIV CSS网页布局需要掌握的技巧是否熟悉,这里和大家分享一下,良好的习惯可能会使你的设计周期加倍缩短. DIV CSS网页布局需要掌握的技巧汇总 以下是进行CSS设计时的八个必要的小技巧,良好的习惯可能会使你的设计周期加倍缩短. 1.DIV CSS网页布局若有疑问立即检测 在出错时若能对原始代码做简单检测可以省去很多头痛问题.W3C对于XHTML与CSS都有检测工具可用,请见.请注意,在文件开头的错误,可能因为不当的结构等因素造成更多错误;我们建议先修正一些最明显的错误之后重新检测,

CSS网页制作技巧:DIV+CSS网页布局常犯错误汇总

文章简介:随着CSS网页布局越来越普及,国内大部分网站已经采用CSS网页布局的制作方法.在应用DIV+CSS编码时很容易犯一些错误,这里列举一些常见的错误,帮助新手朋友更好的学习与进步. 随着CSS网页布局越来越普及,国内大部分网站已经采用CSS网页布局的制作方法.在应用DIV+CSS编码时很容易犯一些错误,这里列举一些常见的错误,帮助新手朋友更好的学习与进步. 一.检查HTML元素是否有拼写错误 是否忘记结束标记 即使是老手也经常会弄错div的嵌套关系.可以用dreamweaver的验证功能检

DIV CSS网页布局学习中容易出现的问题汇总

css|网页|问题 应用Div+CSS网页布局,制作符合web标准的网站,容易出现的一些问题.现在总结一下,以便大家能够看到明白问题出在那里. 一.CSS校验的问题 我们设计的网页,都希望符合XHTML标准,CSS通过W3C的校验.有些未通过CSS2.0校验,主要校验错误都是:"Line : 0 font-family: 建议你指定一个种类族科作为最后的选择"W3C建议字体定义的时候,最后以一个类别的字体结束,而不要以单独某个字体结束.例如"sans-serif"就

使用DIV+CSS网页布局在SEO优化的优势

css|seo|优化|网页布局 SEO主要就是通过对网站的结构,标签,排版等各方面的优化,使Google等搜索引擎更容易搜索网站的内容,并且让网站的各个网页在Google等搜索引擎中获得较高的评分,从而获得较好的排名.DIV+CSS网页布局对SEO有哪些影响呢? 一.精简网页代码 使用DIV+CSS布局,页面代码精简,这一点相信对XHTML有所了解的都知道. 代码精简所带来的直接好处有两点:一是提高Spider爬行效率,能在最短的时间内爬完整个页面,这样对收录质量有一定好处;二是由于能高效的爬行

CSS网页布局错位:CSS宽度计算

文章简介:CSS网页布局错位. 为什么计算宽度计算网页像素宽度是为了CSS网页布局整齐与兼容.常见的我们布局左右结构网页或使用padding.margin布局的时候将计算整页宽度,如果不计算无论是宽度过大过小就会出现错位问题. 怎么计算CSS宽度例一:我们计算一个左右结构的布局样式.假如总宽度为400px,那么左右加起来就应当小于400px,那我们可能左边为300px,右边为100px正确代码: <!DOCTYPE html><head><meta http-equiv=&q

CSS网页布局避免滥用div元素

文章简介:CSS网页布局应该避免滥用div元素一直是我们倡导的,以合适的HTML标签组织文档是CSS网页布局的基??/font> CSS网页布局应该避免滥用div元素一直是我们倡导的,以合适的HTML标签组织文档是CSS网页布局的基础. 页面中div与span元素的使用是一个新问题,我们也容易过多的使用它们.必要及合理的使用div可以明显的增强文档的结构性.这也是webjx.com一直提倡的. 如果你审视你的HTML文档,发现有着很多的div与span,那你就得换一个眼光来看问题了,是不是存在滥

CSS网页布局的好与坏

国内很多大型门户网站已经纷纷采用DIV+CSS制作方法,从实际应用情况来看,此种方法绝对好于表格制作页面的方法. 如今大部分网站仍然采用表格嵌套内容的方式来制作网站,虽然此方法对于我们来说比较熟悉,比较上手: 但是,它却阻碍了一种更好的,更有亲和力的,更灵活的,而且功能更强大的网站设计方法--DIV+CSS. CSS网页布局的意义体现在如下方面: 一,使页面载入得更快 由于将大部分页面代码写在了CSS当中,使得页面体积容量变得更小.相对于表格嵌套的方式,DIV+CSS将页面独立成更多的区域,在打

Div+CSS网页布局中CSS无效的十个常见原因

核心提示:我们学习Div+CSS网页布局的知识,可是W3C validation有时难以操作,但用它你可以查看由版面设计引起的差错.验证程序抛出大量差错和警告,说明你的XHTML尚未完善,可能无法在不同浏览器上保持一致功能. 我们学习Div+CSS网页布局的知识,可是W3C validation有时难以操作,但用它你可以查看由版面设计引起的差错.验证程序抛出大量差错和警告,说明你的XHTML尚未完善,可能无法在不同浏览器上保持一致功能.下面十个细微的失效问题难住了大批程序员,本文就告诉你如何解决

DIV CSS网页布局中常用的列表元素ul ol li dl dt dd释义

核心提示:DIV CSS网页布局中常用的列表元素ul ol li dl dt dd释义 ol 有序列表 <ol><li>--</li><li>--</li><li>--</li></ol> 表现为 1--2--3-- ul 无序列表,表现为li前面是大圆点而不是123 <ul><li>--</li><li>--</li></ul> 很多人容