gpt4 book ai didi

css - 在 HTML/CSS 中禁用垂直溢出

转载 作者:太空狗 更新时间:2023-10-29 15:49:58 26 4
gpt4 key购买 nike

目前我正在学习 HTML/CSS,我想创建一个 Windows 8 风格(metro 风格)的博客。但是我在禁用 overflow-y 时遇到了问题。我正在使用 <body> 中的表格具有固定大小的每个表数据的 html。但是每当我在表格的一行中添加一个单元格时,如果该行在 x 方向溢出,该单元格会自动跳下。

有没有办法避免这种情况?

这是我的代码的一部分:

CSS:

/***Creating the dashboard in metro style***/
.dashboard {
position: fixed;
top: 10.5em;
left: 0;
padding-top: 1em;
padding-left: 1em;
padding-bottom: 1em;
border: 5px solid white;
overflow-x: scroll;
overflow-y:hidden;
}

td {
border: 3px solid yellow;
float: left;
margin: 0;
color: black;
width: 300px;
font-size: 1.5em;
cursor: pointer;
position: relative;
background-color: white;
}

.tile-1{
background-color: #56d9c9;
color: white;
}

HTML:

<div class="dashboard">
<table style="border: 1px solid red">
<tr>
<td><p>I just got you babe 1</p></td>
<td><p>I just got you babe 2</p></td>
<td><p>I just got you babe 3</p></td>
<td><p>I just got you babe 4</p></td>
<td><p>I just got you babe 5</p></td>
<td><p>I just got you babe 6</p></td>
</tr>

<tr>
<td><p>I just got you babe 7</p></td>
<td><p>I just got you babe 8</p></td>
<td><p>I just got you babe 9</p></td>
<td><p>I just got you babe 10</p></td>
<td><p>I just got you babe 11</p></td>
<td><p>I just got you babe 12</p></td>
</tr>

<tr>
<td><p>I just got you babe 13</p></td>
<td><p>I just got you babe 14</p></td>
<td><p>I just got you babe 15</p></td>
<td><p>I just got you babe 16</p></td>
<td><p>I just got you babe 17</p></td>
<td><p>I just got you babe 18</p></td>
<td><p>I just got you babe 19</p></td>
<td><p>I just got you babe 20</p></td>
</tr>
</table>
</div>

最佳答案

您所追求的是类似表格 的布局,而不是真正的表格。表格用于表格数据,而不用于布局。

话虽如此,您可以在不破坏水平滚动的情况下轻松添加更多 block ,而无需对您的思维布局进行太多更改。这是一个例子:

演示:http://jsfiddle.net/abhitalks/HSE4e/2/

HTML:

与您的布局保持相似,唯一的区别是您拥有 div 而不是表格、行和单元格。

<div class="wrap">                      <!-- wrapper to contain the layout -->
<div class="table"> <!-- this holds your blocks and scrolls -->
<div class="row"> <!-- this allows you multiple rows -->
<div class="content"></div> <!-- actual content -->
<div class="content"></div>
</div>
<div class="row">
<div class="content"></div> <!-- by having rows, -->
<div class="content"></div> <!-- you can have differing number of.. -->
<div class="content"></div> <!-- ..content blocks in each row -->
</div>
...
</div>
</div>

CSS:

* {
margin: 0; padding: 0; box-sizing: border-box; /* reset */
}
html, body {
overflow: hidden;
width: 100%; /* restrict the page width to viewport */
}
.wrap {
width: 100%; height: 200px; /* restrict width to viewport */
overflow-y: hidden; /* hide vertical scrollbar */
overflow-x: scroll; /* show only horizontal scrollbar */
}
.table {
width: 1000px; /* arbitrarily high width to allow scroll */
height: 100%; /* restrict height to the container */
}
.row {
margin: 8px 8px; /* visually separate rows */
}
.content {
display: inline-block; /* make content blocks flow inline */
width: 100px; height: 50px; /* any height/width you want */
margin: 0px 8px; /* visually separate content blocks */
}

因此,使用与您相同的心智模型,只考虑 CSS 而不是表格。

通过这种安排,您可以在每一行中拥有不同数量的内容 block 。您可以在可用高度中容纳尽可能多的行。

使用 Javascript,您还可以处理鼠标滚轮,以水平滚动。

关于css - 在 HTML/CSS 中禁用垂直溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24243961/

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