[翻译]标记语言和样式手册 Chapter 2 标题(5)
作者:zhaozy 来源:3user.com 发布时间:2008-01-16 11:56:00
方便替换的图标
我们也可以使用cssdebackground属性来设定放在文字左边的小图标以此来代替写死图片标签的方法,为标题加上装饰用的小图标.这个方法能使在未来的日子里改变网站显示效果的工作变得十分轻松—只需要替换那么一个css规则,就能同时改变整个网站的显示效果.
代码和上面的平铺背景大致相同:
h1 {
font-family: Arial, sans-serif;
font-size: 24px;
color: #369;
padding-left: 30px;
background: url(icon.gif) no-repeat 0 50%;
}
我们在文字的左边多留出一块空间以便防止我们想要的图标,然后设定no-repeat指定背景图片不进行平铺(如图2-8),同时我们希望图标的位置在据左边0像素,并且对起垂直中线.
图2-8:设定了图标的标题示例
容易更新
让我们设想这样一个场景:在一个包含了100个页面的网站里,我们没有使用上面的方法,而使用<img>标签写死每个标题旁边的图标,图标和网站风格是相融合的,几个星期后,网站的主人打算换掉网站风格,而新的图标大小和旧的并不一样,哎呦!这下我们就得回去修改整整100份页面里面的<img>标签以更新新图标的路径,真讨厌!想想这些事件会对项目预算造成怎样的影响,对完工期限带来多大的压力?时间就是金钱啊!
如果把这些并不十分重要的,装饰性的图标整合到一个css文件中,只要花上几分钟就能够一次性换掉整站的所有图标,带来崭新的外观!由此你应该可以渐渐明白到结构标记和显示效果分离的好处了吧.
变色龙效果
下来的技巧和我刚才所说的有一些矛盾,但是我认为这个技巧在某些情况下是十分有用的.这是我在2003年4月为Fast Company杂志的网站(www.fastcompany.com)做标准重构时大量使用的技巧.
那时我们在网站里的<h3>标签旁边用了许多13X13的小图标,就像这样:
<h3><img src="https://img.aspxhome.com/file/UploadPic/20081/16/2008116121451478.gif" width="13" height="13" alt="*" /> FIRST IMPRESSION</h3>
有两个让我们决定要这样把图标写死在网页里面.首先,根据标题种类的不同,我们会使用到不同的图标(图书俱乐部是一本书,每日引言则是引号等等),第二个理由则是我们每个月会更换一次整个网站的配色,以配合当期杂志的封面主题.当然,这种替换工作因为使用了css而变得十分简单.
为了让图标跟着其他页面元素一起变色(这样才不必一直为了新色彩而重新制作图标),我们只用两种颜色做了一组图标:白色和透明(会显示除每次更改的背景颜色).图2-9就是放在首页引言之前的图标:
图2-9: 13X13的透明图标(放大后)
为了在透明部分填进颜色,我们使用了简单的css的background属性设定颜色,我们希望只希望这个颜色出现在图表的后面而不出现在标题文字后面,我们用到了css选择器只对<h3>标签内的图片使用这条规则,以便达到我们想要的效果:
h3 img {
background: #696;
}
这段css代码表示<h3>标签内的所有<img>标签都把背景设为绿色,背景色会透过透明像素显示出来,但是白色部分仍然还是白色,如此一来,每个月只需要修改这条css规则,换上不同的颜色,就能瞬间改变网站上每个图标的色彩了,就像变魔术一样.
对齐<img>标签
为了使图标和文字正确的对齐(我们希望垂直居中),因此我们加上了这条css规则:
h3 img {
background: #696;
vertical-align: middle;
}
这条规则会使图标和<h3>文字内容垂直居中,图2-20就是设定玩的标题:
图2-10:以css为图标加上背景色的示例
这个例子还能说明另一个重要的概念—以css指定背景色彩会出现在任何页面内指定的图标或是css图标后面.
举例来说,我们回头看看"方便更新的图标"这个示例,为它加上背景色看看:
h1 {
font-family: Arial, sans-serif;
font-size: 24px;
color: #fff;
padding-left: 30px;
background: #696 url(transparent_icon.gif) no-repeat 0 50%;
}
如此以来 transparent_icon.gif 会显示在相同规则中稍早定义的背景色之上(如图2-11) —在这个例子中,背景色是#696,也就是撞球桌的绿色.
图2-11 设定了背景图,背景色的标题示例
当你为了考虑色彩为主的页面上加小圆角,装饰图标时,这个小技巧就十分好用了.这些不重的图片可以完全放进css文件里面,未来打算更新的时候也就可以轻松替换.现在多用点心思.就能节省未来许多的工作.
总结
我希望通过比较集中常用的方法后,你能发觉正确使用标题标签的好处.不管是视觉,非视觉浏览器或者其他设备,都能正确的历届标题的含义,并且以适当的方法展现它们,搜索引擎也会为他们建立索引,你也可以轻松的以css应用和修改需要显示的效果.
接着阅读:Chapter 3 * 的表格


猜你喜欢
- 我就废话不多说,直接上代码吧!#Copyright (c)2017, 东北大学软件学院学生# All rightsreserved#文件名称
- python3 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下import jsondata1 = { "Te
- 数据存储·在javascript中,数据存储的位置会对代码整体性能产生重大的影响。·数据存储共有4种方式:字面量、变量、数组、对象成员。·要
- 设计是一个输入-输出的过程,因为首先有用户的需求,客户的项目才有设计的产生,设计是带有目的性和市场行为的,当然也有一部分的创造性设计,仅仅为
- 起源当同一个远程服务器有多个人使用的时候,想知道服务器是否有人在用,我们不能直接的去登录,因为这样可能会把对方挤下来,这并不友好,所以这里提
- 抽象特点Python 一切皆对象,基于此概念,对 类 class 有以下特点:类与实例的属性类对象创建可选择定义类属性,创建实例对象时,实例
- 相信很多人都跟小编一样不管是什么账号,如果很久不用就会忘记登录密码,像数据库SQL Server2008也一样有用户名和登录密码,下面小编就
- 代码如下:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。 /连接“网站
- Vue学习笔记-3 前言Vue 2.x相比较Vue 1.x而言,升级变化除了实现了Virtual-Dom以外,给使用者最大不适就是移除的组件
- 在ASP中,如何创建DSN? 见下:<HTML><HEAD><META&n
- 使用WebDriver在Chrome浏览器上进行测试时,需要从http://chromedriver.storage.googleapis.
- 一、介绍1、SqlLocalDb全称:SQL Server Express LocalDb。简化SQL Server的本地数据库。SqlLo
- 百度指数抓取,再用图像识别得到指数前言:土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字:哥那么叼的人怎么会被他吓到,于是乎花了零零碎
- 代码: (使用os.listdir) import osdef ListFilesToTxt(dir,file,wildcard,recur
- 1.url encode加密简介:当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见
- Go素数筛选分析1. 素数筛选介绍学习Go语言的过程中,遇到素数筛选的问题。这是一个经典的并发编程问题,是某大佬的代码,短短几行代码就实现了
- Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 :
- 前言参考文章:Python实现照片卡通化我继续魔改一下,让该模型可以支持将gif动图或者视频,也做成卡通化效果。毕竟一张图可以那就带边视频也
- go-micro是golang的一个微服务框架。这篇文章将介绍使用go-micro最新版本v4开发gRPC服务的方式。1、安装protoc这
- python中format的使用format函数这是一种字符串格式化的方法,用法如str.format()。基本语法是通过 {} 和 : 来