CSS定位

CSS有三种基本的定位机制:普通流、绝对定位和浮动。

普通流

在CSS中一切皆为框,所谓的框包括块级元素(div、h1、p等)和行内元素(a、span、img等),普通流定位的原则就是:块级元素从上到下垂直排列,行内元素从左到右水平排列,也就是说块级元素会主动换行,行内元素不换行。除非专门指定,所有框都服从普通流定位。
需要特别说明的是,“相对定位”(position:relative)也属于普通流定位,那么“相对”谁呢?相对的就是元素本身应该在普通文档流中的位置,在此基础上,进行上、下、左、右的移动。需要注意在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。

绝对定位

绝对定位(position:absolute)是相对于最近的已定位的祖先元素。不论是块级元素还是行内元素,采用绝对定位后都会变成一个块级元素,且元素原来在文档流中的空间会关闭,即元素会被从文档流中删除。因此,绝对定位的元素会影响其兄弟元素的正常定位,会被兄弟元素当作“不存在”,但不影响其子元素的正常定位。

浮动

浮动的框可以向左(float:left)或向右(float:right)移动,直到它的外边缘碰到它的包含框或者另一个浮动框的边框为止,且浮动框也不在文档的普通流中。如下图左所示,如果浮动框的包含框太窄,无法容纳浮动框,那么浮动框会向下移动,直到有足够的空间容纳它。如下图右所示,如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,787评论 1 92
  • CSS 定位 (Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供...
    LorenSLJ阅读 1,019评论 0 1
  • CSS 定位 CSS有三种基本的定位机制:普通流,浮动,绝对定位(absolute, fixed):普通流是默认定...
    _空空阅读 5,785评论 0 15
  • 在CSS中关于定位的内容是:position:relative | absolute | static | fix...
    feelinghappy618阅读 641评论 0 0
  • 定位 定位概况 CSS 有三种基本的定位机制:普通流、浮动和绝对定位。除非专门指定,否则所有框都在普通流中定位。 ...
    xiaolizhenzhen阅读 386评论 0 0