首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >停止包装浮动div

停止包装浮动div
EN

Stack Overflow用户
提问于 2011-04-11 10:56:40
回答 5查看 119K关注 0票数 88

我想要有一行div(单元格),如果浏览器太窄而无法容纳它们,它们就不会换行。

我已经搜索了Stack,但找不到一个我认为应该是一个简单的css问题的有效答案。

单元格具有指定的宽度。但是,我不想指定行的宽度,宽度应该自动为其子单元格的宽度。

如果视区太窄,无法容纳行,那么div应该会溢出滚动条。

请提供你的答案作为工作代码片段,因为我已经尝试了很多我在其他地方看到的解决方案(比如指定宽度: 100%,但它们似乎不起作用)。

我正在寻找一个超文本标记语言/CSS唯一的解决方案,没有JavaScript。

代码语言:javascript
复制
.row {
  float: left;
  border: 1px solid yellow;
  width: 100%;
  overflow: auto;
}
.cell {
  float: left;
  border: 1px solid red;
  width: 200px;
  height: 100px;
}
代码语言:javascript
复制
<div class="row">
  <div class="cell">a</div>
  <div class="cell">b</div>
  <div class="cell">c</div>
</div>

目前,我实际上正在将行的宽度硬编码为一个非常大的数字。

EN

回答 5

Stack Overflow用户

发布于 2012-06-13 09:11:14

CSS属性display: inline-block就是为满足这一需求而设计的。你可以在这里读到一些关于它的内容:http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/

下面是一个使用它的例子。关键元素是row元素具有white-space: nowrap,而cell元素具有display: inline-block。这个示例应该可以在大多数主要浏览器上运行;此处提供了兼容性表:http://caniuse.com/#feat=inline-block

代码语言:javascript
复制
<html>
<body>
<style>

.row {
    float:left;
    border: 1px solid yellow;
    width: 100%;
    overflow: auto;
    white-space: nowrap;
}

.cell {
    display: inline-block;
    border: 1px solid red;
    width: 200px;
    height: 100px;
}
</style>

<div class="row">
    <div class="cell">a</div>
    <div class="cell">b</div>
    <div class="cell">c</div>
</div>


</body>
</html>
票数 111
EN

Stack Overflow用户

发布于 2011-07-10 06:29:29

您希望在行上定义min-width,这样当浏览器调整大小时,它不会低于该值并进行换行。

票数 33
EN

Stack Overflow用户

发布于 2014-10-31 22:58:41

在阅读了John的答案后,我发现以下方法似乎对我们有效(不需要指定宽度):

代码语言:javascript
复制
<style>
.row {
    float:left;
    border: 1px solid yellow;
    overflow: visible;
    white-space: nowrap;
}

.cell {
    display: inline-block;
    border: 1px solid red;
    height: 100px;
}
</style>

<div class="row">
    <div class="cell">hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello </div>
    <div class="cell">hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello </div>
    <div class="cell">hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello </div>
</div>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5616360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档