css 浮动和定位

1.css float 

CSS float 属性定义元素在哪个方向浮动,浮动元素会生成一个块级框,直到该块级框的外边缘碰到包含框或者其他的浮动框为止。

 1)元素怎样浮动

元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动元素之后的元素将围绕它。

浮动元素之前的元素将不会受到影响。

如果图像是右浮动,下面的文本流将环绕在它左边:

例:img 

float:right; 
}

2)彼此相邻的浮动元素

如果你把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。

在这里,我们对图片廊使用 float 属性:

例:.thumbnail 

float:left; 
110px; 
height:90px; 
margin:5px; 
}

3)清除浮动 - 使用 clear

元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。

clear 属性指定元素两侧不能出现浮动元素。

使用 clear 属性往文本中添加图片廊:

例:.text_line 

clear:both; 
}

2.定位

1)Positioning(定位)

CSS定位属性允许你为一个元素定位。它也可以将一个元素放在另一个元素后面,并指定一个元素的内容太大时,应该发生什么。

元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非事先设定position属性。他们也有不同的工作方式,这取决于定位方法.

有四种不同的定位方法。

2)Static 定位

HTML元素的默认值,即没有定位,元素出现在正常的流中。

静态定位的元素不会受到top, bottom, left, right影响。

3)Fixed 定位

元素的位置相对于浏览器窗口是固定位置。

即使窗口是滚动的它也不会移动:

例:p.pos_fixed 

position:fixed; 
top:30px; 
right:5px; 
}

4)Relative 定位

相对定位元素的定位是相对其正常位置。

例:h2.pos_left 

position:relative; 
left:-20px; 

h2.pos_right 

position:relative; 
left:20px; 
}

可以移动的相对定位元素的内容和相互重叠的元素,它原本所占的空间不会改变。

例:h2.pos_top 

position:relative; 
top:-50px; 
}

5)Absolute 定位

绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>:

例:h2 

position:absolute; 
left:100px; 
top:150px; 
}

原文地址:https://www.cnblogs.com/Star-Trails/p/10953618.html