定位

1 定位概述

CSS 定位 (Positioning) 属性允许你对元素进行定位

定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置

使用 display 属性改变生成的框的类型。将 display 属性设置为 block(块),可以让行内元素显示的像块级元素一样/*inline(内联)  inline-block(内联块)*/

position(位置) 属性值的含义:

static/*静态*/  元素框正常生成。

relative/*相对*/  元素框偏移某个距离。

absolute/*绝对*/  元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。

fixed/*固定*/  元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身

2 相对定位

对一个元素进行相对定位,它将出现在它所在的位置上,通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动

div {

  width: 200px;

  height: 200px;

  background-color: #766ac5;

  position: relative;

  top: 50px;

  left: 30px

}

运行效果:

在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。

3 绝对定位

设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

div {

  width: 200px;

  height: 200px;

  background-color: #766ac5;

  position: absolute;

  top: 50px;

  left: 30px

}

运行效果:

绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块

因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素。可以通过设置z-index  属性来控制这些框的堆放次序。

div {

  width: 200px;

  height: 200px;

  background-color: #766ac5;

  position: absolute;

  top: 50px;

  left: 30px;

  z-index: -1

}

运行效果:

默认的 z-index 是 0。z-index -1 拥有更低的优先级。z-index 1 拥有更高的优先级。

4 浮动

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

div {

  width: 200px;

  height: 200px;

  background-color: #766ac5;

  float: left

}

运行效果:

clear 属性规定元素的哪一侧不允许其他浮动元素。

div { clear: both }  /*清除两侧浮动*/

5,固定定位

div {

  width: 200px;

  height: 200px;

  background-color: #766ac5;

  position: fixed;

  top: 50px;

  left: 30px

}

运行效果:

固定定位它的相对移动的坐标是视图(屏幕内的网页窗口)本身,不会随滑动条的滑动而改变所在视图中的位置

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,681评论 1 92
  • 学习建议 定位、浮动是 CSS 核心知识点,必须熟练掌握。 1.文档流的概念指什么?有哪种方式可以让元素脱离文档流...
    饥人谷_任磊阅读 4,758评论 0 3
  • 在CSS中关于定位的内容是:position:relative | absolute | static | fix...
    feelinghappy618阅读 3,816评论 0 0
  • 一、文档流的概念指什么?有哪些方式可以让元素脱离文档流? 文档里指元素在文档中的位置由元素在html里的位置决定,...
    dengpan阅读 3,526评论 0 3
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 4,544评论 0 2