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

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

以<fieldset>制作表单元素群组

使用<fieldset>是个为表单元素分组的便利方法.除此之外,加上叙述用的<legend>则会在大多数浏览器内,为你做好的表单元素群组加上一个漂亮的边框.我刚刚有说"漂亮"吗?嗯,我的确喜欢这种边框.而我们只需要用上一点CSS,就能使它变得更加迷人.

首先,来看看建立群组是需要哪些标签.接着为示例表单加上一个群组:

<form action="/path/to/script" id="thisform" method="post">
  <fieldset>
    <legend>Sign In</legend>
    <p><label for="name" accesskey="9" >Name:</label><br />
    <input type="text" id="name" name="name" tabindex="1" /></p>
    <p><label for="email">Email:</label><br />
    <input type="text" id="email" name="email" tabindex="2" /></p>
    <p><input type="checkbox" id="remember" name="remember"  tabindex="3" />
    <label for="remember">Remember this info?</label></p>
    <p><input type="submit" value="submit" tabindex="4" /></p>
  </fieldset>
</form>

图5-12是浏览器显示这个群组的效果图,包含刚加上的<fieldset>与<legend>标签,以及刚为<label>设定的CSS样式.或许你已发现有条漂亮的边线围绕在<fieldset>里面的所有表单元素之外,同时<legend>的内容断开了左上方的边线.

图5-12.加上<fieldset>与<legend>之后的表单

我说这个效果"漂亮"的原因是:完全不加上CSS,使用它们的预设样式,它的显示效果的确让人相当感动.同时还能加上一些自定属性,使它变得更有趣,我们马上动手.

你应该也能看出<fieldset>在为表单隔出不同区块的时候十分有用,举例来说,如果我们的示例是个大表单的第一部分,那么以<fieldset>从视觉上隔开这些区块的话,不仅语义更清楚,还能使表单结构更明显,更容易阅读使用.

为<fieldset>和<legend>加上样式

我们能使用CSS改写<fieldset>预设边框与<legend>文字的样式,与定义其他元素的样式一样简单,首先,我们来修改边框的颜色和宽度,接着再修改文字本身.

为了使<fieldset>的边线变得更加细致,我们使用以下的CSS:

#thisform {
  font-family: Georgia, serif;
  font-size: 12px;
  color: #999;
  }
#thisform label {
  font-family: Verdana, sans-serif;
  font-weight: bold;
  color: #660000;
  }
#thisform fieldset {
  border: 1px solid #ccc;
  padding: 0 20px;
  }

接着为左右两边指定20像素的外补丁,并且去掉上下外补丁,为什么要去掉这些外补丁?因为我们的表单说明文字,表单元素都放在<p>标签内,因此他们在上下方向上已经留足了边界空白.

图5-13是指定这些样式之后的表单显示效果.


图5-13.为<fieldset>指定样式之后的效果

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

猜你喜欢

  • python类中super() 的使用解析

    2022-12-02 09:08:10
  • TXT.WORD文档下载另存为,而不是在浏览器中打开

    2007-10-25 11:43:00
  • Django中的session用法详解

    2023-01-12 11:40:45
  • Python实现自动签到脚本的示例代码

    2021-07-07 14:08:37
  • 配置php网页显示各种语法错误

    2023-11-14 07:23:04
  • Go开源项目分布式唯一ID生成系统

    2024-02-14 22:08:15
  • Pytorch中的variable, tensor与numpy相互转化的方法

    2021-08-16 13:59:50
  • Python持续监听文件变化代码实例

    2021-10-20 06:19:19
  • python编写朴素贝叶斯用于文本分类

    2022-01-29 18:45:51
  • 详解Go开发Struct转换成map两种方式比较

    2024-04-26 17:32:12
  • 将Django项目迁移到linux系统的详细步骤

    2021-02-11 02:13:09
  • 联邦学习FedAvg中模型聚合过程的理解分析

    2023-09-28 02:29:48
  • Pandas高级教程之Pandas中的GroupBy操作

    2022-04-14 19:22:25
  • Python学习之configparser模块的使用详解

    2022-07-21 23:21:25
  • 如何使用Python 抓取和优化所有网站图像

    2022-05-18 12:36:00
  • Python中使用ipython的详细教程

    2023-05-28 13:14:48
  • jquery each的几种常用的使用方法示例

    2024-04-09 19:48:49
  • MySql 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题

    2024-01-23 12:43:57
  • ASP连接SQL2005数据库连接代码

    2011-03-25 10:44:00
  • pytorch collate_fn的基础与应用教程

    2021-06-03 02:55:57
  • asp之家 网络编程 m.aspxhome.com