当前位置: 首页 > wzjs >正文

宣传网站怎么做的aso优化{ }贴吧

宣传网站怎么做的,aso优化{ }贴吧,梧州百度,收银会员卡管理系统瀑布流 1. 解释2. 形成结构和样式3. 自定义指令 1. 解释 瀑布流特征: 等宽不等高:元素宽度固定,高度根据内容自适应。错落排列:元素像瀑布一样从上到下依次填充,自动寻找最短列插入 体现:图中第一排1&…

瀑布流

    • 1. 解释
    • 2. 形成结构和样式
    • 3. 自定义指令

1. 解释

在这里插入图片描述

  • 瀑布流特征:
  1. 等宽不等高:元素宽度固定,高度根据内容自适应。
  2. 错落排列:元素像瀑布一样从上到下依次填充,自动寻找最短列插入

体现:图中第一排1,2,3元素中,3是最短高度,就是该行最短列。

2. 形成结构和样式

<template><div class="page-main"><div class="card"><!-- v-waterfall是自定义指令 属性值是个回调函数--><div v-waterfall="el => updateLayout(el)" class="card-item" v-for="item in cardDate" :key="item.id":style="{ background: item.color, height: item.height }"><p class="text">{{ item.id }}</p></div></div></div>
</template>
//这是<script>data中的数据,结构是通过v-for遍历的cardDate: [{ id: 1, color: '#76da6e', height: '100px' },{ id: 2, color: '#57c797', height: '80px' },{ id: 3, color: '#54cac7', height: '70px' },{ id: 4, color: '#b16dc7', height: '120px' },{ id: 5, color: '#dc933d', height: '130px' },{ id: 6, color: '#b74acf', height: '90px' },{ id: 7, color: '#d93e5a', height: '80px' },{ id: 8, color: '#5474dd', height: '100px' },{ id: 9, color: '#e42526', height: '120px' },{ id: 10, color: '#e86c92', height: '90px' }],
<style scoped>
/* .page-main {position: relative;
} */.card {position: relative;margin: 0 auto;width: calc(3 * 200px);/* 3列,每列200px宽度*/
}.card-item {/* 相对于最近的非static定位的祖先元素(.card)定位(0,0) */position: absolute;width: 200px;/* 使得内容居中(可省略) */display: flex;align-items: center;justify-content: center;color: black;font-size: 24px;/* 监听到css样式变化,过渡0.3s效果 */transition: all 0.3s;
}
</style>

未加上js动态计算每个元素的位置—初始样子是将所有元素重叠在一起(如图)
在这里插入图片描述
然后就要计算出每块元素应该存在的位置(top和left)【css中每块元素position都是absolute,而且没有设置边偏移,默认都是0】
在这里插入图片描述
DOM元素尺寸属性不了解可以看这里有图文说明

<script>
export default {name: 'App',data() {return {cardDate: [{ id: 1, color: '#76da6e', height: '100px' },{ id: 2, color: '#57c797', height: '80px' },{ id: 3, color: '#54cac7', height: '70px' },{ id: 4, color: '#b16dc7', height: '120px' },{ id: 5, color: '#dc933d', height: '130px' },{ id: 6, color: '#b74acf', height: '90px' },{ id: 7, color: '#d93e5a', height: '80px' },{ id: 8, color: '#5474dd', height: '100px' },{ id: 9, color: '#e42526', height: '120px' },{ id: 10, color: '#e86c92', height: '90px' }],columnHeights: [0, 0, 0] //每列元素的高度}},directives: {waterfall: {inserted(el, binding) {const callback = binding.value || {};callback(el);}}},methods: {updateLayout(item) {const column = this.getMinColumnHeight(this.columnHeights);//计算每个元素位移x轴和y轴距离const itemTop = this.columnHeights[column];const itemLeft = column * item.clientWidth;item.style.transform = `translate(${itemLeft}px,${itemTop}px)`;//此时该元素item已经定位完成//则重新跟新原本最短列为this.columnHeights[column] + item.offsetHeight; this.columnHeights[column] += item.offsetHeight;},getMinColumnHeight(arr) {let min = Math.min(...arr);return arr.indexOf(min) != -1 ? arr.indexOf(min) : 0;}},
}
</script>

3. 自定义指令

directives: {waterfall: {inserted(el, binding) {console.log(binding);const callback = binding.value || {};callback(el);}}},

在这里插入图片描述
el则是每个cart-item元素

(注:本文例子参考这个b站视频,我进行了补充)

http://www.dtcms.com/wzjs/93462.html

相关文章:

  • 石家庄网站建设服务百度推广电话客服24小时
  • 网站页面制作视频搜索引擎优化是指
  • 网站做贷款许可证百度关键词搜索查询
  • 百货批发网站建设网络营销师证书有用吗
  • 网站建设之开展电子商务网络推广营销方法
  • 惠州网站制作推广公司排名网络优化的三个方法
  • 做编程的 网站有哪些方面温州seo外包公司
  • 网站服务器的搭建免费下载百度软件
  • 做网站办什么类型营业执照优化大师是什么
  • 企业网站创建小结百度搜索风云榜
  • 太原市城乡建设局网站网站seo关键词排名推广
  • 成都网站建设科技公游戏推广平台代理
  • 搜索附近人软件沈阳seo搜索引擎
  • 可以做思维导图的网站宁波seo教学
  • 网站建设玖金手指排名14互联网营销师培训大纲
  • 网站的下拉列表怎么做沈阳网站制作优化推广
  • 施工企业农民工工资专项检查报告seo网络优化日常工作内容
  • 网站设计建设简历武汉seo价格
  • 做直播网站需要哪些技术百度推广助手手机版
  • 杭州建设银行网站首页怎么弄一个自己的网址
  • 威海外贸网站建设联系方式杭州seo公司哪家好
  • 网站建设的成功之处有哪些旅游景点推广软文
  • 重庆网站制作机构想做网站找什么公司
  • 帝国网站管理系统安装企业域名查询
  • 网站开发项目经理注意事项自助建站平台源码
  • 互联网网站制作公司seo搜索推广费用多少
  • 烟台网站建设九七灰色行业推广渠道
  • 上海网页建站如何在百度做免费推广产品
  • 李建忠 电子商务网站建设与管理 ppt网店运营推广方案
  • 网站建设 自动生成手机app软件开发