position小结

w3c和mdn文档都有解释,我就直接写demo吧哈哈!
1.position:relative的left和top结合使用

<style>
        body {
            margin: 0;
            padding: 0;
        }

        .app {
            position: relative;
            width: 100px;
            height: 100px;
            left: 100px;
            top: 100px;
            background: #3a9;
        }
    </style>
<body>
    <div class="app"></div>
</body>

效果:


image.png

相对于左上角
2.position:relative的right和bottom结合使用

<style>
        body {
            margin: 0;
            padding: 0;
        }

        .app2 {
            position: relative;
            width: 100px;
            height: 100px;
            right: 50px;
            bottom: 50px;
            background: #f00;
        }
    </style>
</head>

<body>

    <div class="app2"></div>
</body>

效果:


image.png

你会发现向左向上移动了,这是因为

position:relative的时候这些div块都是相对于自身移动的,是left,top的时候以向下向右为正坐标轴,当是right,bottom的时候,以向上向左为正坐标轴,
3..position:absolute的left和top结合使用

<style>
        body {
            margin: 0;
            padding: 0;
        }
        .app {
            position: absolute;
            width: 100px;
            height: 100px;
            left: 100px;
            top: 100px;
            background: #3a9;
        }
    </style>
</head>
<body>
    <div class="app"></div>  
</body>

效果:


image.png

相对于左上角
4..position:absolute的right和bottom结合使用

 <style>
        body {
            margin: 0;
            padding: 0;
        }

        .app {
            position: absolute;
            width: 100px;
            height: 100px;
            right: 100px;
            bottom: 100px;
            background: #3a9;
        }

        
    </style>
</head>

<body>
    <div class="app"></div>
     
</body>

效果:


image.png

相对于右下角

<style>
        body {
            margin: 0;
            padding: 0;
            height: 1500px;
            background: #3a3;
        }

        .app {
            position: absolute;
            width: 100px;
            height: 100px;
            right: 100px;
            bottom: 100px;
            /* right bottom相对于视口 */
            background: rgb(223, 21, 65);
        }
    </style>
<body>
    <div class="app"></div>     
</body>

6

<style>
        body {
            margin: 0;
            padding: 0;
            height: 1500px;
            background: #3a3;
        }

        .app {
            position: absolute;
            width: 100px;
            height: 100px;
            right: 100px;
            bottom: -400px;
            /* -400px是相对于视口向下400px */
            /* right bottom相对于视口 */
            background: rgb(223, 21, 65);
        }

        
    </style>
</head>

<body>
    <div class="app"></div>
     
</body>

5 和6的demo都是相对于右下角,但是从5这个demo中能知道position:absolute的时候是相对于视窗可见位置的偏移,而不是整个body中,因为body宽1500px,从这可以看出来的.从6这个demo可以看出是以向上向左为正半轴的.

7

<style>
        body {
            margin: 0;
            padding: 0;
        }
        /*
         app不设置position时,等同于static,此时的子元素不是相对于父元素定位的,而是相对于窗口;
         当position不是static的时候,是相对于父元素;
        
         */
        .app {  
            width: 300px;
            height: 300px;
            background: #3a3;
            margin-left: 200px;
            margin-top: 200px;
        }
        .app-child {
            position: absolute;
            width: 100px;
            height: 100px;
            left: 0;
            top: 0;
           
            background: rgb(223, 21, 65);
        }

        
    </style>
</head>

<body>
    <div class="app">
            <div class="app-child"></div>
    </div>
     
</body>

效果图:


image.png

app不设置position时,等同于static,此时的子元素不是相对于父元素定位的,而是相对于窗口;
当position不是static的时候,是相对于父元素

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,297评论 0 8
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,694评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,356评论 1 45
  • 采菊东篱巴阅读 1,279评论 0 0
  • 每个人心里都住着一只精灵 1.女孩和精灵 夕阳的余光从矮墙上斜射下来,温乎乎地铺在台阶缝隙处几丛荒草的脊背上,柔柔...
    花间微语阅读 4,320评论 2 3

友情链接更多精彩内容