css div溢出和动态水平尺寸

发布于 2024-07-15 13:56:29 字数 1557 浏览 9 评论 0原文

我有一个网页,显示大量表格数据,每个表格都需要放置在一条水平线上。 我在下面模拟了一个例子:

<html>
<style>
  .outer{width:300px;height:300px;overflow: scroll;}
  .inner{white-space: nowrap;}
  .inline{float: left;}
</style>
<body>
<div class="outer">
    <div class="inner">
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
    </div>
</div>
</body>
</html>

我遇到了内部 div 包裹表格 div 的问题,除非我将其设置为具有较大的宽度,例如 4000px。 有没有一种好的方法可以让所有表格保持内联,即使它们超过了外部 div 的大小,仅使用 css ?

I have a web page that shows lots of tabular data and each of these tables needs to be placed on one horizontal line. I have mocked up an example below:

<html>
<style>
  .outer{width:300px;height:300px;overflow: scroll;}
  .inner{white-space: nowrap;}
  .inline{float: left;}
</style>
<body>
<div class="outer">
    <div class="inner">
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
        <div class="inline"><table><tr><td>stuff</td></tr></table></div>
    </div>
</div>
</body>
</html>

I am having problems that the inner div wraps the table divs unless I set it to have a large width such as 4000px. Is there a nice way of keeping all of the tables inline even if they exceed the size of the outer div with just css?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

翻了热茶 2024-07-22 13:56:29

.inline{float: left;} 更改为 .inline{display:inline-block;}

http://jsfiddle.net/QLe5r/

Change .inline{float: left;} to .inline{display:inline-block;}

http://jsfiddle.net/QLe5r/

2024-07-22 13:56:29

我们这个属性:

white-space:nowrap;

Us this property:

white-space:nowrap;
撧情箌佬 2024-07-22 13:56:29

这是因为 float: left 在 div 上“内联”。 相反,使用 display: inline-block(我认为对于 IE 也使用 display: inline。检查一下)。

This is because the float: left on divs "inline". Instead uses display: inline-block, (and display: inline for IE, I think. Check).

绻影浮沉 2024-07-22 13:56:29

为什么在地球上有大量的 div 里面有大量的表格?!? 这违背了使用表格存储表格数据的目的...当您处理表格数据时,您应该只使用表格...而不是应用无用的组合。

只需使用一张表格,并在每次需要添加更多数据时使用 stuff...td 无论如何都是基于水平的,因此您甚至不必费心使用 css让它延长。

Why on EARTH do you have tons of tables inside tons of divs?!? That defeats the purpose of using tables for tabular data...when you are doing tabular data you should just use tables...not apply useless combinations.

Simply use one table and use <td>stuff</td> each time you have more data to add...td's are horizontal based anyway so you wouldn't even have to bother with css to have it extend.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文