css - 使元素转到绝对定位父级的下一列

标签 css

我的代码中有很多元素。

#relative_float

包含所有内容的蓝色元素必须 float (由于某些原因)并且它的位置是相对的(只是为了帮助包裹绝对定位的元素)。

#absolute
#relative_float 中的灰色元素,包含链接。它的 width 属性是 auto 并且它有一个 min-width

这是我的代码的 CSS:

#relative_float {
  width:100px;
  height:100px;
  background: #99C;
  float:right;
  position:relative;
  right: 200px;
}

#relative_float #absolute {
  min-width: 100px;
  height: 150px;
  background-color: #ddd;
  /*position*/
  position: absolute;
  left: 20px;
  top: 20px;
}

#absolute a {
  display: inline-block;
  width: 100px;
  height: 30px;
  line-height: 30px;
  text-align: center;
}
<section id="relative_float">
  <div id="absolute">
    <a>link1</a>
    <a>link2</a>
    <a>link3</a>
    <a>link4</a>
    <a>link5</a>
    <a>link6</a>
    <a>link7</a>
    <a>link8</a>
    <a>link9</a>
    <a>link10</a>
  </div>
</section>

正如您在 fiddle 中看到的那样,第六个链接和其他链接位于其父链接之外。我需要让他们在结束后转到下一栏。

我尝试了 CSS 3 列,但没有成功。

最佳答案

我认为这可能对您有所帮助...对于每个链接,打开一个不同的 URL。只需使用 -moz-column-count: 2; 通过使用其除以二的列。您设置所需的列数。例如:-moz-column-count: 4;

CSS 代码

#relative_float {
    width: 100px;
    height: 100px;
    background: #99C;
    float: right;
    position: relative;
    right: 200px;
}

#relative_float #absolute {
    -moz-column-count: 2;
    min-width: 100px;
    height: 150px;
    background-color: #ddd;
    /*position*/
    position: absolute;
    left: 20px;
    top: 20px;
}

#absolute a {
    display: inline-block;
    width: 100px;
    height: 30px;
    line-height: 30px;
    text-align: center;
}

HTML代码

 <section id="relative_float">
      <div id="absolute">
        <a href="#">link1</a>
        <a href="#">link2</a>
        <a href="#">link3</a>
        <a href="#">link4</a>
        <a href="#">link5</a>
        <a href="#">link6</a>
        <a href="#">link7</a>
        <a href="#">link8</a>
        <a href="#">link9</a>
        <a href="#">link10</a>
      </div>
    </section>

您使用其他元素来清楚地区分列,例如:

-moz-column-rule-width: 1px;
-moz-column-gap: 40px;
-moz-column-rule-style: solid;
-moz-column-rule-color: lightblue;

关于css - 使元素转到绝对定位父级的下一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793442/

相关文章:

css - 如果恰好有 5 个元素,则使用 CSS 选择所有元素

javascript - 文本在小窗口中加载太大

html - Font Awesome 图标渲染然后消失

jQuery 工具可滚动根元素相对定位而不是绝对定位

javascript - 使用幻灯片动画展开和折叠

css - clearfix 似乎不起作用

html - 如何使元素的内容框适合其内容的字体大小

Javascript,单击所有图像时打印消息

html - 重做div

javascript - HTML类和CSS样式表之间的不理解