插件官网
下载
npm install vue-masonry --save
全局挂载
main.js中
import {VueMasonryPlugin} from 'vue-masonry';
Vue.use(VueMasonryPlugin)
属性
- item-selector=“.item”- 列表元素 DOM 项目选择器;
- transition-duration="0.3s- 过渡的持续时间;
- column-width=“#test”- 列宽的元素选择器。可以是选择器字符串或数字;
- origin-left=“false”- 设置为默认将元素分组到右侧而不是左侧;
- origin-top=“false”- 默认情况下将元素分组到底部而不是顶部;
- stamp=“.stamp”- 指定在布局中标记哪些元素;
- gutter=“.gutter-block-selector”- 指定[项目元素之间的水平空间]。可以是选择器字符串或数字。
- 将 gutter 设置为 Element 或 Selector String 以使用元素的外部宽度;
- fit-width=“true”- 设置容器的宽度以适合可用的列数;
- horizontal-order=“true”- 布置项目以(主要)保持水平从左到右的顺序;
- stagger=“0.03s”- 错开项目过渡,因此项目一个接一个地逐步过渡。设置为 CSS
时间格式,“0.03s”,或以毫秒为单位的数字,30。 - destroy-delay="0"masonry.destroy()-当容器被销毁时,在卸载砖石之前等待的时间(以毫秒为单位) 。这在页面/路由转换期间很有用,以确保在转换发生时布局是一致的。
实例
<template>
<div>
<div v-masonry transition-duration="0.3s" i tem-selector=".item">
<div v-masonry-tile class="item" v-for="item in blocks" :key="item.id">
<!-- 你要渲染的图片啦,文字一类的代码块 -->
<img :src="item.url" alt="">
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
blocks: [
{
id: 1,
url: 'https://cdn.pixabay.com/photo/2022/07/11/19/51/sea-7315960__340.jpg'
},
{
id: 2,
url: 'https://cdn.pixabay.com/photo/2022/07/07/07/24/clouds-7306684__340.jpg'
},
{
id: 3,
url: 'https://cdn.pixabay.com/photo/2019/07/23/13/51/shepherd-dog-4357790__340.jpg'
},
{
id: 4,
url: 'https://cdn.pixabay.com/photo/2022/07/11/19/51/sea-7315960__340.jpg'
},
{
id: 5,
url: 'https://cdn.pixabay.com/photo/2022/07/11/19/51/sea-7315960__340.jpg'
},
{
id: 6,
url: 'https://cdn.pixabay.com/photo/2019/07/23/13/51/shepherd-dog-4357790__340.jpg'
},
]
}
}
}
</script>
效果
最后
感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!