Div的定位

css的定位是很多人容易困惑的地方,自己以前也是,随着时间慢慢的学习,自己有一些领悟,可以一起分享。

css的定位有四种,static,relative,absolute,fixed。对于static就是正常的文档流,没有什么特别的。对与fixed总是以body为定位时的对象,总是根据浏览器的窗口来进行元素的定位,通过"left"、 "top"、 "right"、 "bottom" 属性进行定位。

在文档流中,每个块元素都会被安排到流中的一个位置,我们可以通过CSS中的定位属性来重新安排它的位置。定位分为相对定位和绝对定位,相对定位是相对于该块元素在文档流中的位置的,比如,我们可以使用相对定位把div2放到div1的右侧,CSS代码如下:#div1 {
                     border: 1px solid #000099;
                     height: 60px;
                     width: 200px;
                     margin:2px;
                   }
                   
                   #div2 {
                     border: 1px solid #000099;
                     height: 60px;
                     width: 200px;
                     margin:2px;
                     position: relative;
                     top: -64px;
                     left: 204px;
                   }
                   
                   #div3 {
                     border: 1px solid #000099;
                     height: 60px;
                     width: 200px;
                     margin:2px;

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属性值的定义也符合上述规则。

时间: 2024-11-05 12:35:24

Div的定位的相关文章

div+css定位position详解

div+css定位position详解 1.div+css中的定位position 最主要的两个属性:属性 absolute(绝对定位) relative(相对定位),有他们才造就了div+css布局的多样性,让我们的网页丰富多彩起来. 首先解释relative(相对定位),顾名思义,定位是相对的,那他是相对于什么呢?参照物是什么? 看如下代码: 2 2.预览效果,现在是三个并列的div 3 3.给中间的div增加定位属性:position:relative; top:10px; left:10

CSS+JS实现的div层定位功能和自动消失

CSS顶部固定功能,有空的时候研究了一下CSS的定位功能,做了这个大家熟悉的顶部固定功能,鼠标移上去顶部会消失,并可判断浏览器是否支持audio元素!顶部元素在时间控制下也可自动消失. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns

打开页面div滚动条定位(别用锚点)

来啦!客官久等了!!!!! 上代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>打开页面div滚动条定位</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <s

DIV(CSS 定位)

<div style="position: relative;width:800px;height: 300px;background-color: gainsboro;border:1px solid red;margin: 0 auto"> <div style="position: absolute;width:100px;height: 100px;bottom: 0;left: 0;background-color: brown">

&lt;div&gt;之定位

在使用盒子模型的过程中,如何放置各种类型的“盒子”,就存在定位.浮动等问题.下面就日常运用过程中出现过的情况总结如下(陆续加入中....) 一.图片直接做<div>的背景 在<div>配合使用<img>的过程中,如果在<div>中直接使用<img>,就不存在指定<div>的高度及宽度的问题,因为<img>作为行级元素,根据其自身的情况(高度及宽度)能够占有一部分空间,这样就能够正常显示.如果图片不做为一个单独的元素,而是做

浮动div居中定位

当图片不能设为背景的时候,图片上需要配文字,文字div就需要设成浮动层position:absolute: 但是这时,这个浮动div无法显示在img中间位置,不同分辨率的移动设备会显示位置错乱 这时可以将浮动div设成相对body的定位, .bonus-back { height: 256px; width: 280px; position: absolute; left: 50%; top: 48%; margin-left: -140px;           /***浮动层宽度的一半***

div+css 定位浅析

各个属性值的定义: 1.static:默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). 2.relative:生成相对定位的元素,通过top,bottom,left,right的设置相对于其正常位置进行定位.可通过z-index进行层次分级. 3.absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位.元素的位置通过 "left", "top", &qu

将一个div始终定位在屏幕中心

//div的id为box #box{ width:200px; heighti:200px; border:1px solid #f00; //重点是以下规则 position:absolute; top:0px; left:0px; bottom:0px; right:0px; margin:auto; }

CSS—DIV浮动定位 消除影响

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>消除浮动影响</title><style type="text/css"> #d0,p{ border: 1pX solid red; width: 400PX; } #d1,#d2,#d3{ width:100px; height: 100PX; margin: 10PX