position的四个属性值

relative

absolute

fixed

static

参看实例
<div id="parent">
 <div id='sub1'>sub1</div>
 <div id="sub2">sub2</div>
</div>

relative相对定位

relative 属性相对比叫简单,我们要搞清楚它是相对哪个对象来进行偏移的。答案是它本身的位置。
上面的代码中sub1和sub2是同级关系,如果设定sub1一个relative属性,比如设置css代码如下
#sub1
{
 position:relative;
 padding:5px;
 top:5px;
 left:5px;
}
我们可以这样理解,如果不设置relative属性,sub1的位置按照正常的文档流,它应该处于某个位置。
但当设置sub1为postion为relative后,将根据top,right,bottom,left的值按照它理应所在的位置进行偏移,
relative的"相对的"意思也正是体现于此

因此,只需要记住,sub1如果不设置relative时它应该在哪里,一旦设置后,就按照它理应在的位置进行偏移
随后的问题是:sub2的位置又在哪里呢?
答案:它原来在哪里,现在就在哪里,它的位置不会应为sub1增加了position的属性而发生改变
如果此时把sub2的position也设置为relative,或发生什么现象?
此时依然和sub1一样,按照它原来的位置进行偏移。
注意relative的偏移是基于对象的margin的左上侧的。

absolute绝对定位

有人说position的属性设置为absolute后,总是按照浏览器窗口来进行定位的,这其实是错误的,实际上,这是fixed属性的特点。
当sub1的postion设置为absolute后,其到底以谁为对象进行偏移呢。
1)当sub1的父对象(或曾祖父,只要是父级对象) parent也设置了position属性,且position的属性值为absolute或relative时,
也就是说,不是默认值得情况,此时sub1按照这个parent来进行定位。
note: 对象虽然确定好了,但有些细节需要注意,那就是我们到底以parent的哪个定来进行定位呢?
如果是parent设定了margin,border,padding等属性,那么这个定位将忽略padding,
将会从padding开始的地方(即从padding的左上角开始)进行定位,这与我们会想当然的以为会以margin的左上端开始定位的想法不同。
接下来的问题是:sub2的位置到哪里去了呢?
由于当position设置为absolute后会导致sub1溢出正常的文档流,就像它不属于parent一样,它漂浮了起来,
在DreamWeaver中把它称为"层",其实意思一样。
此时sub2将获得sub1的位置,它的文档流不再基于sub1,而是直接从parent开始。

2) 如果sub1不存在有着position属性的父对象,那么就会以body为定位对象,按照浏览器的窗口进行定位。

fixed固定定位

fixed是特殊的absolute,即fixed总是以body为定位对象的,按照浏览器的窗口进行定位

static静态定位

position的默认值,一般不设置position属性时,会按照正常的文档流进行排列

absolute和fiex的区别

1)absolute的相对位置分为两种情况,在相对于body的情况下
a) 没有滚动条的情况下没有差异
b) 在有滚动条的情况下 fixed定位不会随滚动条移动而移动,而aboslute则会随滚动条移动

css 页面定位position的更多相关文章

  1. 天坑,CSS之定位Position(六分之五)

    Position定位 个人觉得position这个属性真的算是CSS的见面杀了.尤其是absolute,当年可是被虐的不轻.当然了,现在爱上了这个属性,谁用谁知道. position属性 positi ...

  2. CSS中定位position

    毋庸置疑的是,pisition是css中是最重要的属性之一. 一共有四种定位方式,static.relative.absolute.fixed. 默认的定位方式static 页面中所有的元素默认都是s ...

  3. CSS 的定位方式和含义

    CSS 的定位方式和含义 总结一下 CSS 的定位方式.CSS 的定位 position 是处理页面布局时非常重要的属性. CSS 中有 3 种基本的定位机制:普通流.浮动和绝对定位. 在没有指定的情 ...

  4. CSS:CSS Positioning(定位)

    ylbtech-CSS:CSS Positioning(定位) 1.返回顶部 1. CSS Positioning(定位) position 属性指定了元素的定位类型. position 属性的四个值 ...

  5. [转载]CSS元素的定位position

    CSS元素的定位position 属性position   值 描述 absolute                             生成绝对定位的元素,相对于 static 定位以外的第一 ...

  6. CSS之定位布局(position,定位布局技巧)

    css之定位 1.什么是定位:css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设 ...

  7. css之定位(position)

    1.什么是定位: css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设置一些不规则 ...

  8. css中对position的几种定位方式的最佳诠释

    关于元素的position定位的理解,牛客网的hardy给出了一个比较好的理解: 在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如上图所示   CSS中Positio ...

  9. [转]总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

随机推荐

  1. android 实践项目三

    android 实践项目三 本周我主要完成的任务是将代码进行整合,然后实现百度地图的定位与搜索功能.在这次实现的 图形界面如下: 在本周的工作中主要的实现出来定位与收索的功能,在地图中能实现了定位,显 ...

  2. win7 + MySQL 5.6.35 免安装版部署

    之前项目开发一直用的asp.net技术,所以数据库自然而然的就用的Sql Server了,最近想着手看一下MySQL数据库,部署免安装版的MySQL的过程记录一下. 准备工作:window 7   6 ...

  3. IDEA使用技巧:CamelCasePlugin插件

    CamelCasePlugin是一款可以快速进行格式转换的工具,较常用到的是大小写转换.驼峰式转换等. 1.打开idea,然后打开设置.点击Plugins 2.快捷键shift+alt+u

  4. Thinking in React 观后感

    原文地址:Thinking in React 今天在翻阅 React 文档,看到一篇名为「Thinking in React」的文章觉得写的很好.文章介绍了如何使用 React 构建一个应用,并不是手 ...

  5. 同步TreeView中父结点和子结点的状态[以及Treeview的bug]

    此代码仅仅是二级结点,即父结点下面只有一层子结点,只有两层结构 /// <summary> /// 某个结点的CheckBox被选中 /// </summary> /// &l ...

  6. 51NOD 1432 独木舟(贪心

    1432 独木舟   n个人,已知每个人体重.独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人.显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? ...

  7. [BZOJ1122][POI2008]账本BBB 单调队列+后缀和

    Description 一个长度为n的记账单,+表示存¥1,-表示取¥1.现在发现记账单有问题.一开始本来已经存了¥p,并且知道最后账户上还有¥q.你要把记账单修改正确,使得 1:账户永远不会出现负数 ...

  8. vuejs全局api概念

    什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在构造 ...

  9. org.apache.shiro.session.InvalidSessionException: java.lang.IllegalStateException: getAttribute: Session already invalidated] with root cause

    1.遇到以下异常,找了好长时间,终于解决,报的异常如下: 七月 07, 2017 3:02:16 下午 org.apache.catalina.core.StandardWrapperValve in ...

  10. js自动小轮播

    使用定时器,换个图片地址. 从1到5换,如果大于5了再跳到1,点击停止时关闭定时器. <!-- Author: XiaoWen Create a file: 2016-12-08 13:19:2 ...