`
liudaoru
  • 浏览: 1575667 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CSS网页布局中form表单的语义结构探讨[z]

    博客分类:
  • Ajax
阅读更多

挺不错的文档,对我的借鉴之处有:

  1. 可以在label中加checkbox或者radio,这样方便了不少(比for的方式确实简洁);
  2. 知道了accesskey,以前没怎么用过;
  3. button标签很不错,可以实现不少效果,以前知道这个,但是没有具体用过。等短时间尝试一下;

-------------------------------------------------------------------

From: http://www.52css.com/article.asp?id=867

 

Web标准化越来越受到大家的重视与关注,制作符合Web标准的网页,往往会遇到form的问题,这一块的知识很是缺乏,今天的这篇文章向大家介绍了一些form语义结构,在52CSS.com的大量文章中,也一直强调HTML文档的语义和结构的重要性,希望对大家的CSS布局有所帮助。

1、使用fieldset和legend标签

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

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
<form id="demoform" class="democss" action="">
<fieldset>
<legend>Basic Register www.52css.com</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属性使其与表单组件相关联,效果为单击文本标签,光标显示在相对应的表单组件内。

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
<form id="demoform" class="democss" action="">
<fieldset>
<legend>Basic Register www.52css.com</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.52css.com]
<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等。

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
<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 不支持嵌套。

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
<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标签

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

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

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

分享到:
评论

相关推荐

    html5+css3实现酷炫的form表单

    在本教程中,我们将探讨如何利用这两者的优势来设计和实现酷炫的form表单。 首先,HTML5引入了新的表单元素和属性,如`&lt;input type="date"&gt;`用于日期选择,`&lt;input type="email"&gt;`用于邮箱验证,以及`&lt;fieldset&gt;`和...

    html+css网页设计源代码

    CSS还支持盒模型(包括内边距、边框和外边距),布局模式(如流式布局、网格布局、Flexbox和Grid),以及响应式设计,使得网页能在不同设备上自适应显示。 这个压缩包中的源代码,很适合用作教学或自学的资源。你...

    DIV+CSS网页布局基础-常用HTML标签介绍.rar

    在"DIV+CSS网页布局基础-常用HTML标签介绍"这个主题中,我们将深入探讨HTML中的一些常见标签,以及它们在网页设计中的作用。 1. **HTML 结构标签**:这些标签为页面提供基本的结构,例如`&lt;html&gt;`,`&lt;head&gt;`,`...

    html5 css3在线留言表单美化代码

    在“html5 css3在线留言表单美化代码”中,我们将探讨如何利用这两种技术来设计一个既实用又美观的在线留言表单。 HTML5引入了许多新的元素和API,使得构建结构化、语义化的网页变得更加容易。对于留言表单来说,...

    CSS网页布局使用表格可以吗?

    在网页设计中,CSS(Cascading Style Sheets)被广泛用于控制页面的布局和样式,其核心理念是将内容和表现分离,使HTML文档结构更加语义化。语义化的HTML使得网页对于搜索引擎优化(SEO)、无障碍访问以及跨设备兼容...

    超酷CSS3发光搜索框表单提交

    在现代Web前端开发中,创建吸引用户注意力的交互式元素是至关重要的,而"超酷CSS3发光搜索框表单提交"就是一个很好的示例。这个项目利用了CSS3的先进特性,结合jQuery和HTML5,为用户提供了一种极具视觉吸引力的搜索...

    HTML5+CSS3超酷动态表单 HTML5+CSS3超酷动态表单网页特效.zip

    CSS3的多列布局(`column-count`和`column-gap`)和Flexbox或Grid布局可以帮助构建响应式表单,适应不同屏幕尺寸。另外,阴影(`box-shadow`)和边框圆角(`border-radius`)等特性则让表单元素看起来更加精致。 ...

    HTML5+CSS3折叠动画登录表单效果源码

    在这个登录表单中,可能会用到`&lt;form&gt;`元素来定义表单,`&lt;input&gt;`元素创建输入字段,以及`&lt;button&gt;`用于提交按钮。HTML5还增强了表单的验证功能,允许开发者在客户端进行数据验证,如邮箱格式、非空验证等,提高用户...

    html+css 移动端商城网页设计实现

    在本文中,我们将深入探讨如何使用HTML5和CSS来实现移动端商城网页的设计。移动商城网站是现代电子商务不可或缺的一部分,它们提供了便捷的购物体验,让用户在手机和平板电脑上也能轻松浏览和购买商品。我们将逐一...

    CSS3分步注册表单 CSS3分步注册表单代码下载.zip

    首先,HTML5是构建网页的基本框架,它引入了新的标签,如`&lt;form&gt;`、`&lt;input&gt;`和`&lt;fieldset&gt;`等,使得表单结构更加清晰。在创建分步注册表单时,我们可以利用这些标签为每个步骤定义不同的部分,同时通过`&lt;button&gt;`或...

    App应用注册页面form模板_应用 注册 app 登陆 css3 html5 form.rar

    CSS3则扩展了样式表语言,支持更复杂的布局、动画和过渡效果,以及新的选择器,使得设计师能更加精细地控制网页的外观和布局。 在这个注册页面模板中,HTML5将用于构建页面的基本结构,包括输入字段(用户名、密码...

    html5+css3现代感注册表单.zip

    此外,CSS3的Flexbox(弹性盒布局)或Grid(网格布局)允许我们轻松地控制表单元素的排列和对齐,无论是响应式设计还是多列布局。比如,`display: flex`和`justify-content`可以实现水平居中的表单,而`grid-...

    APP登录form表单html5模板下载

    标题“APP登录form表单html5模板下载”指出,这个资源包含了一个适用于APP登录的HTML5表单模板。HTML5是超文本标记语言的最新版本,它引入了许多新特性,如语义化标签、离线存储、拖放功能、媒体元素等,极大地提升...

    HTML5+CSS3+jQ注册表单 HTML5+CSS3+jQuery注册表单代码下载.zip

    HTML5、CSS3和jQuery是现代网页开发中的核心技术,它们共同构建了丰富的用户体验和动态交互。这个"HTML5+CSS3+jQ注册表单 HTML5+CSS3+jQuery注册表单代码下载.zip"压缩包中包含的代码示例,旨在展示如何使用这些技术...

    html css网页制作成品案例.zip

    CSS布局是网页设计中的关键部分,包括流体布局、响应式设计、网格系统等。其中,Flexbox(弹性盒布局)和Grid(网格布局)是现代CSS布局的两大主流技术。Flexbox可以轻松实现一维布局,如主轴对齐、交叉轴对齐、项目...

    div+css银行提现手机表单代码.zip

    在银行提现表单中,HTML5的`&lt;form&gt;`、`&lt;input&gt;`、`&lt;label&gt;`等标签会被用来构建表单结构,而新的API如FormData和离线存储可能用于处理表单提交和离线工作能力。 综上所述,这个压缩包中的代码很可能包含了一个完整的...

    HTML5+CSS3仿Facebook登录表单在外观功能上很接近.zip

    总结来说,"HTML5+CSS3仿Facebook登录表单"项目涵盖了HTML5的新特性如语义化元素、`placeholder`和`autofocus`属性,以及CSS3的样式选择器、视觉效果、布局系统和交互功能。通过这个项目,开发者可以学习到如何创建...

    APP登录form表单html5模板下载_登录 login form 表单 注册 bootstrap app.zip

    在这个登录form表单模板中,Bootstrap的网格系统可能被用来实现屏幕尺寸适应,确保表单在不同设备上都能良好显示。其预定义的CSS类可以帮助快速设置样式,而JavaScript插件则可以添加交互性,如验证用户输入或显示...

    漂亮Login登陆Form表单html5模板

    【标题】"漂亮Login登陆Form表单html5模板"揭示了这个资源主要是一个设计精美的登录界面,使用了HTML5技术来构建。HTML5是现代网页开发的标准,它提供了更丰富的语义化元素、更好的离线存储功能以及增强的多媒体支持...

    div css手机网站login表单特效.zip

    首先,HTML5是构建网页的基础,提供了更多的语义化元素,如`&lt;form&gt;`、`&lt;input&gt;`、`&lt;label&gt;`等,用于创建表单结构。在登录表单中,通常会包含用户名或邮箱、密码输入框,以及登录按钮。HTML5还引入了新的属性,如`...

Global site tag (gtag.js) - Google Analytics