- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含两行标题的表格。我想设置第二行中一些 列的宽度。我设置了一个 Codepen测试一下。我发现如果我删除第一行标题,它会毫无问题地采用我指定的列宽。但是对于第一行标题,它忽略了第二行中列的宽度。 :(
请注意,我在 th
中有 div
,因此我可以设置边框样式。
代码如下:
body {
padding: 10px;
}
.data-table {
width: 100%;
border-spacing: 0 4px;
border-collapse: separate;
table-layout: fixed;
}/* Remove For SCSS*/
.title-11, .title-21 {
width: 40px;
}
.title-22 {
width: 100px;
}
.title-24 {
width: 100px;
}
thead tr th {
border-collapse: separate;
border-spacing: 0 5px;
}
.title {
/*
background: linear-gradient(to right, transparent 0%, #bbb 0%,
#bbb calc(100% - 10px),
transparent calc(100% - 10px)) 0 99% / 100% 1px
no-repeat;
*/
text-align: left;
padding-right: 10px;
}
.div-title {
border-bottom: 1px solid #bbb;
}
.hdr-field {
width: 150px;
}
tr .title:last-child {
padding-right: 0;
}
.side-title {
transform: rotate(-90deg);
width: 25px;
}
.fieldname {
width: 130px;
}
.fieldvalue.dest-data input[type=text] {
width: 100%;
}
.bodySection {
border-bottom: 10px solid #bbb;
margin-bottom: 10px;
}
tr {
// border-bottom: 10px solid #bbb;
}
/*}*//* For SCSS*/
<table class="data-table">
<thead>
<tr>
<th class="title-11"></th>
<th colSpan="2" class="title title-12">
<div class="div-title">Source</div>
</th>
<th colSpan="2" class="title title-13">
<div class="div-title">Destination</div>
</th>
</tr>
<tr>
<th class="title-21"></th>
<th colSpan="1" class="fieldname title title-22">
<div class="div-title hdr-field">Field</div>
</th>
<th colSpan="1" class="title title-23">
<div class="div-title">Value</div>
</th>
<th colSpan="1" class="fieldname title title-24">
<div class="div-title hdr-field">Field</div>
</th>
<th colSpan="1" class="title title-25">
<div class="div-title">Value</div>
</th>
</tr>
</thead>
<tbody class="bodySection">
<tr>
<td rowSpan="2" class="side-title">Name</td>
<td class="fieldname src-data">Short Name</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Short Name</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store" /></td>
</tr>
<tr>
<td class="fieldname src-data">Long Name</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Long Name</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store" /></td>
</tr>
</tbody>
<tbody class="bodySection">
<tr>
<td rowSpan="2" class="side-title">Name2</td>
<td class="fieldname src-data">Short Name2</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Short Name2</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store2" /></td>
</tr>
<tr>
<td class="fieldname src-data">Long Name2</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Long Name2</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store2" /></td>
</tr>
</tbody>
</table>
所以只是澄清一下:问题是如何使 Field 列固定宽度,同时让 Value 列找到自己的级别。
谢谢。
最佳答案
我不太明白为什么和如何计算表格布局,因为the algorythm seems pretty complex .
但是,您可以通过使用良好的 ol'<colgroup>
来实现所需的布局。 .在 HTML4 spec | Calculating column width 中有一些不太难理解的关于如何使用它们的信息。 .请注意,这也适用于新规范(未弃用 col 和 colgroup)。
把这个放在 <table>
之间和 <thead>
在你的 fiddle 中:
<colgroup>
<col>
<col width="150">
<col>
<col width="150">
<col>
</colgroup>
body {
padding: 10px;
}
.data-table {
width: 100%;
border-spacing: 0 4px;
border-collapse: separate;
table-layout: fixed;
}/* Remove For SCSS*/
.title-11, .title-21 {
width: 40px; /* Wont be applied */
}
.title-22 {
width: 100px; /* Wont be applied */
}
.title-24 {
width: 100px; /* Wont be applied */
}
thead tr th {
border-collapse: separate;
border-spacing: 0 5px;
}
.title {
/*
background: linear-gradient(to right, transparent 0%, #bbb 0%,
#bbb calc(100% - 10px),
transparent calc(100% - 10px)) 0 99% / 100% 1px
no-repeat;
*/
text-align: left;
padding-right: 10px;
}
.div-title {
border-bottom: 1px solid #bbb;
}
.hdr-field {
width: 150px;
}
tr .title:last-child {
padding-right: 0;
}
.side-title {
transform: rotate(-90deg);
width: 25px;
}
.fieldname {
width: 130px;
}
.fieldvalue.dest-data input[type=text] {
width: 100%;
}
.bodySection {
border-bottom: 10px solid #bbb;
margin-bottom: 10px;
}
tr {
// border-bottom: 10px solid #bbb;
}
/*}*//* For SCSS*/
<table class="data-table">
<colgroup>
<col width="40">
<col width="100">
<col>
<col width="100">
<col>
</colgroup>
<thead>
<tr>
<th class="title-11"></th>
<th colSpan="2" class="title title-12">
<div class="div-title">Source</div>
</th>
<th colSpan="2" class="title title-13">
<div class="div-title">Destination</div>
</th>
</tr>
<tr>
<th class="title-21"></th>
<th class="fieldname title title-22">
<div class="div-title hdr-field">Field</div>
</th>
<th class="title title-23">
<div class="div-title">Value</div>
</th>
<th class="fieldname title title-24">
<div class="div-title hdr-field">Field</div>
</th>
<th class="title title-25">
<div class="div-title">Value</div>
</th>
</tr>
</thead>
<tbody class="bodySection">
<tr>
<td rowSpan="2" class="side-title">Name</td>
<td class="fieldname src-data">Short Name</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Short Name</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store" /></td>
</tr>
<tr>
<td class="fieldname src-data">Long Name</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Long Name</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store" /></td>
</tr>
</tbody>
<tbody class="bodySection">
<tr>
<td rowSpan="2" class="side-title">Name2</td>
<td class="fieldname src-data">Short Name2</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Short Name2</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store2" /></td>
</tr>
<tr>
<td class="fieldname src-data">Long Name2</td>
<td class="fieldvalue src-data"My Store/td>
<td class="fieldname dest-data">Long Name2</td>
<td class="fieldvalue dest-data"><input type="text" value="My Store2" /></td>
</tr>
</tbody>
</table>
关于html-table - thead 中的两行,无法在第二个中设置列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48715187/
我正在研究 Bootstrap 4 中的表格。我不知道为什么不应用台灯类中的背景颜色。这是因为台灯无法覆盖暗灯吗?如果是真的,你能告诉我是什么让 thead-dark 优先于此吗?如果不是我想的,请为
我有两种情况,使用和不使用 的 HTML 脚本显示不同。标签。 场景 1:(带有 标签) HTML PAGE
谁能告诉我 while(thead != NULL) 和 while(thead->next !=NULL) 之间的区别是什么,因为遍历列表 thead != NULL 不工作,而 thead->ne
我有以下问题:我的 table 有大头(3 行)。我想修复thead 和tbody 滚动。我用jquery 但是当我向下滚动时,边框消失了。 $(document).ready(function()
我已将以下 CSS 应用于我的表格。 thead, tbody { display: block; } tbody { height: 200px; overflo
这个问题在这里已经有了答案: How to set tbody height with overflow scroll (16 个答案) 关闭 5 年前。
我希望我的表格具有固定的 thead 和可滚动的 tbody。我对其应用了以下 CSS: thead, tbody { display: block; } tbody { height:
我想使用 Christian Bach's tableSorter client-side table sorting jQuery plugin使用我的 asp.Net GridView 控件。 但
我正在开发一个 react - rails 应用程序,但我的控制台中一直出现此错误: ``` Warning: validateDOMNesting(...): cannot appear as a
好的,长篇短篇小说。我有一个结构如下的表: longer Heading with a width of 100% cell 1cell 2 cell 3cell 4 而且我希望 th 是
我正在使用Datatables对我拥有的数据表进行排序/过滤。我希望能够在标题中对两者进行排序和过滤,但是,单击过滤器会使表排序,然后过滤器选择不会保持打开状态。 我这里有一个演示:http://co
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
是否可以使用 javascript 将第一行移动到 中?标签? Server Name Network Zone Operational
我有一些 JavaScript 可以将点击的第 th 个元素的类切换为“升序”或“降序”。 问:在 css 中,如何显示与 .ascending 或 .descending 关联的 jQuery-UI
所以我能够创建一个粘性标题表并且它工作正常。问题是我需要制作另一个带有多行标题的表格,而我目前使用的方法不起作用,正如您在下面的代码中看到的那样。 .table-wrapper { positio
几乎有了 - 用动态数据描绘一个表格 - 这可以右对齐表格中的日期和数字列但更重要的是我还想右对齐相应 中的标签列柱子。如果我了解幕后情况,下面的这个方法一次一行,如果有匹配,它适用 text-al
我有以下内容: Document Date Buy-from Vendor No.
使用 thead 而不是仅仅使用 td 有什么好处?如果有好处... 最佳答案 HTML 中的 thead、tbody 和 tfoot 元素用于根据内容将表行分组到逻辑部分。您这样做的主要原因有两个:
我有一个数组: let headers = [ { title: 'First Name', style: 'bold' }, { title: 'Last Name', style:
我目前正在尝试编写一个实现以下功能的函数: 按随机顺序从“消息”列表中获取所有消息,同时确保没有重复的消息。 在延迟 1 - 10 秒范围内的随机秒数后打印它们。 所有线程完成后,打印字符串“打印完成
我是一名优秀的程序员,十分优秀!