• position的用法与心得


    position的四个属性值:

    1. relative
    2. absolute
    3. fixed
    4. static

    为了便于理解,首先创建对应的div

    <div class="main">
        <div class="top"></div>
        <div class="bottom"></div>
    </div>

    1. relative

    首先我们要搞清它是相对哪个对象来进行偏移的。relative是指向它本身的位置。在上面的代码中,top和bottm是同级关系,如果设定top一个relative属性,比如设置如下CSS代码:

    .top
    {
        position: relative;
        padding: 5px;
        top: 5px;
        left: 5px;
    }

    当设置sub1为的position为relative后,将根据top,right,bottom,left的值按照它理应所在的位置进行偏移,relative的“相对的”意思也正体现于此。

     对于此,您只需要记住,sub1如果不设置relative时它应该在哪里,一旦设置后就按照它理应在的位置进行偏移。

    随后的问题是,sub2的位置又在哪里呢?答案是它原来在哪里,现在就在哪里,它的位置不会因为sub1增加了position的属性而发生改变。

    如果此时把sub2的position也设置为relative,会发生什么现象?此时依然和sub1一样,按照它原来应有的位置进行偏移。

     


    2. absolute

    当top的position设置为absolute后,其到底以谁为对象进行偏移呢?这里分为两种情况:

    (1)当top的父对象main也设置了position属性,且position的属性值为absolute或者relative时,此时top以main为定位对象来进行定位。

    注意,对象虽然确定好了,但有些细节需要注意,那就是我们到底以main的哪个定位点来进行定位呢?如果main设定了margin,border,padding等属性,那么这个定位点将忽略padding,将会从padding开始的地方(即只从padding的左上角开始)进行定位,这与我们会想当然的以为会以margin的左上端开始定位的想法是不同的。

    (2)如果top不存在一个有着position属性的父对象,那么那就会以body为定位对象,按照浏览器的窗口进行定位,这个比较容易理解。


    3. fixed

    fixed总是以body为定位对象的,按照浏览器的窗口进行定位,经常用于广告位。


    4. static

    position的默认值,一般不设置position属性时,会按照正常的文档流进行排列。

  • 相关阅读:
    OpenStack--Havana
    腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测)
    Java 脚本化编程指南
    hive的表的基本操作
    如何搭建易企秀H5平台?
    HDU 4727-The Number Off of FFF
    审计厅审计云发展意见
    CNPM 遇到use strict的问题
    QA技术概览
    终端的CTRL+S 解说
  • 原文地址:https://www.cnblogs.com/pengjunhao/p/6927285.html
Copyright © 2020-2023  润新知