html - 如何根据表格中列的数量应用不同的样式

标签 html css

我有不同的表,它们很相似,但唯一的区别是它们可能有不同的列。 我想定义一种样式,如果列数为 2,则第一个 td 的宽度为 80%,第二个 td 的宽度为 105。如果表格有三列,则它们的宽度应为 45%、45% 和10% 等等。

我如何在 CSS 中做到这一点?如果在 CSS 中做不到,我怎么能在 JQuery 中做呢?

最佳答案

据我所知,这不能仅使用 CSS,因为您需要计算百分比并检测列数。

我设置了a fiddle使用 jQuery 示例,假设每行的列数相同(未使用 colspan)。这是我的做法:

var cols       = $('table tr:first td').size(),
    width      = 90 / cols,
    last_width = 10;

$('table td').css('width', width + "%");
$('table tr > td:last-child').css('width', last_width + "%");
​

使用的变量是列数、最后一列的大小和其他列的大小(列数占宽度的 90%)。然后我们将结果宽度应用于所有单元格,并将最后一列宽度应用于每行的最后一个单元格。

关于html - 如何根据表格中列的数量应用不同的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11447594/

相关文章:

css - 为什么断字在这里不起作用?

javascript - 在鼠标悬停时触发 'further information' div(有重叠)

html - 在 div 内垂直居中 div

javascript - 监控 JavaScript 输出,例如 console.log()

javascript - 检测子组件外部点击的简单方法

javascript - 如何用 jQuery 替换 innerHTML?

database - Google Chrome 应用程序的 Google Chrome 数据库的大小限制是多少?

jquery - 如何获取选定的单选按钮值?

javascript - 如果 Canvas 太大, Canvas 的滚动功能

html - 使 div 可缩放并保留其图像大小