开发PC端页面布局遇到的问题总结

Element.getBoundingClientRect()

Element.getBoundingClientRect()方法返回元素的大小及其相对于视口左上角的位置。返回的对象包含一组只读属性——top, bottom, left, right,单位为像素px。

const ele = document.getElementById('target')
const top = ele.getBoundingClientRect().top

获取鼠标滑动的距离

const scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop

平行四边形背景

直接使用transform: skewX(30deg);设置元素的样式,虽然可以达到平行四边形的效果,但是相应的文字也会变形,所以可以使用伪元素:before添加样式,实现平行四边形同时文字也不会倾斜变形。

.standard-list {
  position: relative;
   width: 644px;
   &:before {
     content: '';
     position: absolute;
     top: -110px;
     bottom: -85px;
     width: 300px;
     background-color: red;
     transform: skewX(17deg);
     right: 37px;
     z-index: -1;
   }
}

使用JS设置视频文件video的暂停和播放

播放视频

  playVideo (videoId) {
    const video = document.getElementById(videoId)
    video.controls = true  // 设置是否有视频控制进度条
    video.autoPlay = true
    if (video.paused) {
      video.play()
    }
  }

暂停视频播放

  pauseVideo (videoId) {
    const video = document.getElementById(videoId)
    video.pause()  
  }

利用这两个方法可以实现鼠标悬浮在视频上时自动播放视频,鼠标移出时暂停播放视频的功能,给鼠标增加事件就行,mouseenter和mouseleave事件。

<video id='video-base' muted loop style={{ width: '100%' }}>
  <source src={videoBase} type="video/mp4" />
</video>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值