【把旧账号的文章搬过来】css自我总结之第一弹:绕不开的float,relative与absolutee

Css自我总结之第一弹:

1.  float,relative,absolute

一开始,每一个元素就像是水里的石头一样安分地待着,后来来了float,relative,absolute三个大力士誓要搬动石头。

Float:名如其人,会施魔法让石头变成浮萍,大家亲亲蜜蜜地挤在了一起。然而需要注意的是:1,浮萍也是占地方的!它还是会占据文档流!

            2. 不等高时排版会出现参差不齐的状态。

3.清除浮动,它浮起来了,后面的石头就顶上来了。

Position:relative:这位会“镜像魔法”,理论上元素还待在原来的地方,但“看起来”他在别的地方了。这位仁兄有几个特点:

1.    相对自身定位,即:top:0,left:0对他来说就是待在原地。

2.    不会影响其他元素布局。由于它相对自身定位,所以不会产生floatabsolute那样有元素顶上来的情况。

例:

<html>  
<body>  
        <div style="background-color: red;width:100px;height:100px;"></div>  
        <div style="background-color: blue;width:100px;height:100px;position:relative;top:-50px"></div>  
        <div style="background-color: yellow;width:100px;height:100px;"></div>  
    </body>  
</html>  

可以将第二个divposition改为relative试一下


3. top/bottomleft/right对立属性同时存在时,relative表现为相互斗争。上下存在时听上的,左右存在时听左的【不要以为上右下左而记成左右存在听右的】

4.    position:absolute这位神通广大,身负盛名,它能让好好的石头变成一团虚影任你揉捏,指哪定哪毫不含糊。这位大家太熟悉了,只说一个让我吃了一个亏的特性。Absoulte根据不是“position:static”【默认值】的父元素定位,父元素不是就再往上找一直找到尽头body为止。然而找到body后,它并不是向人们说的那样根据body定位,而是根据浏览器定位!!!!!!

例:


<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <style type="text/css">  
        body{  
            width:100%;  
            height:2000px;  
        }  
        .ab{  
            background-color:red;  
            width:100px;  
            height:100px;  
            position:absolute;  
            bottom:100px;  
            right:50px;  
        }  
        </style>  
    </head>  
    <body>  
          
        <div class="ab" ></div>  
    </body>  
</html>  

显示效果为:


假如它根据body定位,body有2000px,它就不在这一页了,而且当浏览器窗口发生变化时div的位置也随之变化了,如图:


更加说明absolute不是根据body来定位了。

【火狐,谷歌,IE11都是这样的,IE旧版没有试过】

二,relative与absolute

别看absolute在外面神通广大,不可一世,但其实在家里,还是得乖乖听着自己哥哥——relative的话【兄控的世界啊】

1.限制上下左右定位【最常用最基础应用】父元素设置成relative后,子元素就只能根据它来定位而不会满浏览器乱跑。

2.限制Z-index层级 

3.overflow原本absolute是不听overflow的话的,该溢出的照旧溢出,但加上relative后absolute就得乖乖照overflow说的去做了。

三,relative与fixed

拿它没办法,fixed这个不孝子,管不动。由它去吧,去跟浏览器混吧,就当我从来没这个弟弟——by心痛的relative大哥



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值