zoukankan      html  css  js  c++  java
  • Position

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Position</title>
    <link rel="stylesheet" href="Position_set.css"/>
    </head>
    <body>
    <div class="box" id="one">one</div>
    <div class="box" id="two">two</div>
    <div class="box" id="three">three</div>
    <div class="box" id="four">four</div>
    </body>
    </html>

    CSS文件:

    @charset "utf-8";
    .box {
    display: inline-block;       /*inline表示横向排列,不能设置宽高,block表示纵向排列*/
    100px;
    height: 100px;
    background: red;
    color: white;
    }

    #two {
    position: sticky;
    top: 50px;
    left: 60px;
    background: blue;
    }

    Position的四个属性值

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

    下面分别讲述这四个属性

     1.relative

    relative是相对它本身的位置来进行偏移的。当设置了relative属性的时候,将根据top,right,bottom,left的值按照它理应所在的位置进行偏移,设置了relative的部分不会影响其他部分的位置。

    2.absolute

    当position设置为absolute后,其到底以谁为对象进行偏移呢?这里分为两种情况(来源于网络): 

    (1)    当父对象(或曾祖父,只要是父级对象)parent也设置了position属性,且position的属性值为absolute或者relative时,不是默认值的情况,此时按照这个parent来进行定位。 

    对象虽然确定好了,但有些细节需要注意,那就是我们到底以parent的哪个定位点来进行定位呢?如果parent设定了margin,border,padding等属性,那么这个定位点将忽略padding,将会从padding开始的地方(即只从padding的左上角开始)进行定位,也就是忽略padding,当然并不会忽略margin和border。  接下来的问题是,由于当position设置为absolute后,会导致absolute部分溢出正常的文档流,就像它不属于 parent一样,它漂浮了起来,在DreamWeaver中把它称为“层”,其实意思是一样的。此时其他部分将获得已absolute部分的位置,它的文档流不再基于已设置的部分,而是直接从parent开始。

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

    3.fixed

    fixed总是以body为定位对象的,按照浏览器的窗口进行定位,即使拖动滚动条,位置也不会改变。

    4.static

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

  • 相关阅读:
    Python中把数据存入csv文件
    Python中把字典和值取出来
    scrapy输出请求状态码
    scrapy发送post请求获取cookie
    Python3 Unicode转中文
    Quartus13.0破解方法
    元音字母A的发音规则
    位bit——字节Byte???
    曾经的小孩在努力奔跑!
    如何看懂的时序图?
  • 原文地址:https://www.cnblogs.com/xiaohu12138/p/9711726.html
Copyright © 2011-2022 走看看