论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > div+css布局教程
Tag:css,入门,技巧,div,实例,示例,菜单,布局,web2.0,ul,li,经验,列表,web标准,xhtml,web标准,浏览器,兼容,css hack,表格,视频教程

如何制作div css保持xhtml语义结构的表单?

文章类别:div+css布局 | 发表日期:2008-9-26 11:13:29

  
◆ fieldset标签、legend标签

  在form表单中,我们可以对form中的信息进行分组归类,如注册表单的form,我们可以将注册信息分组成
    基本信息(一般为必填)
    具体信息(一般为可选)
  那我们如何更好的来实现呢?我们可考虑在表单form中加入下面两个标签:
    fieldset:对表单进行分组,一个表单可以有多个fieldset。
    legend:说明每组的内容描述。

  我们看下面的代码:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<form id=\"www21shipincom\" class=\"democss\" action=\"www.21shipin.com\">
<fieldset>
<legend>Basic Register</legend>
<p>First name: <input type=\"text\" name=\"fname\" value=\"\" /></p>
...
</fieldset>
<fieldset>
<legend>Detailed Register</legend>
<p>Interest: <input type=\"text\" name=\"interest\" value=\"\" /></p>
...
</fieldset>
...
</form>

  fieldset默认是带边框的,而legend默认一般显示在左上角。但在某些页面中我们不愿意让fieldset和legend的默认样式或默认布局影响设计方案中的美观。解决方法是在CSS中将fieldset的border设置为0,legend的display设置为none就可以了。

◆ label标签

  label标签大家应该都不生疏,我们对form表单中的文本标签给定一个label标签,并使用for属性使其与表单组件关联起来,效果为单击文本标签,光标显示在相对应的表单组件内了。

  我们看下面的代码:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<form id=\"www21shipincom\" class=\"democss\" action=\"www.21shipin.com\">
<fieldset>
<legend>Basic Register</legend>
<p>
<label for=\"fname\">First name:</label>
<input type=\"text\" id=\"fname\" name=\"fname\" value=\"\" />
</p>
...
</fieldset>
<fieldset>
<legend>Detailed Register</legend>
<p>
<label for=\"interest\">Interest:</label>
<input type=\"text\" id=\"interest\" name=\"interest\" value=\"\" />
</p>
...
</fieldset>
...
</form>

  除了以上方法之外我们还可以用label标签套嵌整个表单组件和文本标签,看下面的代码:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<label for=\"fname\">
First name:<input type=\"text\" id=\"fname\" name=\"fname\" value=\"\" />
</label>

  根据规范,文本会自动与邻接的表单组件关联,但遗憾的是主流浏览器IE6并不支持这个特性。

◆ accesskey属性、tabindex属性

  网站要兼顾更多浏览环境下的正常使用,比如没有光标设备(如鼠标)的情况下,要让使用键盘操作也可以完成form表单的填写,这时候点击对于它们来说,已经没有任何意义。我们这个时候选用label的accesskey(快捷键,IE下为alt accesskey属性值,FF下为alt shift accesskey属性值)和tabindex属性(Tab键,tabindex属性值为顺序)添加到表单标签上,如label,input等。
  我们看下面的代码:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<label for=\"fname\" accesskey=\"f\" tabindex=\"1\" >
First name:
</label>
<input type=\"text\" id=\"fname\" name=\"fname\" value=\"\" />

◆ optgroup标签

  optgroup标签的作用是在选择列表中定义了一组选项。我们可以选用optgroup标签给select元素的options分类,并使用label属性,属性值会在下拉列表(select)里显示为一个不可选的、缩进标题。请注重optgroup不支持嵌套。

  我们看下面的代码:

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<select name=\"www21shipincom\">
<optgroup label=\"Jiangsu\">
<option value=\"nj\">Nanjing</option>
<option value=\"sz\">Suzhou</option>
</optgroup>
<optgroup label=\"Zhejiang\">
<option value=\"hz\">Hangzhou</option>
<option value=\"wz\">Wenzhou</option>
</optgroup>
</select>

  IE6中存在一个小Bug(FireFox中没有问题):使用键盘方向键进行选择时,在 IE 中,当选中项由一个optgroup的选项换成另一optgroup 的选项时,不会触发onchange。解决办法是增加 onkeydown 或 onkeyup 事件可以协助解决。

◆ button标签

  我们定义为一个提交按钮。在button元素内你可以放置内容,例如文本(text)或者图片(images)。这是这个元素和input元素按钮的区别。

div css xhtml xml Example Source Code Example Source Code [www.21shipin.com]
<button>
<img src="images/click.gif" alt=\"Click Me!\" />Click Me!
</button>

  button标签相对于input提供了更多的功能与更丰富的内容。button将按钮文字单独出来,并且可以在button内添加图片,赋予文字和图片更多可以选择的样式,使生硬的按钮变得更加生动、灵活。并且使用button标签将比input按钮来得更有语义化,简单的从字面意思也可以理解。
  
视频教程列表
文章教程搜索
 
div+css推荐教程
div+css热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058