简单方案:
<tr class="something">
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
我需要为<td>
设置固定宽度。我试过了:
tr.something {
td {
width: 90px;
}
}
另外
td.something {
width: 90px;
}
代表
<td class="something">B</td>
甚至
<td style="width: 90px;">B</td>
但<td>
的宽度仍然相同。
答案 0 :(得分:941)
在Bootstrap 4.0.0中,您无法可靠地使用col-*
类(适用于Firefox,但不适用于Chrome)。
您需要使用OhadR's answer:
<tr>
<th style="width: 16.66%">Col 1</th>
<th style="width: 25%">Col 2</th>
<th style="width: 50%">Col 4</th>
<th style="width: 8.33%">Col 5</th>
</tr>
使用twitter bootstrap 3使用:class="col-md-*"
其中*是宽度的列数。
<tr class="something">
<td class="col-md-2">A</td>
<td class="col-md-3">B</td>
<td class="col-md-6">C</td>
<td class="col-md-1">D</td>
</tr>
使用twitter bootstrap 2使用:class="span*"
其中*是宽度的列数。
<tr class="something">
<td class="span2">A</td>
<td class="span3">B</td>
<td class="span6">C</td>
<td class="span1">D</td>
</tr>
**如果您有<th>
个元素设置宽度,而不是<td>
元素。
答案 1 :(得分:111)
我遇到了同样的问题,我修复了表格,然后指定了我的td宽度。如果你有,你也可以做到。
table {
table-layout: fixed;
word-wrap: break-word;
}
模板:
<td style="width:10%">content</td>
请使用CSS构建任何布局。
答案 2 :(得分:68)
您可以创建col-md-*
并将类应用于td
标记,而不是将colgroup
类应用于行中的每个col
。
<table class="table table-striped">
<colgroup>
<col class="col-md-4">
<col class="col-md-7">
</colgroup>
<tbody>
<tr>
<td>Title</td>
<td>Long Value</td>
</tr>
</tbody>
</table>
演示here
答案 3 :(得分:53)
如果您在表上使用<table class="table">
,则Bootstrap的表类会向表中添加100%的宽度。您需要将宽度更改为自动。
此外,如果表格的第一行是标题行,则可能需要将宽度添加到th而不是td。
答案 4 :(得分:37)
希望这个会帮助别人:
<table class="table">
<thead>
<tr>
<th style="width: 30%">Col 1</th>
<th style="width: 20%">Col 2</th>
<th style="width: 10%">Col 3</th>
<th style="width: 30%">Col 4</th>
<th style="width: 10%">Col 5</th>
</tr>
</thead>
<tbody>
<tr>
<td>Val 1</td>
<td>Val 2</td>
<td>Val 3</td>
<td>Val 4</td>
<td>Val 5</td>
</tr>
</tbody>
</table>
答案 5 :(得分:34)
就我而言,我可以使用min-width: 100px
代替width: 100px
来修复单元格th
或td
。
.table td, .table th {
min-width: 100px;
}
答案 6 :(得分:24)
对于Bootstrap 4,您只需使用类助手:
<table class="table">
<thead>
<tr>
<td class="w-25">Col 1</td>
<td class="w-25">Col 2</td>
<td class="w-25">Col 3</td>
<td class="w-25">Col 4</td>
</tr>
</thead>
<tbody>
<tr>
...
答案 7 :(得分:9)
试试这个 -
<style>
table { table-layout: fixed; }
table th, table td { overflow: hidden; }
</style>
答案 8 :(得分:7)
这个组合的解决方案对我有用,我想要相等宽度的列
<style type="text/css">
table {
table-layout: fixed;
word-wrap: break-word;
}
table th, table td {
overflow: hidden;
}
</style>
结果: -
答案 9 :(得分:4)
在Bootstrap 4.0上,我们必须通过添加类d-flex将表行声明为弹性框,并删除xs,md,suffix以允许Bootstrap自动从视口派生它。
所以它将如下所示:
<table class="table">
<thead>
<tr class="d-flex">
<th class="col-2"> Student No. </th>
<th class="col-7"> Description </th>
<th class="col-3"> Amount </th>
</tr>
</thead>
<tbody>
<tr class="d-flex">
<td class="col-2">test</td>
<td class="col-7">Name here</td>
<td class="col-3">Amount Here </td>
</tr>
</table>
希望这对其他人有帮助!
干杯!
答案 10 :(得分:3)
好的,我只知道问题出在哪里 - 在Bootstrap中设置为width
元素的默认值select
,因此解决方案是:
tr. something {
td {
select {
width: 90px;
}
}
}
其他任何东西都不起作用。
答案 11 :(得分:2)
如果没有页面html或其他CSS的上下文,很难判断。您的CSS规则不会影响td元素的原因可能有很多。
您是否尝试过更具体的CSS选择器,例如
tr.somethingontrlevel td.something {
width: 90px;
}
这可以避免CSS被引导程序css中的更具体的规则覆盖。
(顺便说一句,在带有style属性的内联css示例中,拼写错误的宽度 - 这可以解释为什么尝试失败!)
答案 12 :(得分:2)
我一直在努力解决这个问题,所以以防有人和我犯同样的愚蠢错误......
在<td>
内,我使用了white-space:pre
样式的元素。这使我的所有table / tr / td技巧都被丢弃了。当我删除该样式时,突然我的所有文本都在td
内完美地格式化了。
因此,请务必检查主容器(例如table
或td
),同时检查您是否在某处更深处取消了漂亮的代码:)
答案 13 :(得分:1)
在表格中使用固定的表格布局CSS,并设置td的百分比。
答案 14 :(得分:1)
这是我不必处理IE时经常做的事情
<tr>
<th scope="col" style="width: calc(1 * 100% / 12)">#</th>
<th scope="col" style="width: calc(4 * 100% / 12)">Website</th>
<th scope="col" style="width: calc(3 * 100% / 12)">Username</th>
<th scope="col" style="width: calc(3 * 100% / 12)">Password</th>
<th scope="col" style="width: calc(1 * 100% / 12)">Action</th>
</tr>
这样,您就可以拥有一个熟悉的12列网格。
答案 15 :(得分:0)
Bootstrap 4 和 5 具有用于调整 html 元素宽度的宽度实用程序 示例:
<tr class="w-50">
<td class="w-25">A</td>
...
</tr>
答案 16 :(得分:0)
在Bootstrap表4.x中
如果要在init参数中创建表,而不是使用HTML。
您可以在columns属性中指定宽度参数:
$("table").bootstrapTable({
columns: [
{ field: "title", title: "title", width: "100px" }
]
});
答案 17 :(得分:0)
在bootstarp 4中,您可以在表中使用row
和col-*
,我按如下方式使用
<table class="table">
<thead>
<tr class="row">
<th class="col-sm-3">3 row</th>
<th class="col-sm-4">4 row</th>
<th class="col-sm-5">5 row</th>
</tr>
</thead>
<tbody>
<tr class="row">
<td class="col-sm-3">some text</td>
<td class="col-sm-4">some text</td>
<td class="col-sm-5">some text</td>
</tr>
</tbody>
</table>
答案 18 :(得分:0)
在Bootstrap 4中使用d-flex代替“ tr”的行
问题是“行”类比父容器占用的宽度更大,从而引入了问题。
<table class="table">
<tbody>
<tr class="d-flex">
<td class="col-sm-8">Hello</td>
<td class="col-sm-4">World</td>
</tr>
<tr class="d-flex">
<td class="col-sm-8">8 columns</td>
<td class="col-sm-4">4 columns</td>
</tr>
</tbody>
</table>
答案 19 :(得分:0)
这些都不适合我,并且在数据表上有很多列,以使%或sm类等于引导程序上的12个元素布局。
我正在使用数据表Angular 5和Bootstrap 4,并且表中有许多列。对我来说,解决方案是在TH
中添加具有特定宽度的DIV
元素。例如,对于cols“人名”和“活动日期”,我需要指定一个宽度,然后在col标头中放置一个div
,然后将整个col宽度调整为{{ 1}}:
TH
答案 20 :(得分:0)
使用 .something ,不使用 td 或
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<style>
.something {
width: 90px;
background: red;
}
</style>
</head>
<body>
<div class="container">
<h2>Fixed width column</h2>
<table class="table table-bordered">
<thead>
<tr>
<th class="something">Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>Doe</td>
<td>john@example.com</td>
</tr>
<tr>
<td>Mary</td>
<td>Moe</td>
<td>mary@example.com</td>
</tr>
<tr>
<td>July</td>
<td>Dooley</td>
<td>july@example.com</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
答案 21 :(得分:-1)
<div class="row" id="divcashgap" style="display:none">
<div class="col-md-12">
<div class="table-responsive">
<table class="table table-default" id="gvcashgapp">
<thead>
<tr>
<th class="1">BranchCode</th>
<th class="2"><a>TC</a></th>
<th class="3">VourNo</th>
<th class="4" style="min-width:120px;">VourDate</th>
<th class="5" style="min-width:120px;">RCPT Date</th>
<th class="6">RCPT No</th>
<th class="7"><a>PIS No</a></th>
<th class="8" style="min-width:160px;">RCPT Ammount</th>
<th class="9">Agging</th>
<th class="10" style="min-width:160px;">DesPosition Days</th>
<th class="11" style="min-width:150px;">Bank Credit Date</th>
<th class="12">Comments</th>
<th class="13" style="min-width:150px;">BAC Comment</th>
<th class="14">BAC Ramark</th>
<th class="15" style="min-width:150px;">RAC Comment</th>
<th class="16">RAC Ramark</th>
<th class="17" style="min-width:120px;">Update Status</th>
</tr>
</thead>
<tbody id="tbdCashGapp"></tbody>
</table>
</div>
</div>
</div>