html - CSS:如何将宽度设置为 child 的宽度?

标签 html css

我想做一个横版,比如Quora.com

enter image description here

这是我想出来的

<div class="out-wrapper">
  <div class="inner-wrapper">
    <% 6.times do %>
      <a class="nav-link pull-left" href="#">Nav 1</a>
    <% end  %>
  </div>
</div>

.out-wrapper{
  overflow-x: scroll;
  .inner-wrapper{
    /* width: 600px; */
    .nav-link{
      padding: 10px;
    }
  }
}

演示:http://codepen.io/anon/pen/XJZyog

如果我将宽度设置为一个固定值,我只能创建一个水平滚动

如何在不指定固定值的情况下执行此操作?像 width: overall-width-of-children 所以宽度将自动成为其所有元素的总宽度

最佳答案

如果元素超出右边缘,浏览器会将元素换行,因此父元素的宽度将为 100%(最大)。为避免这种情况,您有两种解决方案:

Use display: inline-block and white-space: nowrap

.out-wrapper {
  overflow-x: scroll;
}
.out-wrapper .inner-wrapper {
  white-space: nowrap;
}
.out-wrapper .inner-wrapper .nav-link {
  display: inline-block;
  padding: 10px;
  letter-spacing: 2em; /* for demonstration */
}
<div class="out-wrapper">
  <div class="inner-wrapper">
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
  </div>
</div>

Use display: table and display: table-cell

.out-wrapper {
  overflow-x: scroll;
}
.out-wrapper .inner-wrapper {
  display: table;
}
.out-wrapper .inner-wrapper .nav-link {
  display: table-cell;
  white-space: nowrap;
  padding: 10px;
  letter-spacing: 2em; /* for demonstration */
}
<div class="out-wrapper">
  <div class="inner-wrapper">
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
    <a class="nav-link" href="#">Nav 1</a>
  </div>
</div>

关于html - CSS:如何将宽度设置为 child 的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28537410/

相关文章:

jQuery .css() 和 css 悬停

html - Bootstrap : Buttons in a row with no gap between

javascript - 检查浏览器宽度并执行一个 Javascript 文件并覆盖另一个 Javascript

javascript - 使用附加时删除引号或包含引号

html - 输入聚焦时不显示 Span

css - 在已编译的 SASS css 文件上处理 merge 冲突的最有效方法是什么?

html - 如何并排制作3个div

javascript - 在表中保存和显示 Cookie

javascript - 函数读取不传递给变量的 JSON 数据

javascript - 数据表日期时间提取分钟并添加 CSS 类