position与float属性的使用

 1、使用float时,可以说是用于布局,取值主要有left、right、none。就是将该块的元素浮动起来,在浏览器默认的情况下,该元素的位置是为空的,

       即脱离了文档流而存在,如果有其他元素,那么这些元素会将该元素在浏览器中本身的位置所占据,进而将该空白部分填充。

     如果元素浮动了,那么它会对其后面的元素的布局产生影响,所以在设置浮动后,需要对该块进行浮动的清除,一般采用的方法就是在该浮动元素

     后面添加一个空的div来清除浮动:如以下代码:

Html代码:

<div>

    <img src="../img/cbtn1.jpg" class="left">

    <img src="../img/cbtn2.jpg" class="right">

    <div class="clear"></div>

</div>

<div class="con">

    <img src="../img/cbtn3.jpg" class="bottom">

</div>

 

Css代码:

.left{

    float: left;

}

 .right{

        float:right;

    }

.clear{

    clear: both;

    height:0px;

    overflow: hidden;

}

此外,尽管元素或块进行浮动了,它的大小时根据内容的大小来决定的,如果需要重新定义区域的高度,那么可以在css里设置height属性来控制浮动层的高度。

 

使用position属性:

position定位布局,该属性常用的值有relative(相对),absolute(绝对);z-index;

1:设置了position:relative而不设置left,top等属性的时候,层显示的位置和不设置position属性或者position值取static时一样。

2:当一个层设置了position:relative,而且使得层位置产生相对偏移(即设置了top、left、bottom、right等属性的值)时,并不影响文本流中接下来的其他层的位置。在浏览器中的位置仍然是存占位的。

当我们设置position的值为relative时,层依然存在于文本流中,也就是不管位置是否偏移,文本流中依然为它保留了该有的位置。但当层设置了position:relative并产生偏移(设置了top,left等值)时,

该层将完全从文本流中脱离,进而以该层所在的父容器的坐标原点为参考点进行偏移,可以这理解,该层已经和同级容器中的其它元素脱离了关系,也不会对其它元素产生任何影响。

一般我们在使用定位布局的时候,通常情况下是在父级标签上设position:relative,在需要定位的层上设position:absolute;top:20px;left:10px;,这样控制起来相对比较好控制...,

但此时,需要定位的层就已经脱离了文档流而存在。

原文地址:https://www.cnblogs.com/laogai/p/3335016.html