gpt4 book ai didi

html - 修复了右列表格比例以适应响应式设计

转载 作者:行者123 更新时间:2023-11-27 23:38:57 24 4
gpt4 key购买 nike

我有一个带有右侧固定列的表格,左侧有 8 列带有 x 滚动条。我使用了类似的代码

how do I create an HTML table with fixed/frozen left column and scrollable body?

这在大多数情况下都有效,但是这是在响应式网站上,因此当您缩小页面时,右侧的固定列会推到大约 400 像素,然后开始与左侧的列重叠。在 JSFiddle 示例中,它开始时已经与其他列重叠,因此如果您扩大结果区域的宽度,您可以看到重叠问题。我对 应用了白色背景,但我希望右列只是强制另一列隐藏在滚动中,一直向下到最低浏览器宽度。任何想法!

https://jsfiddle.net/TBankston/5L7jkbfq/

CSS

.page-header {
padding-bottom: 9px;
margin: 40px 0 20px;
border-bottom: 1px solid #eeeeee;
}

.table-responsive {
width: inherit;
margin-bottom: 15px;
overflow-x: scroll;
overflow-y: hidden;
border: 0px solid #dddddd;
margin-right: 8%;
max-width: 85%;
}

.crud-links{
position: absolute;
width: 10em;
right: 40px;
background-color: #ffffff;
}

HTML

<div class="page-header">
<h3>Charity</h3>
</div>
<div class="table-responsive">
<table cellpadding="9">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.ID)
</th>
<th>
@Html.DisplayNameFor(model => model.EventName)
</th>
<th>
@Html.DisplayNameFor(model => model.Organization)
</th>
<th>
@Html.DisplayNameFor(model => model.District)
</th>
<th>
@Html.DisplayNameFor(model => model.Hours)
</th>
<th>
@Html.DisplayNameFor(model => model.Donation)
</th>
<th>
@Html.DisplayNameFor(model => model.TotalValue)
</th>
<th>
@Html.DisplayNameFor(model => model.ModifiedDate)
</th>
<th class="crud-links"> Options</th>
</tr>
</thead>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.EventName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Organization)
</td>
<td>
@Html.DisplayFor(modelItem => item.District)
</td>
<td>
@Html.DisplayFor(modelItem => item.Hours)
</td>
<td>
@Html.DisplayFor(modelItem => item.Donation)
</td>
<td>
@Html.DisplayFor(modelItem => item.TotalValue)
</td>
<td>
@Html.DisplayFor(modelItem => item.ModifiedDate)
</td>
<td class="crud-links">
@Html.ActionLink("Details", "Details", new { id = item.ID })
@if (ViewBag.current_User.CanEdit())
{
<span>|</span>
@Html.ActionLink("Edit", "Edit", new { id = item.ID })
<span>|</span>
@Html.ActionLink("Delete", "Delete", new { id = item.ID })
}
</td>
</tr>
}
</table>
<table>
<tr>

</tr>
</table>
</div>

最佳答案

我用一个可能的答案更新了你的 fiddle :

.page-header {
padding-bottom: 9px;
margin: 40px 0 20px;
border-bottom: 1px solid #eeeeee;
}

@media (max-width: 1300px) {
.table-hover th, .table-hover td {
padding: 9px;
}
.table-responsive {
width: inherit;
max-width: 80%;
margin-bottom: 15px;
overflow-x: scroll;
overflow-y: hidden;
border: 0;
border-right:200px solid transparent;
}

.crud-links{
position: absolute;
overflow:hidden;
width: 191px;
right: 0;
background-color: #ffffff;
}
}

https://jsfiddle.net/5L7jkbfq/12/

主要问题是您在表格本身中混合了以像素为单位的固定尺寸和以百分比为单位的相对尺寸。

在我的解决方案中,我从 html 代码中删除了单元格填充,并使用右边框作为一个小技巧,让您拥有一个带有固定宽度列的响应式宽度框。

关于html - 修复了右列表格比例以适应响应式设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com