在用CSS+DIV进行布局的时候,一直对position的四个属性值relative,absolute,static,fixed分的不是很清楚,以致经常会出现让人很郁闷的结果。

先看下各个属性值的定义:

1、static:默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

2、relative:生成相对定位的元素,通过top,bottom,left,right的设置相对于其正常位置进行定位。可通过z-index进行层次分级。

3、absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。可通过z-index进行层次分级。

4、fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。可通过z-index进行层次分级。

static与fixed的定位方式较好理解,在此不做分析。下面对应用的较多的relative和absolute进行分析:

1、relative。定位为relative的元素脱离正常的文本流中,但其在文本流中的位置依然存在。如图1:

图1

黄色背景的层定位为relative,红色边框区域为其在正常流中的位置。在通过top、left对其定位后,从灰色背景层的位置可以看出其正常位置依然存在。

2、absolute。定位为absolute的层脱离正常文本流,但与relative的区别是其在正常流中的位置不在存在。如图2:

图2

可以看到,在将黄色背景层定位为absolute后,灰色背景层自动补上。

3、relative与absolute的主要区别:

首先,是上面已经提到过的在正常流中的位置存在与否。

其次,relative定位的层总是相对于其最近的父元素,无论其父元素是何种定位方式。如图3:

图3

图中,红色背景层为relative定位,其直接父元素绿色背景层为默认的static定位。红色背景层的位置为相对绿色背景层top、left个20元素。而如果红色背景层定位为absolute,则情形如图4:

图4

可以看到,红色背景层依然定义top:20px;left:20px;但其相对的元素变为定位方式为absolute或relative的黄色背景层。因此,对于absolute定位的层总是相对于其最近的定义为absolute或relative的父层,而这个父层并不一定是其直接父层。如果其父层中都未定义absolute或relative,则其将相对body进行定位,如图5:

图5

除top、left、right、bottom定位外,margin属性值的定义也符合上述规则。

引用自:http://www.jb51.net/css/22786.html

转载于:https://www.cnblogs.com/ChineseMoonGod/p/5016828.html

div+css 定位浅析相关推荐

  1. Divbrush 网页Div css画板定位布局系统 v1.8

    Divbrush 网页Div css画板定位布局系统软件是一款专业制作DIV+CSS的切图与样式布局的网页前期设计软件. Divbrushv1.0基本上实现了可视化DIV容器布局的画板辅助功能,通过图 ...

  2. div css sprites精灵-CSS图像拼合 CSS贴图定位网页背景素材图片拼合定位布局技术教程

    div css sprites精灵-CSS图像拼合 CSS贴图定位网页背景素材图片拼合定位布局技术教程篇与css sprites实例篇 css sprites拼合背景图片素材实现布局效果截图 一.什么 ...

  3. DIV+CSS布局概述、属性(浮动、定位等)、布局类型、常见布局技巧

    文章目录 布局概述 网页布局 页面元素定位机制 布局常用属性 浮动属性(float) 清除属性(clear) 定位属性(position) 溢出属性(overflow) 层叠属性(Z-index) 布 ...

  4. CSS 实现DIV浮动定位不闪

    为什么80%的码农都做不了架构师?>>>    HTML: <div id="note">Hello world! </div> CSS: ...

  5. html css样式div属性,div css

    DIV+CSS是WEB设计标准,它是一种网页的布局方法.与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离.提起DIV+CSS组合,还要从XHTML说起.XHTML是 ...

  6. CSS 定位 (Positioning)

    CSS 定位 (Positioning) 属性允许你对元素进行定位. CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多 ...

  7. css定位页面元素,页面元素定位-CSS元素基本定位

    基本定位 """属性定位 一 """ # #通过id # driver.find_element_by_css_selector(" ...

  8. DIV CSS完美兼容IE6/IE7/FF的通用方法

    关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HA ...

  9. 转载:DIV+CSS有可能遇到的问题

    [总结]DIV+CSS有可能遇到的问题 一.超链接访问过后hover样式就不出现的问题? 被点击访问过的超链接样式不在具有hover和active了,解决方法是改变CSS属性的排列顺序: L-V-H- ...

  10. html div套div,Web前端开发技术之Div+Css基础

    今天我们的课程内容有: CSS在页面风格设计中的作用 多个HTML页面调用一个CSS文件 DIV的创建与应用 用DIV+CSS的方式来写HTML页面 传统HTML的缺点和现在Css的优势Html的不足 ...

最新文章

  1. 怎么查看本地电脑是否安装了Git
  2. WinCvs提示:import requires write access to the repository
  3. 深入理解阻塞socket和非阻塞socket
  4. quartz分布式集群部署并且可视化配置job定时任务
  5. 如何查看一个现有的keil工程之前由什么版本的keil IDE编译
  6. jquery 操作css 选择器
  7. 苹果暗黑模式_【蜜茶原创】微信最终妥协苹果,暗黑模式正式上线!
  8. 就算边框缩窄到极致也不用刘海屏?魅族16s最新渲染图曝光
  9. LInux安装mbedtls
  10. 白帽SQL注入实战过程记录(2)——根据information_schema组装SQL注入语句
  11. python按哪个键删除_Python-从字典中删除键的方法
  12. python爬取今日热榜数据到txt文件
  13. centos系统安全设置
  14. java异常的嵌套和级联
  15. 【TSP】基于matlab GUI遗传算法求解旅行商问题【含Matlab源码 1333期】
  16. 如何用计算机截部分屏,电脑截图只截一部分怎么办
  17. vue同时导入多个组件方法
  18. 97年小伙“最牛简历”刷屏:面子算什么,我只想搞钱
  19. amazing,盗走女友微信后,竟在微信号里看见了……
  20. js根据日期计算星期几

热门文章

  1. 预训练模型的下一步?突破Impossible Triangle
  2. 你对NLP的迁移学习爱的有多深?21个问题弄懂最新的NLP进展。
  3. 【硬核课】最新《图卷积神经网络GCN》2020概述,76页ppt,NTU-Xavier Bresson,纽约大学深度学习课程...
  4. 基于DEAP库的python进化算法-6.遗传算法中的约束处理
  5. 关系抽取---(二)卷积神经网络
  6. Prezi 7 大图形设计技巧,让视觉思维落地生根
  7. JavaScript的对象观
  8. Django项目实践3 - Django模型(view-数据库)
  9. Scikit-learn:Feature selection特征选择和学习
  10. 力扣-面试题 10.05 稀疏数组搜索