当前时间 加入收藏 设为首页 联系站长
先锋站长网
您的位置:>首页 -> 技术文章 -> CSS编程-> 三栏布局是最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容。基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度。本文介绍一种用CSS的float和clear属性来获得三栏布局的方法。
 三栏布局是最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容。基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度。本文介绍一种用CSS的float和clear属性来获得三栏布局的方法。
来源: | 作者: | 时间:2008-03-18 21:00:38 | 录入者:admin
 在以前,为Web页面创建一个打印机友好的版本意味着要设计一个布局和格式都经过修改的单独页面,这样才能够在打印的时候获得令人满意的效果。现在,通过使用结构化的XHTML和CSS,你可以实现同样的效果而只用花费少得多的精力。

  从屏幕显示到打印效果

  大多数的Web页面都是设计适用于在计算机屏幕上观看的。然而,有的时候用户需要将某些页面打印出来,也许就是为了保留一个长期的记录,或者将其用作方便的离线参考资料。

  现在的麻烦是,让Web页面在计算机彩色屏幕上看起来引人注目和五彩缤纷的很多特性,都无法在打印版的Web页面上表现出相同的效果——尤其当打印机是黑白的时候。在被降级为灰度打印的时候,彩色的组合会失去(原有的)对比效果;图形会看起来失真,而且耗费太长的打印时间;在Web页面上起着重要作用的导航按钮在打印页面上也毫无用处。

  为了克服这些问题,Web的创建者常常会为页面专门设计一个打印机友好的版本,这样访问者就有打印的欲望。打印机友好的版本通常都包括有和主要Web页面相同的内容,但是会省略掉大多数的图形、背景和导航元素。页面还会把彩色转换成某种形式,以便生成能够让人接受的灰度图像。

  CSS的解决方案

  使用结构化的XHTML标示和CSS格式将内容和表示分离开来的一个优势在于,通过更改CSS样式,你可以很轻易就把内容重新格式化。因此,创建一个打印机友好的页面就是把一个不同的CSS文件链接到相同的XHTML页面上。

  你可以同时把屏幕样式表和打印样式表链接到同一个XHTML文件里,所以就没有必要单独创建一个打印机友好的页面,只需要一个打印机友好的样式表就行了。当你在链接代码里加入多媒体类型的文件时,这就是在告诉浏览器为了进行屏幕输出要遵循或者忽略哪些CSS的规则,而为了打印输出要使用哪些规则。

  下面是链接到一对CSS文件的例子:


以下是引用片段:
<link rel="stylesheet" type="text/css" media="screen" href="mysite-screen.css"/>
<link rel="stylesheet" type="text/css" media="print" href="mysite-print.css" />


  如果需要支持老版本的浏览器,那你就必须坚持使用CSS1的媒体描述符screen和print。它们是相互排斥的,因此在为屏幕显示而生成页面的时候,浏览器会忽略掉打印样式表,反之亦然。所以,每个样式表都需要包含相同的样式选择器,但是有不同的规则声明,以便为不同的输出设备分别生成页面样式。

  简化CSS

  如果你愿意放弃照顾老版本的浏览器,并假设你的用户正在使用支持CSS2的浏览器(比如说IE5及以上版本或者Netscape 6及以上版本),你可以使用新的all媒体描述符来极大地简化CSS代码。

  下面就是使用CSS2媒体描述符的链接的例子:


以下是引用片段:
<link rel="stylesheet" type="text/css" media="all" href="mysite-all.css" />
<link rel="stylesheet" type="text/css" media="print" href="mysite-print2.css"/>


  这些链接几乎和前面的完全一样;不同之处在于CSS文件里包含有用于打印媒体的样式。

  CSS文件里同media="all"联系在一起的样式可以应用于屏幕显示、打印,以及其他所有的媒体,所以你可以把所有创建的样式都放到这个文件里。同media="print"单独联系在一起的CSS文件可以小得多,因为页面从所有的媒体文件继承了所有的样式,这就没有必要再复制打印媒体文件里的这些样式了。

  打印媒体CSS文件里唯一需要的样式是那些为打印输出而更改或者添加页面样式。一般来说,这只不过是一些禁止显示包含有图形和导航内容的div的样式,和把主体标签以及主要div的宽度和空白设置替换成适合打印输出的设置。

  这个技巧能够起作用是因为所有的媒体CSS文件和打印媒体CSS文件都组合成了相同的层叠样式规则。因此,对这些CSS文件的链接顺序相当重要。所有的媒体文件链接都必须要放在打印媒体文件链接之前。

  下面是一些关于使用打印媒体CSS文件的提示:

  如果禁止某个div的显示,就要使用display: none而不能用visibility: hidden。

  点(pt)和英寸(in)都不是用于屏幕显示的正确度量单位,但是它们是打印输出的正确度量单位。
  在打印媒体文件里使用的选择器要和你在所有媒体文件里使用的选择器完全相同。例如,如果你使用div #sidenav来选择所有媒体文件里id为sidenav的div,那么在打印媒体文件里使用#sidenav就可能无法成功地达到你的目的。

  不要忘记明确地强制替代从一个文件到另一个文件都会发生改变的规则声明。例如,如果你在所有的媒体文件里为一个元素设置了padding,并希望在打印输出里去掉这个padding,那么在打印媒体文件里加入一个忽略padding声明的样式是不够的——你必须明确地设置padding: 0pt,以取代前面的设置。

  如果你正在使用诸如Dreamweaver这样的图形编辑器,你就可以预览生成页面的屏幕效果,而不是打印输出的效果。要在Dreamweaver的设计(Design)查看窗里预览打印样式,就要把到打印媒体CSS文件的链接改成media="screen"。这就让你可以预览打印媒体文件里的CSS样式。不要忘了在发布你的页面之前把媒体描述符改回到media="print"。

  当你需要为自己的访问者提供一个打印机友好的Web页面,你不再需要为原有的页面创建一个单独的版本。添加一个对带有media="print"媒体描述符的CSS样式表的链接,就能够把任何XHTML/CSS页面转换成为一个打印机友好的页面。

[上一篇]用CSS的float属性创建三栏布局网.. [下一篇]一个针对IE7的CSS Hack
 评 论
称  呼:
内  容:
·本站发布内容均为客观表达作者观点,不代表本站立场,请勿攻击和漫骂
·网游发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
最新文章
站长先锋|先锋站长网 (17日)
企业邮局不断壮大 时代邮箱再.. (26日)
网店办照试行 无本经营亮剑何.. (20日)
CN域名年增长率达94.6% (14日)
解读:“.中国”域名幕后的争.. (14日)
后奥运时代互联网将刮繁体风 (11日)
IE8发布与“.中国”域名系统.. (04日)
抢滩WindowsServer2008 主机.. (28日)
“解百纳”千千结难解 .TM域.. (21日)
奥运商机刺激主机市场供求 (16日)
精彩推荐
站长先锋|先锋站长网 (17日)
企业邮局不断壮大 时代邮箱再添 (26日)
网店办照试行 无本经营亮剑何方 (20日)
CN域名年增长率达94.6% (14日)
解读:“.中国”域名幕后的争夺 (14日)
后奥运时代互联网将刮繁体风 (11日)
IE8发布与“.中国”域名系统启 (04日)
抢滩WindowsServer2008 主机商 (28日)
“解百纳”千千结难解 .TM域名 (21日)
观察:中小网站或渐成互联网主角 (14日)
热门咨询
Fs2You为您提供无限大小免费.. (28日)
用电子商务的网站进行信用卡.. (17日)
免费CN域名注册,每个人最多可.. (28日)
由站长论坛为您提供cn或者com.. (28日)
wap站长大全 (17日)
免费600提供600M免费ASP空间 (28日)
ASP如何获取客户端真实IP地址 (26日)
中国网络为注册会员免费赠送.. (28日)
地方分类信息网站推广重心! (16日)
如何编程删除access表中所有.. (22日)
联系方式:MSN:xFzz@hotmail.com QQ:486031、219741、54817814 电话:010-67216557
Copyright@xFzz.com all rights reserved 京ICP备05047353号
Powered by xFzz Code © 2003-07 bbs.xFzz.com