使用css中设置的表宽度:100%,使表内容适合宽度
Make table content fit to width with table width: 100% set in css
样品表
<table>
<tr>
<td>Age</td>
<td>12</td>
<td>Gender</td>
<td>Male</td>
<td>Some long label</td>
<td>Some long label value</td>
...
...
could be more...
</tr>
</table>
没有宽度:100%的内容应该适合每个列容器,但我想让表扩展到整个页面。设置表格宽度:100%均匀分布列。我想让每个标签(标签:年龄、性别、一些长标签)适合它的列容器,其余的在它们之间平分(值:12,男性,一些长标签值)。
我知道设置<td width="5%">Age</td>
或在css中设置它应该可以完成这项工作,但我认为这会适得其反,尤其是当你必须对很多列这样做的时候。
有没有一种方法可以用较少的代码在css中实现这一点,比如javascript或jquery?关于如何做到这一点,有任何提示或指示吗?
注:
我读过这篇文章,但我想避免在html中注入width="%"。
可能是colgroup
可以帮助您。试试这个
HTML是:
<table border = "1" cellspacing = "0" cellpadding = "0">
<colgroup>
<col>
<col style="width:40%">
<col>
<col style="width:40%">
</colgroup>
<tr>
<td>Age</td>
<td>12</td>
<td>Gender</td>
<td>Male</td>
</tr>
</table>
如果我正确理解你,这就是你想要的:
table { width: 100% }
td:nth-child(odd) { width: 5% }
或者如果你想让内容被一个单元格"拥抱":
table { width: 100% }
td:nth-child(odd) { width: 1%; white-space: nowrap }
$(function(){
$(window).load(function() {
updateCellWidth()
})
$(window).resize(function() {
updateCellWidth()
})
})
function updateCellWidth() {
var width = 0, cols = 0
$("table td:nth-child(even)").each(function(){
++cols
width += $(this).width()
})
if (cols > 0) {
var evenCellWidth=($("table").width()-width)/cols
$("table td:nth-child(even)").css("width", evenCellWidth + "px")
}
}
你在找这样的东西吗。?
然后border-collapse
、cellspacing
&cellpadding
可能会对您有所帮助。
这就是我想到的。谢谢你的想法。
<style type="text/css">
table {
border-collapse: collapse;
width: 100%;
}
table td {
border: 1px solid #000;
white-space: nowrap;
}
</style>
<body>
<table id="tbl1">
<tr>
<td>Age</td>
<td>12</td>
<td>Gender</td>
<td>Male</td>
<td>Some Long Label</td>
<td>Some Long Label Value</td>
</tr>
</table>
<script type="text/javascript">
var tbl = document.getElementById('tbl1');
var rowCount = tbl.rows.length;
var colCount = tbl.rows[0].cells.length;
for (var i = 0 ; i < colCount; i++) {
if (i%2 == 0) {
tbl.rows[0].cells[i].style.width = tbl.rows[0].cells[i].innerHTML.length + 'px';
}
}
</script>
相关文章:
- 宽度为100%的CSS元素位于视口之外
- 使用css中设置的表宽度:100%,使表内容适合宽度
- CSS主体100%高度,必要时溢出
- 放置100%高度的视频&使用css或javascript的100%宽度
- 使用JavaScript(可能是CSS)在HTML5画布内显示特定宽度/高度的完整图像大小(100%宽度/高度)
- CSS:为什么我有一个100%高度的滚动条
- Css浮动:右100%高度,图像底部对齐
- 按下按钮使$(“身体”).css(“高度”:“100%”)
- 使用CSS旋转元素后使用高度/宽度100%
- JS中的window.innerWidth没有't等于css中的`width:100%`
- 将CSS面板更改为100%宽度会创建跳跃的jQuery滚动
- HTML/CSS高度100%和像素
- 网页(应用程序)布局-设置100%高度(html,css)
- 100%的高度减去nPx通过css或jquery
- 缩放每一行的图像,用JavaScript或CSS 100%填充
- 如何显示只有100行1000从数据库与选项去下一个100和前100在html/php/css/js
- 高度100%的属性不能在css的bootstrap 3中使用
- 保持宽高比为100%高度(CSS中的裁剪溢出)
- CSS - 100%的高度与像素最小高度
- CSS宽度100%在文本区域的边距内