CSS定位与浮动

2016-06-14  本文已影响0人  petertou

CSS定位机制

CSS 有三种定位机制 普通流(文档流)、浮动和绝对定位。浮动和绝对定位可以让一个元素脱离文档流。

文档流

顾名思义,普通流中的元素的位置由在HTML中的位置决定,根据上下级和前后的顺序,一个一个的排列在界面上;当然根据元素的类型不一样,排列的方式会不一样,但先后顺序,显示层次关系不会改变;
一般在HTML元素分为两种:块级元素和行内元素。像div,p这些的元素属于块级元素;而span,strong等属于行内元素。块级元素是从上到下一行一行的排列,默认一个块级元素会占用一行,而跟在后面的元素会令起一行排列;行内元素是在一行中水平布置,从前到后的排列。引用来源

通过POSITION属性,可以选择4种不同类型的定位。
position:relative和负margin都可以使元素位置发生偏移?二者有什么区别

position:relative 是CSS的一种定位机制,定位之后该元素的原位置被保留,后面的元素不会跟进。
负margin 是CSS盒子模型中的一个属性,使用负margin之后,该元素原有的空间会被后面的元素填充。

如何让一个固定宽高的元素在页面上垂直水平居中?

详情见CSS各种居中

浮动

浮动可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止(注意:浮动的元素不是一直跑,跑到页面的最左边或者最右边)。 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

浮动元素有什么特征?对其他浮动元素、普通元素、文字分别有什么影响?

浮动元素的特征:脱离文档流。想要浮动(或绝对定位)元素要设置宽度,否则浮动(或绝对定位)的宽度会收缩,收缩成和内容一样的宽度。

影响 浮动元素 普通元素 文字
浮动元素 阻止元素继续浮动 占用浮动元素的位置 环绕
清除浮动指什么? 如何清除浮动?

因为浮动的元素会对其后面的元素产生如下影响,所以我们要清除浮动。

对于1的情况

.clearfix:before, .clearfix:after{ content: ""; display: table;}

或者BFC

 overflow:hidden; _zoom:1; /* for ie 6*/

以上相关内容来源于饥人谷课件

上一篇下一篇

猜你喜欢

热点阅读