css:position属性

原创 2017年01月07日 00:03:22

在CSS中,left、right、top、bottom表示距离左右上下的值,它们其实是有一个“参照物”的。要想让这4个属性发挥作用,必须给position属性设置(非static的)值。

position属性,有以下取值:

  • static:默认值,表示没有定位(没有参照物。所以left等值设置了也没用)
  • inherit:继承父元素的值
  • relative:相对定位,表示相对于“本来所在的位置”
  • absolute:绝对定位,表示相对于最近的而且指定了position为非static值的父元素、或者相对于body
  • fixed:固定在浏览器视角的某个位置,不随滚动条滚动而变化

其中比较难明白的是relative和absolute,下面通过一些例子来说说它们的特点。

1、relative:

relative值表示相对于原来的位置。什么叫“原来的位置”呢?就是元素不设置position属性(或者设置为static),在文档流中应该存在的位置。
然后,如果设置:left:10px,就意味着把该元素放置在距离该位置左侧10px的位置,表现为原地向右移动10px。比如这个例子:
relative

relative块的position属性为relative,它原来的位置,是在static块下面,但是设置了left和top属性,就相对于该位置移动了一些距离。
相应的代码在最后的“例子1”。

2、absolute:

  • 设置了absolute的元素,会寻找距离最近的、并且position属性设置成除static以外的值的父元素作为参照物,如果找不到,就以body作为参照。
  • 设置的left、right、top、bottom,都是相对于这个参照物。
  • 设置了absolute的元素,会脱离文档流(BTW,设置了float属性也会)。

    还是刚才那个例子,如果我把下面那个红色块由relative改成absolute,那么效果为:
    absolute

    可以看到,absolute块相对于左上角(body)偏移了一些距离。并且,该元素不在文档流中(黄色边框表示body的范畴。body并没有为absolute块预留一个位置,说明absolute块不在其中)。
    代码就不写出来了,就是把relative改成absolute。

    根据第一条规则,一般我们想要让元素相对于某个父元素,那么可以设置该元素为absolute,然后设置父元素为relative(不影响其位置)


补充代码:

  • 例子1:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS Positioning</title>
    <style type="text/css">
        #container div {
            width: 200px;
            height: 100px;
        }
    </style>
</head>
<body style="border: 5px yellow solid;">
<div id="container">
    <div style="border: 1px blue solid; position: static;">
        static(default)
    </div>
    <div style="background-color: red; position: relative; left: 20px; top: 50px;">
        relative<br />left: 20px<br />top: 50px
    </div>
</div>
</body>
</html>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CSS之background-position属性

css

css position属性

position: relative | absolute | static | fixed static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级。 relat...

CSS中的定位——position属性

CSS定位指的是 改变元素在页面中的位置。 CSS定位机制: 普通流:元素按照其在HTML中的位置顺序决定排布的过程(也就是我不对元素进行定位的默认排布) 浮动 绝对布局 CSS定位包含的属性有: ...

CSS position 属性分析

position是css重要的属性,通过设置position,可以把元素放置到一个静态的、相对的、绝对的或者是固定的位置中。

CSS3理解position属性

一般情况下,页面是由页面流构成的。页面元素在页面流中的位置是由该元素在HTML文档中的位置决定的。块级元素从上向下排列(每个块级元素单独成行),而内联元素将从左向右排列,元素在页面中的位置随着外层容器...

css中position属性(absolute|relative|static|fixed)概述及应用

查了很多关于css样式中position属性的资料,发现只有这篇总结的最好。故转载过来,供日后查看。来源:http://www.jb51.net/web/77495.html CSS...

栋栋晓07:详解css布局中的定位position属性

CSS中大部分属性都可以看w3c文档可以理解,主要难以理解的属性是盒型结构,Floa,position。本文将主要讲述关于position的理解,力求让您看完本文后对position有着最全面的认识。

CSS布局 ——从display,position, float属性谈起

本文转自:http://www.cnblogs.com/dolphinX/archive/2012/10/13/2722501.html CSS布局 ——从display,position, ...

CSS position 属性

position是CSS中非常重要的一个属性,通过position属性,我们可以让元素相对于其正常位置,父元素或者浏览器窗口进行偏移。postion也是初学者容易搞不清楚状况的一个属性,本文将从最基础...

CSS布局display,position, float属性

页面布局,或者是在页面上做些小效果的时候经常会用到 display,position和float 属性,如果对它们不是很了解的话,很容易出现一些莫名其妙的效果,痛定思痛读了《CSS Mastery》后...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)