瀑布流布局之columns属性

columns 属性是一个速记属性设置列宽和列数。
columns 是 column-width 与 column-count 的简写属性。

在这里插入图片描述

<template>
  <div class="app-container">
    <div class="g-container">
      <div v-for="item in 32" :key="item" class="g-item"></div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {};
  },
  created() {},
  methods: {},
};
</script>

<style lang="scss" scoped>
$count: 32;

@function randomNum($max, $min: 0, $u: 1) {
  @return ($min + random($max)) * $u;
}

@function randomColor() {
  @return rgb(randomNum(255), randomNum(255), randomNum(255));
}

.g-container {
  // columns: 100px 3;  // 每列至少100px 小于则列数相应减少
  column-count: 4;  // 列数
  column-gap: 10px; // 列间距
  padding-top: 0.5vw;
}

.g-item {
  position: relative;
  margin-bottom: 10px;
  break-inside: avoid;  // 防止分割换列
}

@for $i from 1 to $count + 1 {
  .g-item:nth-child(#{$i}) {
    height: #{randomNum(300, 50)}px;
    background: randomColor();

    &::after {
      content: "#{$i}";
      position: absolute;
      color: #fff;
      font-size: 2vw;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
  }
}
</style>


版权声明:本文为wgh4318原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。