CSS列数和Chrome错误:如何避免溢出内容被裁剪

lau*_*kok 6 html css column-count

column-count使用时,它似乎裁剪任何溢出的内容.

#columns {
  -webkit-column-count: 1;
  -webkit-column-gap: 10px;
  /*-webkit-column-fill: auto;*/
  -moz-column-count: 1;
  -moz-column-gap: 10px;
  /*-moz-column-fill: auto;*/
  column-count: 1;
  column-gap: 10px;
  /*column-fill: auto;*/
  border: 1px solid red;
  overflow: visible;
}
.pin {
  width: 100%;
  display: inline-block;
  padding: 10px;
  margin-bottom: 5px;
}
Run Code Online (Sandbox Code Playgroud)
<div id="columns">

  <div class="pin">

    <a href="#">
      <span class="onsale">Sale!</span>
      <img src="#.jpg" />
    </a>
    <h3>Product 1</h3>
    </a>
  </div>

</div>
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

我有什么想法可以解决这个问题?

编辑1:

现在看来,这是一个错误Chrome浏览器.

它在Firefox上很好:

在此输入图像描述

编辑2:

span.onsale {
    min-height: 3.236em;
    min-width: 3.236em;
    padding: .202em;
    font-size: 1em;
    font-weight: 700;
    position: absolute;
    text-align: center;
    line-height: 3.236;
    top: -.5em;
    left: -.5em;
    margin: 0;
    border-radius: 100%;
    background-color: $highlight;
    color: $highlightext;
    font-size: .857em;
    -webkit-font-smoothing: antialiased;
}
Run Code Online (Sandbox Code Playgroud)

ant*_*129 9

添加transform: translateZ(0);到您.pin的启用硬件加速作为解决方法.


dip*_*pas 1

我不确定你是如何设计的,.onsale 所以我按照自己的方式设计。

如果你使用position:relativein.pin然后position:absolute你就可以达到你想要的。

更新:问题是webkit-column-count:1在 Chrome 中,因为有1或没有是相同的,只需将其删除并使用另一种技术,该技术将允许您通过.onsale使用position:absolute

#columns {
 
  border: 1px solid red;
  
}
.pin {
  width: 100%;
  display: inline-block;
  padding: 10px;
  margin-bottom: 5px;
  position: relative
}
.onsale {
   min-height: 3.236em;
    min-width: 3.236em;
    padding: .202em;
    font-size: 1em;
    font-weight: 700;
    position: absolute;
    text-align: center;
    line-height: 3.236;
    top: -.5em;
    left: -.5em;
    margin: 0;
    border-radius: 100%;
    background-color: lightgreen;
    color: white;
    font-size: .857em;
    -webkit-font-smoothing: antialiased;
}
Run Code Online (Sandbox Code Playgroud)
<div id="columns">
  <div class="pin">
    <a href="#">
      <span class="onsale">Sale!</span>
      <img src="//placehold.it/300x300" />
    </a>
    <h3>Product 1</h3>
  </div>
  <div class="pin">
    <a href="#">
      <span class="onsale">Sale!</span>
      <img src="//placehold.it/300x300" />
    </a>
    <h3>Product 2</h3>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)