zoukankan      html  css  js  c++  java
  • js运动基础

    1.

    element.offsetHeight 返回元素的高度。
    element.offsetWidth 返回元素的宽度。
    element.offsetLeft 返回元素的水平偏移位置。
    element.offsetParent 返回元素的偏移容器。
    element.offsetTop 返回元素的垂直偏移位置。

    2.position

    static默认。位置设置为 static 的元素,它始终会处于页面流给予的位置(static 元素会忽略任何 top、bottom、left 或 right 声明)。

    relative位置被设置为 relative 的元素,可将其移至相对于其正常位置的地方,因此 "left:20" 会将元素移至元素正常位置左边 20 个像素的位置。

    absolute位置设置为 absolute 的元素,可定位于相对于包含它的元素的指定坐标。此元素的位置可通过 "left"、"top"、"right" 以及 "bottom" 属性来规定。

    fixed位置被设置为 fixed 的元素,可定位于相对于浏览器窗口的指定坐标。此元素的位置可通过 "left"、"top"、"right" 以及"bottom" 属性来规定。不论窗口滚动与否,元素都会留在那个位置。工作于 IE7(strict 模式)。

    3.left 属性设置定位元素左外边距边界与其包含块左边界之间的偏移。如果 "position" 属性的值为 "static",那么设置 "left" 属性不会产生任何效果。

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            div{
                width: 300px;
                height: 200px;
                background: red;
                position: absolute;
                left: 20px;
            }
    
        </style>
        <script>
            window.onload = function () {
                var oDiv = document.getElementById('div1');
                alert(oDiv.offsetParent);
                alert(oDiv.offsetLeft);
                setInterval(function () {
                    oDiv.style.left = oDiv.offsetLeft + 2 + 'px';
                }, 10);
    
            };
        </script>
    </head>
    <body>
    <div id="div1"></div>
    
    
    </body>
    </html>

    在写这个div块的运动时,刚开始没有加position,导致即使用element.style.left设置了距离HTML的左边距它也不运动,由上面的知识可以知道div块的默认为static,它会忽略上下左右的距离,在控制台里面可以看到行间的left变化了,然而并没有什么卵用。后来加上了position为absolute或者relative都是可以的。

  • 相关阅读:
    快速修改elementUI组件样式
    设置占位符颜色!
    缩放屏幕的时候banner被压缩变形!
    less一些用法整理
    CentOS 7 的目录结构介绍
    为什么需要VMware的 快照、克隆?
    虚拟机概述
    Linux的简单介绍
    VMware克隆已安装的虚拟机
    【vim使用】分屏命令、操作分屏
  • 原文地址:https://www.cnblogs.com/zhuni/p/4707711.html
Copyright © 2011-2022 走看看