首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS/HTML变量容器宽度

CSS/HTML变量容器宽度
EN

Stack Overflow用户
提问于 2014-08-18 13:39:42
回答 2查看 593关注 0票数 1

我有一个表,它有不同宽度的单元格,这些单元格基于用户切换隐藏/显示。我希望容器div与列一起展开。

我正在考虑循环遍历一个$('.row').first().find('.cell'),计算/计算宽度,并像这样设置#container宽度,但我希望有一个更好的解决方案。

在sidenote上,由于.cell div是float: left,所以我是要为.row指定一个高度还是使用display: inline-block

代码语言:javascript
复制
<div id="container">
  <div class="row">
    <div class="sm-cell cell cell-1">1</div>
    <div class="md-cell cell cell-2">2</div>
    <div class="sm-cell cell cell-3">3</div>
    <div class="sm-cell cell cell-4">4</div>
    <div class="sm-cell cell cell-5">5</div>
    <div class="md-cell cell cell-6">6</div>
    <div class="lg-cell cell cell-7">7</div>
  </div> 
  <div class="clear"></div>
</div>

CSS

代码语言:javascript
复制
.clear { clear: both; }

.row {
    margin: 1px 0;
}

.cell {
    float: left;
    text-align: center;
    background: #999999;
    padding: 2px;
}

交互式jsFiddle

http://jsfiddle.net/dboots/uenz4hee/2/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-18 13:44:25

你可以利用display:table

代码语言:javascript
复制
#container {
    display:table;
    background: #DEDEDE;
}


.row {
    display:table-row;
}

.cell {
    display:table-cell;
    float: left;
    text-align: center;
    background: #999999;
    padding: 2px;
    cursor: pointer;
    border-bottom:1px solid #DEDEDE;
}

示例

也意味着你可以摆脱你的清晰的div。

更新

如果您希望在屏幕大小太小时不要将单元格包装起来,则可以使用display:inline-block

代码语言:javascript
复制
#container {
    display:inline-block;
    background: #DEDEDE;
}

.row {
    margin: 1px 0;
    white-space:nowrap;
    font-size:0; /* this is to stop the space between cells */
}

.cell {
    font-size:10px; /* this should be set to your original font-size */
    white-space:normal;
    display:inline-block;
    text-align: center;
    background: #999999;
    padding: 2px;
    cursor: pointer;
}

示例

如果不想使用字体大小黑客,则需要注释掉div.cell之间的空白。

票数 2
EN

Stack Overflow用户

发布于 2014-08-18 14:01:28

我将为每个单元格提供一个inline-block显示:

代码语言:javascript
复制
.cell {
  display:inline-block; /* <--- */
  text-align: center;
  background: #999999;
  padding: 2px;
  cursor: pointer;
}

因此,它的行为类似于文本,并将行设置为nowrap,避免在新行中中断其内容,而是将包含的div手风琴展开到它:

代码语言:javascript
复制
.row {
  margin: 1px 0;
  white-space: nowrap; /* <--- */
}

看看这把小提琴:http://jsfiddle.net/3ofejh58/1/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25364760

复制
相关文章

相似问题

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