Web标准化之form语义结构的实例

  Web标准化越来越受到大家的重视与关注,制作符合Web标准的网页,往往会遇到form的问题,这一块的知识很是缺乏,今天的这篇文章向大家介绍了一些form语义结构,希望对大家的CSS布局有所帮助。
1、使用fieldset和legend标签
  在form中,我们经常会对form中的信息进行分组,比如注册form,我们可能会将注册信息分组成基本信息(一般为必填),详细信息(一般为可选),那我们如何更好的来实现呢?我们可考虑在form中加入下面两个标签:
fieldset:对表单进行分组,一个表单可以有多个fieldset
legend:说明每组的内容描述

 代码如下 复制代码
<form id="demoform" class="democss" action="">
<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即可。

2、使用label标签

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

示例代码

 代码如下 复制代码
<form id="demoform" class="democss" action="">
<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套嵌整个表单组件和文本标签,如:

示例代码

 代码如下 复制代码
<label for="fname">
First name:
<input type="text" id="fname" name="fname" value="" />
</label>

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

3、使用accesskey和tabindex属性

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

示例代码

 代码如下 复制代码
<label for="fname" accesskey="f" tabindex="1" >First name:</label>
<input type="text" id="fname" name="fname" value="" />

4、使用optgroup标签

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

示例代码

 代码如下 复制代码
<select name="China">
<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.0 中存在一个小Bug(FireFox 中不存在):使用键盘方向键进行选择时,在 IE 中,当选中项由一个optgroup的选项换成另一optgroup 的选项时,不会触发onchange。解决办法是:增加 onkeydown 或 onkeyup 事件协助解决。

5、使用button标签

示例代码

 代码如下 复制代码
Definition and Usage
Defines a push button. Inside a button element you can put content, like text or images. This is the difference between this element and buttons created with the input element.

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

示例代码

 代码如下 复制代码
<button><img src="images/click.gif" alt="Click Me!" />Click Me!</button>

  button相对于input提供了更多的功能与更丰富的内容。button将按钮文字单独出来,并且可以在button内添加图片,赋予文字和图片更多选择的样式,使生硬的按钮变得更生动。
  并且使用button标签将比input按钮来得更有语义化,简单的从字面意思也可以理解。

 

时间: 2024-09-15 10:52:59

Web标准化之form语义结构的实例的相关文章

web标准化学习指南:如何学习网页标准

web|web标准|网页 如何学习网页标准 很多经典论坛网页标准化版的版友问这个问题,我想每一个刚刚接触web标准的人都会问这样的问题,我就根据自己的经验总结. Step 1.不要一味使用DW等工具设计网页,去熟悉(X)HTML语言和CSS语言 因为web标准对代码的要求提高了,没有对xhtml代码没有一定的了解是无法通过校检的.DW工具也可以使用,但是要看着代码写网页了.首先是xhtml代码,不是很多,知道他们如何使用,怎么正确书写,而且要记得封闭tag.如<img/><br/>

异步操作和Web服务,第3部分:向Web服务添加业务语义

在这个系列的前面两部分,Holt Adams 解释了 Web 服务异步操作的相关性并讨论了一些构建异步服务的模式.现在,他要开始讲解三个新规范 ― Web 服务的业务流程执行语言(Business Process Execution Language for Web Services).Web 服务协调(Web Services Coordination)和 Web 服务事务(Web Services Transaction)― 并说明它们如何为 Web 服务开发者提供许多可能性.您将看到这三个

网站建设是否应该采用WEB标准化代码开发

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 做为专业的天津网站建设开发人员,我们从2002开始就进行企业网站设计制作.一直以来都是以表格Table方式来布局和表现网页设计效果.而表格因其易用好学,而在网站设计中大量采用.大量的网站采用了表格来设计制作. 近几年网站设计开始大量使用WEB标准化,以DIV+CSS的为代码结构的网站越来越多.特别是web2.0兴起,大量新兴的WEB2.0网站

web css js-java web树形菜单(树形结构),求大神现身

问题描述 java web树形菜单(树形结构),求大神现身 一直做得都是Java后端开发,最近经理给我分了个任务,其中一段是web树形菜单的处理.用jquery实现树形菜单(标签是ul和li)之后,发现ul和li无法导入到excel.在此特请java大神,帮忙用table,tr,td(可配合span',div)实现树形菜单.努力研究了两天,我已经跪了,效果见图片 ?若能实现,如救我一命,胜造七级浮屠..... 解决方案 试试jstree或者ztree吧.成熟的插件可以满足你的功能需求,节约开发时

关于二进制Web服务框架Hessian最简单代码实例

关于二进制Web服务框架Hessian最简单代码实例 在resin3.1 下测试通过 hessian版本: hessian-3.1.6.jar 官方地址: http://hessian.caucho.com/#Java http://hessian.caucho.com/ 步骤如下: 1. 接口定义 package com.yanek.study.hessian; public interface Hello {    public String hello(String name); }  

漫话中文自动分词和语义识别(下):句法结构和语义结构

转自:http://www.matrix67.com/blog/archives/4870 这篇文章是漫话中文分词算法的续篇.在这里,我们将紧接着上一篇文章的内容继续探讨下去:如果计算机可以对一句话进行自动分词,它还能进一步整理句子的结构,甚至理解句子的意思吗?这两篇文章的关系十分紧密,因此,我把前一篇文章改名为了<漫话中文自动分词和语义识别(上)>,这篇文章自然就是它的下篇.我已经在很多不同的地方做过与这个话题有关的演讲了,在这里我想把它们写下来,和更多的人一同分享. 什么叫做句法结构呢?让

jquery插件EasyUI中form表单提交实例分享_jquery

之前用AJax给Controller传递参数,然后再调用服务端的方法对数据库进行更改,今天碰到一个新的方法,就是表单的提交,这样可以省去AJax传参. 当表单提交后,我们可以获取表单上控件中的值,然后再调用服务端的方法对数据库进行更改.下面的一张截图是具体的业务需求. 一.要实现的功能:从上面这个表单中,获取控件中的值,然后传递给后台.下面是表单代码. 二.表单代码 <div id="Editwin" class="easyui-window" title=&

webservice-关于对web service 里面的wsdl结构binding部分的疑问

问题描述 关于对web service 里面的wsdl结构binding部分的疑问 /* 一: ` ····· /wsdl:binding` 二: ····· /wsdl:binding 问题:如何解释上面binding的name属性?第二个是升级了jboos eap6.2+jdk1.7之后所产生的.(第一个是jboss 5.1+jdk1.6). */

C#中使用反射获取结构体实例

原文:C#中使用反射获取结构体实例 一般用反射获取类对象的实例比较简单,只要类有一个无参构造函数或没有显示声明带参的构造函数即可使用如下代码 static void Main(string[] args) { Type type = typeof(MyObject); object obj = type.GetConstructor(Type.EmptyTypes).Invoke(null); Console.WriteLine(obj); } class MyObject { } 之前我一直没