整洁/波旁威士忌响应自动排



Bourbon/Neart有一个整洁的功能,可以提供自动行(http://neat.bourbon.io/examples/)但我无法让这个功能变得有响应性。在我的示例中,大屏幕使用4列,中等屏幕使用3列。4列布局显示得很好,每4个div都会换行到一行。当我到达媒体查询点时,布局会破裂。div意外换行。

sass:

@import bourbon/bourbon
@import neat/neat
$medium-screen: new-breakpoint(max-width  992px 12)
.content
  border: 1px solid blue
  .child
    +span-columns(3)
    +omega(4n)
    border: 1px solid red    
    +media($medium-screen) 
      +span-columns(4)
      +omega(3n)
      border: 1px solid green    

一些示例html:

<head>
    <meta charset="utf-8" />
    <!-- Standard Meta -->
    <link rel="stylesheet" type="text/css" href="sass.css">
</head>
<body>
    <div class="content">
        <div class="child">child1</div>
        <div class="child">child2</div>
        <div class="child">child3 <br> foo </div>
        <div class="child">child4  </div>
        <div class="child">child5</div>
        <div class="child">child6</div>
        <div class="child">child7</div>
        <div class="child">child8</div>
        <div class="child">child9</div>
        <div class="child">child10</div>
    </div>
</body>
</html>

有人知道"自动"行功能何时可以用于媒体查询吗?如果知道,如何使用?

问题来自于清除浮点数的整洁方法。

当你超过992px时,Neat使用这个CSS:

.content .child:nth-child(4n+1) {
  clear: left;
}

当你在992px以下时,它会使用这个CSS:

@media screen and (max-width: 992px) {
  .content .child:nth-child(3n+1) {
    clear: left;
  }
}

Neat不会"取消".content .child:nth-child(4n+1)上的clear: left。然后,第4个元素上有一个clear: left,第5个元素上也有。为了避免这个问题,您需要将每个+omega()封装在它自己的媒体查询中。

下面是一个解决问题的Sass示例:

@import bourbon/bourbon
@import neat/neat
$large-screen: new-breakpoint(min-width  993px 12)
$medium-screen: new-breakpoint(max-width  992px 12)
.content
  border: 1px solid blue
  .child  
    +span-columns(4)
    border: 1px solid green  
    +media($medium-screen) 
      +omega(3n)
    +media($large-screen) 
      +span-columns(3)
      +omega(4n)
      border: 1px solid red  

您可以使用它来解决问题;

https://github.com/joshfry/omega-reset-for-bourbon-neat/tree/master/dist

相关内容

  • 没有找到相关文章