- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个带有分离标题的自定义表格。这意味着表格行内容可以滚动,而表格标题保持可见。
除了我需要完成的 2 件小事外,我就快完成了。
问题 1:我需要始终保持我的垂直条可见,但是当我的列数超过宽度时,水平滚动条出现并将我的垂直条发送到列的右侧,使其消失:
问题 2:我需要能够扩展最后一列以填充整个宽度,即使还有剩余空间:
我宁愿使用纯 JavaScript,而不是 jQuery。
<p>
Problem 1: How to keep the vertical scrollbar on view
</p>
<div class="container1">
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
<th>Column 5</th>
<th>Column 6</th>
<th>Column 7</th>
<th>Column 8</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
</tbody>
</table>
</div>
<p>
Problem 2: How to make the last cell go full width
</p>
<div class="container2">
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
<th>Column 5</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
</tbody>
</table>
</div>
.container1 table,
.container1 th,
.container1 td {
background-color: white;
padding: 5px;
font-size: 15px;
border: 1px solid black;
border-collapse: collapse;
min-width: 50px;
max-width: 50px;
}
.container1 {
max-width: 100%;
width: 100%;
overflow-x: scroll;
}
.container1 table tbody,
.container1 table thead {
display: block;
}
.container1 table tbody {
overflow-y: scroll;
height: 50px;
}
.container2 table,
.container2 th,
.container2 td {
background-color: white;
padding: 5px;
font-size: 15px;
border: 1px solid black;
border-collapse: collapse;
min-width: 50px;
max-width: 50px;
}
.container2 th:last-child,
.container2 td:last-child {
background-color: yellow;
min-width: 50px;
max-width: 100%;
}
.container2 {
max-width: 100%;
width: 100%;
overflow-x: scroll;
}
.container2 table tbody,
.container2 table thead {
display: block;
}
.container2 table tbody {
overflow-y: scroll;
height: 50px;
}
最佳答案
我使用纯 javascript 做了一个小函数,并对您的 html 进行了轻微修改以包含一个可滚动的 div。
function setWidth(container) {
var
tds = document.querySelectorAll("." + container + " .scroll table tr:first-child td"),
ths = document.querySelectorAll("." + container + ">table tr:first-child th");
for (var i = 0; i < tds.length - 1; i++) {
ths[i].style.width = tds[i].clientWidth - 2 + 'px';
}
}
setWidth("container1");
setWidth("container2");
table {
font-size: 15px;
border-collapse: collapse;
margin: 0 0 -1px 0;
table-layout: fixed;
width: 100%;
}
td, th {
border: 1px solid black;
}
td:last-child,
th:last-child {
width: auto;
}
.scroll {
height: 50px;
overflow-y: scroll;
}
.container2 th:last-child,
.container2 td:last-child {
background-color: yellow;
}
<p>
Problem 1: How to keep the vertical scrollbar on view
</p>
<div class="container1">
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
<th>Column 5</th>
<th>Column 6</th>
<th>Column 7</th>
<th>Column 8</th>
</tr>
</thead>
</table>
<div class="scroll">
<table>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
<td>Data 7</td>
<td>Data 8</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>
Problem 2: How to make the last cell go full width
</p>
<div class="container2">
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
<th>Column 5</th>
</tr>
</thead>
</table>
<div class="scroll">
<table>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
</tr>
</tbody>
</table>
</div>
</div>
关于javascript - CSS 分离头表技巧 : keep verticall scrollbar on screen and last cell go full width,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46437709/
如标题所述,我遇到了两个 using 指令之间引用不明确的问题。 一个是System.Windows.Forms: using System.Windows.Forms; 另一个来自自定义库,Arct
我遇到了 Internet Explorer 中显示滚动条的问题。 我有一个 div,它的内容可以比 div 本身更宽,所以会出现一个水平滚动条。水平滚动条很好,但如果显示水平滚动条,Internet
情况是这样的...... 我正在使用 jQuery/AJAX 将各种 HTML 序列调用到我的主控制面板/网页中。 一些请求返回一个很长的结果,并且需要在弹出框内显示一个滚动条。 当客户关闭最初的长结
我构建了一个控件,为 JavaFX 提供类似 Twitter Bootstrap 导航栏的行为。它基本上由一个 StackPane 和一个背面的 ScrollPane 组成,一个 BorderPane
发现一个奇怪的问题,做了一些谷歌搜索,但没有找到任何有类似问题的人。 简而言之。我在另一个位置固定的 div 中有一个位置固定的 div。在非视网膜上,一切都很好,但在 macbook 视网膜(web
我正在尝试查看 webkit 伪元素的默认 css 值(可能是源代码?),以便我可以创建与默认值非常相似但略有自定义的自定义 webkit 元素。 这些元素是不显示在 DOM 中的影子元素。您可以在
我有以下 CSS 规则: ::-webkit-scrollbar-thumb:vertical:hover { background-color: #666; } 我还想在悬停 webkit-
我的网页有居中的页眉、内容和页脚 div,每个 div 的宽度都是 900 像素。 (关于页眉、内容和页脚,我能提供的唯一其他可能相关的信息是页眉具有固定定位,内容是相对定位的,页脚是绝对定位的。但是
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 去年关闭。 Improve this questio
我的网站在 Chrome 和 Firefox 中都有一个双滚动条(这两种浏览器都是最新的)。我一直在研究网络和 stackoverflow,并尝试遵循 html 元素上的建议选项: html { 溢出
我想更改滚动条的样式,为此我在 css 下方使用,但我想将它用于页面上的特定 div,而不是整个页面。 我如何使用 div 类或 id 自定义它 ::-webkit-scrollbar { w
我正在使用 jScrollPane,只是因为它是 Google 上的第一件事,而且我很累。所以,我首先要说我不反对使用不同的东西。 我有一个 2 列的部分。右列使用 jScrollPane 插件并具有
我正在尝试向 JList(使用自定义数据模型)添加滚动条。添加 JScrollPane 实际上隐藏了 JList,而不是添加滚动条。当我使用滚动条运行代码时,JList 不可见,也看不到数据。 pla
请引用这里的表格。 http://www.funkkopfhoerer-test.com/vergleichstabelle-funkkopfhoerer/ 我正在使用表插件,并在其顶部创建了一个自定
是否可以在scintilla控件的滚动条中标记搜索结果/断点/书签?就像在 Google Chrome 或 JetBrains IDE 中所做的那样。 最佳答案 是的,这是可能的。 首先您必须知道要标
我正在尝试让 javascript 将页面滚动到目标位置,例如: scrollbarxpos += (targetscrollbarxpos - scrollbarxpos) / 100.0f; 基本
我有一个带有 Canvas 和 ScrollBar 的简单 JavaFX 应用程序。Canvas 充当虚拟 Canvas ,其内容可以使用 ScrollBar 滚动。 Canvas 的宽度为 500
我正在尝试实现类似于 Excel 的“无限”滚动能力的功能;因为用户可以滚动到文档的“底部”;但随后继续滚动(使用滚轮或滚动条上的向下箭头),并且为它们生成更多空行。我大部分时间都在工作(使用鼠标滚轮
我有一个奇怪的行为问题: 我在 ScrollView 中有一个 WebView。 WebView 声明如下: let webView = UIWebView(frame:CGRectMake(x,0,
我是一名优秀的程序员,十分优秀!