[翻译]标记语言和样式手册 chapter 5 表单(6)

作者:zhaozy 来源:3user.com 时间:2008-01-23 17:20:00 

使用<label>自定字体

我们有几种不同的方法能够调整表单内文字的大小,字体与色彩,我们再度奉行"利用你使用的标签"哲学,直接以<label>元素为文字设定样式.

我喜欢以<label>元素指定文字样式,主要是因为,在不少情况下,我们都会希望为说明文字指定独特的样式,使它们容易与表单内可能出现的其他文字区分开来,举例来说,我们可以为表单内的所有段落标签制定独特的样式:

#thisform p {
  font-family: Verdana, sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: #66000;
  }

这会使表单内的所有段落文字使用粗糙,酒红色的Verdana 12像素大小的字体.但是同样的结果也能借着为表单内的<label>元素指定相同样式来达成,像这样:

#thisform label {
  font-family: Verdana, sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: #66000;
  }

这个样式的显示效果见图5-11.

图5-11.为label指定样式的效果

为什么我比较喜欢这个方法?假设除了说明文字之外,表单还有其他放在<p>当中的指示或文字内容.那么在前一种方法内,这些文字就会使用和<p>相同的样式设定了.

也能先为表单中的所有文字制定一种样式,接着再为<label>特别指定样式,以便做出独特的表单元素显示效果.

使用的CSS大概类似这样:

#thisform {
  font-family: Georgia, serif;
  font-size: 12px;
  color: #999;
  }
#thisform label {
  font-family: Verdana, sans-serif;
  font-weight: bold;
  color: #660000;
  }

不需要多余的代码

或许你或发现,在#thisform label 的定义中没有重复font-size:12px;由于<label>元素包含在#thisform之内,因此他们会继承这个属性.在较高层级设定共享规则,接着在元素树底层覆盖有需要的设定值是个好习惯.这能节省不少代码.除了显而易见好处之外,也能让往后的维护工作轻松不少.如果你想改变整个表单的font-family,那么只需要修改一条规则,而不必修改所有重复设定字体的规则.

想象你设计了一个网站,全部使用了Georgia字体,最初你在20个不同的规则中分别加上相同的font-face:Georgia,serif;规则,过了一星期后,老板跑来找你并且对你说"CEO现在讨厌serif字体了,把网站内容改用Verdana".这时你的钻进这20条规则里,慢慢修改了.

或者是,你也能在更高层级设定一次这条规则,比如说指定在<body>元素里,此时整份文档都汇继承Georgia字体,除非以其他规则指定另外的设定值.现在,当老板要求你进行修改时,你就能回答"没问题,两分钟之后搞定";或者是能把简易性留给自己,告诉他这需要耗上两个小时,然后用这些额外的时间上eBay标东西.

OK,当然,你应该告诉老板真相,他们应该知道你的价值,为公司节省时间并且善用你找到的新解法.

标签:样式,标记,css,手册,表单
0
投稿

猜你喜欢

  • php+lottery.js实现九宫格抽奖功能

    2024-04-17 10:34:28
  • Python Tornado之跨域请求与Options请求方式

    2023-11-24 19:47:08
  • asp程序错误详细说明例表

    2008-04-02 12:13:00
  • Python模块的制作方法实例分析

    2021-09-06 05:57:26
  • Python3环境安装Scrapy爬虫框架过程及常见错误

    2021-10-19 00:01:05
  • Python函数中的全局变量详解

    2022-08-05 13:58:34
  • Access2000迁移到Oracle9i要点

    2010-07-27 13:10:00
  • vue 指令版富文本溢出省略截取示例详解

    2024-05-28 15:52:36
  • python学习之基于Python的人脸识别技术学习

    2021-04-23 22:09:25
  • 精通Javascript系列之数据类型 字符串

    2024-04-17 09:49:59
  • python opencv之SIFT算法示例

    2023-12-27 21:42:33
  • python二分法实现实例

    2023-02-16 05:09:46
  • Python namedtuple命名元组实现过程解析

    2022-08-20 14:27:20
  • Python爬虫之获取心知天气API实时天气数据并弹窗提醒

    2023-04-17 14:40:58
  • python Pandas之DataFrame索引及选取数据

    2023-01-01 02:27:10
  • 基于python if 判断选择结构的实例详解

    2023-01-15 22:45:03
  • python中MySQLdb模块用法实例

    2024-01-25 01:19:27
  • python使用xmlrpc实例讲解

    2023-11-25 08:46:59
  • 使用python删除nginx缓存文件示例(python文件操作)

    2021-10-16 03:41:32
  • 滚动条样式的css代码介绍

    2008-10-21 10:56:00
  • asp之家 网络编程 m.aspxhome.com