关于画面抖动

关于画面抖动

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>2-5</title>
    <style type="text/css">
        body{
                 overflow: hidden;
        }
        div {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            box-sizing: border-box;
            width: 400px;
            height: 400px;
            margin: auto;
            border: 1px solid red;
            border-bottom: 200px solid red;
            border-radius: 50%;
            transform-origin: 50% 50%;
            animation-name: rotate;
            animation-duration: 5s;
            animation-timing-function: linear;
            animation-iteration-count:infinite;
        }
        div::after,div::before{
            content: "";
            display: block;
            width: 200px;
            height: 200px;
            box-sizing: border-box;
            border-radius: 50%;
            position: absolute;
        }
        div::after{
            background-color: #fff;
            border: 85px solid red;
            right: 0px;
            top:100px;
        }
         div::before{
            border-radius: 50%;
            background-color: red;
            border: 85px solid #fff;
            left: 0px;
            top:100px;
        }
        @keyframes rotate{
            from {transform:rotate(0deg)}
            to   {transform:rotate(360deg)}
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

请问为什么加上 body{over:hidden} 动画开始播放就没有抖动 老师可以解释下原理吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
妮可妮可妮_ 2018-05-18 16:32:35

这个DIV处于旋转状态,如果 overflow默认为 auto,当它旋转到超过当前页面的高度的时候,右侧会出现滚动条,于是画面就会抖动,overflow:hidden 就避免了滚动条的出现,当超过高度的时候 超出部分就隐藏了.

  • 老师如果我用display: inline-block;为什么还是会抖动,这个不是转换为行内块元素吗。我自己设置了宽度后,那应该不会横向占满浏览器的宽度,这样旋转起来就不会出现滚动条了。可为什么div还是占满了宽度。滚动条还是会出现。。
    2018-08-17 14:57:43
  • 请同学在问答区新建问题并将完整代码上传(不要截图代码,因为手动输入的有可能和上传的代码有差异),以便更好的检测和解决问题,祝学习愉快。
    2018-08-17 15:14:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
响应式开发与常用框架 2018
  • 参与学习           人
  • 提交作业       2198    份
  • 解答问题       5012    个

如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师