vue自定义DOM元素宽高并自适应展示

此方法不管是2还是3都是可以实现的,效果可以去主页视频区查看,主要还是不会在这里面添加视频。

    <div ref="myElement" class="oneBox"></div>
    <div class="towBox"></div>
mounted() {
  const towBox = document.querySelector('.towBox');
  const windowHeight = window.innerHeight;
  const resizeObserver = new ResizeObserver(entries => {
    for (let entry of entries) {
      console.log('高度:', entry.contentRect.height);
      towBox.style.height = `${windowHeight - entry.contentRect.height}px`;
    }
  });
  resizeObserver.observe(this.$refs.myElement);
},
beforeDestroy() {
if (this.resizeObserver) {
  this.resizeObserver.unobserve(this.$refs.myElement);
}
.oneBox {
  width: 900px;
  height: 50vh;
  background-color: pink;
  resize: vertical;
  overflow: hidden;
}
.towBox {
  width: 900px;
  height: calc(100vh - 50vh);
  background-color: red;
}

        resize属性是用户拖拽右下角进行自定义高度,它有三个属性其中vertical是只针对于高度,其余属性 各位帅哥美女可自行查阅资料。

        ResizeObserver 是一个 JavaScript 接口,用于监视一个元素的尺寸变化。它允许你在元素的大小改变时执行回调函数,从而动态地处理布局调整或其他需要在元素尺寸变化时响应的逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值