jquery - 这是对表格的有效使用吗?有更好的选择吗?

标签 jquery html css

我在网站上有几个页面需要允许用户从颜色列表中选择一种颜色。该列表是从数据库中加载的,并且可以包含任意数量的颜色。控件的确切大小取决于页面。我知道有很棒的插件可供选择颜色,但我是根据设计构建的。 (阅读:我不能使用第三方控件)

我在此处使用表格 (http://jsfiddle.net/Cfj4T/1/) 编写了一个可行的解决方案。这个例子的主要目的是展示我可以通过在容器上设置宽度来改变整个颜色选择的宽度:

div.select-large {
    width: 560px;
}

div.select-small {
    width: 280px;
}

问题是:这是对表格的错误使用吗?有没有一种解决方案可以在“a”标签或 div 元素上使用 css?那会是什么样子?

注意 - 该示例由 angular 生成并复制到 JSFiddle 中,因此不要过度解读“a”标签中的额外属性。

一个地方的所有选项: - 如果有人想看到到目前为止的答案,我已将它们全部放入原始 JSFiddle ( http://jsfiddle.net/Cfj4T/6/ )。他们工作得很好,所以感谢所有人!

最佳答案

不要使用 <table>对于表格数据以外的任何内容。

原因是现在您可以使用现代 CSS 获得表格样式布局的所有好处,并且您的文档在语义上将是正确的,这对于屏幕阅读器等工具非常有用。

用使用 display: table 的元素替换您的表格和表格单元格和 display: table-cell并且您将通过更好的标记获得相同的结果。

这是一个 jsFiddle 示例:http://jsfiddle.net/r9AgB/1/

如果您必须支持不支持 display: table-cell 的旧版浏览器, 在 <a> 上设置百分比宽度元素取决于所需的数量。 CSS 支持小数百分比值 (1.234%)。

关于jquery - 这是对表格的有效使用吗?有更好的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22098845/

相关文章:

javascript - 即使重新选择相同的选项,也会为选择运行更改事件

javascript - 给变量添加引号

javascript - 通过单击按钮从单击复选框触发功能

html - 是否可以在 MAILTO 链接的正文中添加 HTML 链接

html - 如何使中心区域全视口(viewport)高度减去动态高度区域(flexbox)

css - 如何在 css 中忽略字体的内在填充

javascript - 在 ASPX 中将 DateTime 变量从 CodeBehind 抓取到 javascript

html - 如何将调整窗口大小的表行堆叠到一列中?

javascript - 加载时可以单击按钮 #1,然后需要单击按钮 #2 两次。然后按钮 #1 也需要点击两次

html - <select> 标签的 CSS opera 问题