Web应用程序总是总是利用表单来处理数据录入区域间的关系?

  “[输入框]10应当符合逻辑地划分为小组,这样大脑就可以很好的处理大堆区域间的关系。”– 《HTML权威指南》

  Web 应用程序总是利用表单来处理数据录入和配置,但并不是所有的表单都保持一致。输入区域的对齐方式,各自的标签(label),操作方式,以及周围的视觉元素都会或多或少影响用户的行为。

  表单布局

  考虑到用户完成表单填写的时间应当尽可能的短,并且收集的数据都是用户所熟悉的(比如姓名、地址、付费信息等),垂直对齐的标签和输入框可以说是最佳的。每对标签和输入框垂直对齐给人一种两者接近的感觉,并且一致的左对齐减少了眼睛移动和处理时间。用户只需要往一个方向移动:下。

  CSS教程:网页表单设计技巧1

  在这种布局中,推荐使用加粗的标签,这可以增加它们视觉比重,提高其显著性。如果不加粗的话,从用户的角度讲,标签和输入框的文字几乎就一样了。

  如果一个表单上的数据并不为人熟悉或者在逻辑上分组有困难(比如一个地址的多个组成部分),左对齐的标签可以很容易的通览表单的信息。用户只需要上下看看左侧一栏标签就可以了,而不会被输入框打断思路。但这样一来,标签与其对应的输入框之间的距离通常会被更长的标签拉长,可能会影响填写表单的时间。用户必须左右来回的跳转目光来找到两个对应的标签和输入框。

  CSS教程:网页表单设计技巧2

  css子元素父元素_表单元素css_css块元素变行内元素

  于是产生了一种替代的方案,标签右对齐布局,使得标签和输入框之间的联系更紧密。然而结果是左边参差不齐的空白和标签让用户很难快速检索表单要填写的内容。在西方国家,人们习惯于从左至右的书写,所以这种右对齐的布局就给用户造成了阅读障碍。

  CSS教程:网页表单设计技巧3

  借助可视化元素

  由于“标签左对齐布局”的优点(方便检索并且减少垂直高度),尝试纠正它的主要缺点(标签和输入框的分离)就很诱惑人。

  一个方案就是增加背景色和分割线,不同的背景色产生了一列垂直的标签和一列垂直的输入框,每一组标签和输入框利用清晰的水平线分开。虽然这听上去不错,但是还是会存在问题。

  对比之前的形态(用户主观的视觉区分),这增加了15个视觉元素:中间线、一个个有背景色的单元格以及一条条的水平线。这些元素会转移用户的视线,让用户难以聚焦到一些重要的元素上表单元素css,比如标签和输入框。 正如 Edward Tufte 指出的:“信息本身存在差异,必然产生感官上的不同。”换句话说,任何对布局无用的视觉元素都会不断地扰乱布局。当你试着浏览左侧的标签就可以发现,你的视线总是被打断,停下来想那些水平线、单元格和背景颜色。

  表单元素css_css子元素父元素_css块元素变行内元素

  CSS教程:网页表单设计技巧4

  当然这并不意味着放弃背景色和线条。它们对于划分相关区域信息还是很有效的。比如一条细水平线或者一个浅浅的背景色,都可以从视觉上组合相关数据。背景色和线条对于区分表单的主要操作按钮尤其有效。

  CSS教程:网页表单设计技巧5

  主次操作

  一个表单的主要操作(通常是“提交”或“保存”)需要一个比较强的视觉比重(在上面的例子里用了亮色调、粗字体、背景色等等)。这相当于给用户一个提示:您已/即将完成填写表单。

  当一个表单有多个操作表单元素css,比如“继续”和“返回”,那有必要减轻次要操作的视觉重量。这可以最小化用户潜在的操作错误的风险。

  CSS教程:网页表单设计技巧6

  虽然以上内容可以更好的让你设计表单,但是组合布局、可视化元素以及内容,仍然需要经过用户的测试以及数据分析(完成度评估、错误报告等)。
  1、对伪类的支持。IE6和更低的版本对于伪类的支持仅限于a标签,诸如“:hover”、“:active”、“:focus”之类的伪类理论上是应该适用于所有元素的,但是IE6和更低版本抛弃了它们。这次IE7有选择地支持了“:hover”。

  div:hover {

  background-color: #B7B7B7;

  }

  诸位可以试试。

  2、对子选择器的支持。现在在IE7里你可以使用如下的定义:

  #block1 > h3 {

  color: red;

  }

  3、对相邻选择器的支持。你可以指定同一父元素下的紧邻某个元素之后的元素的样式

  * p {

  css子元素父元素_css块元素变行内元素_表单元素css

  color: Blue;

  }

  4、对相邻选择器的扩展(?也许是bug),IE7支持“ html”这样的通用选择器和相邻选择器的组合,注意,这里是“ html”,很奇怪吧? FF2.0和其他浏览器是不支持这样的写法的,不过都支持“ body”这样的。所以,对IE7的CSS HACK就可以利用 html来写了。

  5、对属性选择器的支持。支持了

  a[rel="nofollow"]

  [class="ie7"]

  a[rel~="my"]

  这几个属性选择器,但是还是不支持a[titile]。

  选择器在平时的应用里很少用到,有一种说法是渲染会比其他的慢。不过很多选择器的效果在这之前是只能使用js来实现的,相对于js,css似乎更加有效率一些。

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1983
0 评论
641

发表评论

!