CSS - position属性详解

2016-06-11  本文已影响1405人  Wenliang

相信很多同学在编写、设计网站的时候多多少少用过css里的position这个属性,但是很多时候网页显示出来的和自己想象的不太一样,这篇笔记来教你怎么使用position。

position属性一共有5个不同的值,下表借鉴于W3Schools

描述
absolute 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。元素的位置通过left, right, top, bottom进行规定
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过left, right, top, bottom进行规定
relative 生成相对定位的元素,相对于其正常位置定位。元素的位置通过left, right, top, bottom进行规定
static 默认值,忽略 top, bottom, left, right和z-index
inherit 从父元素继承该属性的值

熟悉了表格里的属性后,请看如下代码示例:

<div class="outer"> <!-- 黑色 -->
  <div class="inner1"></div> <!-- 红色 -->
  <div class="inner2"></div> <!-- 黄色 -->
  <div class="inner3"></div> <!-- 蓝色 -->
</div>
.outer {
  width: 400px;
  height: 300px;
  background: black;
  margin: auto;
  position: absolute;
  z-index: -1;
}

.inner1 {
  width: 100px;
  height: 100px;
  background: red;
  position: absolute;
}

.inner2 {
  width: 100px;
  height: 100px;
  background: yellow;
  position: relative;
  left: 100px;
}

.inner3 {
  width: 100px;
  height: 100px;
  background: blue;
  position: inherit; /* absolute */
  left: 50px;
  top: 50px;
  /* z-index: -1; */
}
上方代码执行结果
  1. 设置了一个外部container,为三个inner的父元素,absolute绝对定位
  2. 子元素 inner1 被设为absolute,使其跳出了当前DOM流的约束
  1. 子元素 inner2 被设为relative,它将相对于正常位置,通过left, right, top, bottom来定位
  1. 子元素 inner3 用来解释inherit和属性z-index
  1. fixed在例子中没有出现,fixed的元素将相对于viewport(视口)进行定位,不受何上下滚动条的约束,感兴趣的同学可以去尝试一下。
  2. 最后,给大家一个在线编辑代码的地址,可以去自己尝试一下,自己动手永远记得更加深刻
上一篇 下一篇

猜你喜欢

热点阅读