首页 web前端 html教程 Web页面 自定义选择框Select_HTML/Xhtml_网页制作

Web页面 自定义选择框Select_HTML/Xhtml_网页制作

May 16, 2016 pm 04:42 PM
select web

select下拉列表表单可能大家都很熟悉,不过默认的下拉列表表单往往会让一些网站觉得丑陋,同时用CSS也很难调整select的样式。因此许多网站位了做出更符合网站风格的select下拉表单,往往会用JS来模拟这种效果。

比如我们很熟悉的土豆网,淘宝商城和亚马逊都是用JS做的下拉列表表单。

这样做的结果很明显在视觉上与网站整体风格统一,并且下拉列表样式很漂亮,不过也带来了一些不良反应,因为用JS来做的,所以会碰到许多预想不到的效果,下面通过测试者三个网站我们一一来分析他们各自的缺陷:

土豆的搜索类别选择框,每次点击都让我觉得怪怪的:
Web页面 自定义选择框Select_HTML/Xhtml_网页制作

1. 点击后,弹出列表的位置与预期不同。潜意识里是下拉列表,结果土豆给了我一个“中拉列表”。
2. 习惯性地用上/下键选择,结果却让整个页面滚动。
3. 一怒之下,想关闭不用了。按下 ESC 键,却没有任何响应。
4. 禁用 JS 后,完全不可用。

类似,淘宝商城也是看起来很美:
Web页面 自定义选择框Select_HTML/Xhtml_网页制作

除了第 1 点,其它都和土豆一样,可访问性和可用性都存在问题。

解决办法很简单,采用原生的选择框即可,比如 Amazon 的:
Web页面 自定义选择框Select_HTML/Xhtml_网页制作

为什么不鼓励在 Web 页面中使用自定义选择框呢?

Select 选择框是一个非常成熟的交互控件。成熟意味着用户很容易接受,但成熟也意味着对各种用户都考虑很周全,有着非常丰富的交互细节。比如:对 PgUp/PgDn, Home/End 等键盘操作的响应,以及在不同位置能自动调节下拉列表的弹出方向等等。

采用 JS 来模拟选择框,需要大量的工作和细致的测试。即使公司愿意投入,也依旧无法实现原生控件的某些特性。比如:上面 Amazon 的选择框,我把浏览器拉到很矮,这时下拉列表能伸出到浏览器外面去。

为了一丁点“视觉小甜点”,让交互丧失了如此多的实用细节,还得耗费前端程序员的大量时间,结果却费力不讨好,实在是很糟糕。

PS:要使用自定义选择框,得满足以下条件:

1. 像 google 一样疯狂,愿意花费大量时间和资源。
2. 像 google 一样细致,要做就做好,要模拟就模拟透。
3. 在 web app 上应用。

可惜,在国内,像 google 或 facebook 一样疯狂和细致的公司,还没出现。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

jquery如何隐藏select元素 jquery如何隐藏select元素 Aug 15, 2023 pm 01:56 PM

jquery隐藏select元素的方法:1、hide()方法,在HTML页面中引入jQuery库,可以使用不同选择器来隐藏select元素,ID选择器将selectId替换为你实际使用的select元素的ID;2、css()方法,使用ID选择器选择需要隐藏的select元素,使用css()方法将display属性设置为none,并将selectId替换为select元素的ID。

使用golang进行Select Channels Go并发式编程的异步处理方法 使用golang进行Select Channels Go并发式编程的异步处理方法 Sep 28, 2023 pm 05:27 PM

使用golang进行SelectChannelsGo并发式编程的异步处理方法引言:并发式编程是现代软件开发中的一个重要领域,它可以有效地提高应用程序的性能和响应能力。在Go语言中,使用Channels和Select语句可以简单而高效地实现并发编程。本文将介绍如何使用golang进行SelectChannelsGo并发式编程的异步处理方法,并提供具体的

如何使用Golang实现Web应用程序的表单验证 如何使用Golang实现Web应用程序的表单验证 Jun 24, 2023 am 09:08 AM

表单验证是Web应用程序开发中非常重要的一个环节,它能够在提交表单数据之前对数据进行有效性检查,避免应用程序出现安全漏洞和数据错误。使用Golang可以轻松地实现Web应用程序的表单验证,本文将介绍如何使用Golang来实现Web应用程序的表单验证。一、表单验证的基本要素在介绍如何实现表单验证之前,我们需要知道表单验证的基本要素是什么。表单元素:表单元素是指

PHP在Web开发中是属于前端还是后端? PHP在Web开发中是属于前端还是后端? Mar 24, 2024 pm 02:18 PM

PHP在Web开发中是属于后端。PHP是一种服务器端脚本语言,主要用于处理服务器端的逻辑,生成动态网页内容。与前端技术相比,PHP更多地用于与数据库交互、处理用户请求以及生成页面内容等后端操作。接下来通过具体的代码示例来说明PHP在后端开发中的应用。首先,我们来看一个简单的PHP代码示例,用于连接数据库并查询数据:

如何从驾驶舱Web用户界面启用管理访问 如何从驾驶舱Web用户界面启用管理访问 Mar 20, 2024 pm 06:56 PM

Cockpit是一个面向Linux服务器的基于Web的图形界面。它主要是为了使新用户/专家用户更容易管理Linux服务器。在本文中,我们将讨论Cockpit访问模式以及如何从CockpitWebUI切换Cockpit的管理访问。内容主题:驾驶舱进入模式查找当前驾驶舱访问模式从CockpitWebUI启用Cockpit的管理访问从CockpitWebUI禁用Cockpit的管理访问结论驾驶舱进入模式驾驶舱有两种访问模式:受限访问:这是驾驶舱的默认访问模式。在这种访问模式下,您不能从驾驶舱Web用户

web标准是什么东西 web标准是什么东西 Oct 18, 2023 pm 05:24 PM

Web标准是一组由W3C和其他相关组织制定的规范和指南,它包括HTML、CSS、JavaScript、DOM、Web可访问性和性能优化等方面的标准化,通过遵循这些标准,可以提高页面的兼容性、可访问性、可维护性和性能。Web标准的目标是使Web内容能够在不同的平台、浏览器和设备上一致地展示和交互,提供更好的用户体验和开发效率。

jQuery中如何实现select元素的改变事件绑定 jQuery中如何实现select元素的改变事件绑定 Feb 23, 2024 pm 01:12 PM

jQuery是一个流行的JavaScript库,可以用来简化DOM操作、事件处理、动画效果等。在web开发中,经常会遇到需要对select元素进行改变事件绑定的情况。本文将介绍如何使用jQuery实现对select元素改变事件的绑定,并提供具体的代码示例。首先,我们需要使用标签来创建一个包含选项的下拉菜单:

web是什么意思 web是什么意思 Jan 09, 2024 pm 04:50 PM

web是全球广域网,也称为万维网,是互联网的一种应用形式。Web 是一种基于超文本和超媒体的信息系统,它允许用户通过超链接在不同的网页之间跳转,从而浏览和获取信息。Web 的基础是互联网,它使用统一、标准化的协议和语言,使得不同计算机之间能够进行数据交换和信息共享。

See all articles