本站关键字:网站建设、上海网站建设、网站推广、网页制作
网站首页关于我们网站建设网站推广电子商务联系我们
 
表格对决CSS--一场生死之战(3)

第三阶段:我们不需要表格!

下面我们将看看什么是基于web标准的、用CSS布局的设计。我将从内容的标识开始。我将尽量使标识有语义,避免多余的标签。

页头是一个图片,但它也是一个标题,所以我这样写代码:

<h1>Butterfly Watchers Association. They flutter. We watch them.</h1>

我将稍后再考虑如何正确显示这个标题(理想情况下,我们尽可能多的关心内容,尽可能少的关心布局)。其他标题(news,Sightin gs and Membership)将被标识为<h2>。

菜单从根本上讲就是一个无序列表(list),所以将被标识为list。段落不需要分类(我们采用继承选择器来把它们挂在包含的层中)。我将对比原始的内容文本,看为了实现布局需要增加多少额外的标签(我将尽力避免增加标签)。

这就是原始的内容文本。看看原代码,它符合xhtml1.0 transitional规范。注意所有的元素都已经被包含在定义了名称的<div>中。新闻中的日期也被加上了date的类(class)。你可以看到代码非常简单。

第1小时

定义container 层的border为1px。通过在body样式中定义text-align: center将内容居中。为了在所有浏览器中都居中,还在container中定义了margin: 0 auto;(意思就是top=0, right=auto, bottom=0, left=auto)。居中的处理方法和表格一样容易。

定义body的paddingtop和bottom数值为20px(不直接在container中定义padding是为了适合所有浏览器)。

无序列表(li)必须定义为display:inline,这样菜单会被显示在一行内。我在菜单间增加了导航图标。这些导航图标是用不重复背景方法定义的,可以精确定义(x,y)位置,类似这样:

background: url(menuBullet2.gif) no-repeat 4px 9px;

菜单的点击颜色变化效果采用链接的hover样式,不再需要JavaScript。

我设置页头的蝴蝶图片为<h1>的背景,这样可以不用担心易用性,在不能显示图片的设备中(如屏幕阅读机和搜索机器人)也可以正常阅读标题。

第2小时

菜单的第一项(HOME)使用一个不同的图标,我不得不隐藏原来的背景,为HOME菜单增加一个额外的id(frst):

#hMenu ul li#frst

再另外一个(CONTACT)图标:

background: transparent url(menuBullet3.gif) no-repeat 615px 9px;

我无法用CSS控制2列有一样的高度,幸运的是,我可以用背景图片来变通实现。我定义了container纵向重复背景。

background: #fff url(bgMain.gif) repeat-y; 背景图片

第3小时

CSS定义盒比表格方便多了,特别是边框的许多属性非常有用。

现在我开始定义<h2>标题。图标的定义和上面的方法一样。

我将news层浮动(float)在sightings 和 membership的右面。 定义copyright层 clear: both;,这样它可以跟在浮动层的下面。将正文中的蝴蝶图片浮动在右面,文字可以自动环绕在图片周围。定义图片的1px border和设置padding距离就可以实现原来2个表格嵌套的效果。

又发现一些问题:版权层与内容层有部分重叠。

第4小时

显示的错误与sightings and membership的float:right; 定义有关。将它们浮动在左面就可以解决这个问题,这看上去很奇怪。我用firefox进行第一次测试,恩,看上去还不坏,只是菜单的图标有几pixel的移位。

有一些CSS技巧可以修正在非IE浏览器的显示效果,例如给不同浏览器不同的属性值。

我同一元素定义中使用了!important 值,相同的定义写在前面可以优先执行,这个值不被IE浏览器支持。

background: url(menuBullet2.gif) no-repeat 4px 6px !important;
background: url(menuBullet2.gif) no-repeat 4px 9px;

在CSS中,如果同一元素有多个定义,最后一个是有效的。但是因为IE不支持!important,所以IE将使用第二个定义值,而其他浏览器将采用第一个定义值。

Google搜索从入门到精通v4.0(5)
动态网页技术介绍—ASP、JSP、CGI、PHP(2)
提高网站在Google中的排名
Solaris下PRO*C和OCI程序设计分析与比较2
Google搜索结果中的补充材料是什么意思?
我乐网获得千万美元风投资金
25 种能马上改善网站、提高浏览量的方法
Linux操作系统定时任务系统 Cron 入门
CSS中的滑动门技术
每日搜索评论2--什么是用搜索引擎搜不到的[增补版]
从静态网页到动态网页再到静态网页:企业网站建设方法轮回
中国网络经济不能仅依靠.com
表格对决CSS--一场生死之战(4)
表格对决CSS--一场生死之战(3)
德法投资1.2亿欧元开发新搜索引擎
沪ICP备 05020775号    联系电话:021-51872701 51302668 51302669 上海网络信息科技有限公司 版权所有