详解学习DIV CSS之绝对定位和相对定位.docx

上传人:p** 文档编号:316918 上传时间:2023-05-22 格式:DOCX 页数:8 大小:32.50KB
下载 相关 举报
详解学习DIV CSS之绝对定位和相对定位.docx_第1页
第1页 / 共8页
详解学习DIV CSS之绝对定位和相对定位.docx_第2页
第2页 / 共8页
详解学习DIV CSS之绝对定位和相对定位.docx_第3页
第3页 / 共8页
详解学习DIV CSS之绝对定位和相对定位.docx_第4页
第4页 / 共8页
详解学习DIV CSS之绝对定位和相对定位.docx_第5页
第5页 / 共8页
详解学习DIV CSS之绝对定位和相对定位.docx_第6页
第6页 / 共8页
详解学习DIV CSS之绝对定位和相对定位.docx_第7页
第7页 / 共8页
详解学习DIV CSS之绝对定位和相对定位.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
资源描述

《详解学习DIV CSS之绝对定位和相对定位.docx》由会员分享,可在线阅读,更多相关《详解学习DIV CSS之绝对定位和相对定位.docx(8页珍藏版)》请在第壹文秘上搜索。

1、详解学习DIV+CSS之绝对定位和相对定位2008-01-2713:40前言在用CSS控制排版过程中,定位一直被人认为是一个难点,这主要是表现为很多网友在没有深入理解清楚定位的原理时,排出来的杂乱网页常让他们不知所措,而另一边一些高手则常常借助定位的强大功能做出些很酷的效果来,比如CSS相册等等,因此自己杂乱的网页与高手完美的设计形成鲜明对比,这在一定程度上打击了初学定位的网友,也在他们心目中形成这样的一种思想:当我熟练地玩转CSS定位时,我就已是高手了。不管你怎么想,我只希望下面的教程能让你更深入地了解CSS定位属性。阅读建议先说说我这篇教程的思路,这对于你在正真开始阅教程前是有很大帮助的。

2、我的思路是这样的:先给出定位较专业化精炼的解释,接下来再用打比如的方法形象地介绍它们,此时大家要和前面讲到的专业解释对比阅读。介绍完理论,将通过实例来介绍定位的各知识点,虽然实例不美,但每一则实例都是精心挑选的,如果要完整掌握CSS定位方法,请务必弄懂每一个实例的原理。最后将会带大家做一个较为酷的综合实例。如果你想提高你阅读本文的兴趣或者动力,你可以先跳到最后看综合实例的运行效果。1 .定位的专业解释语法position:static!absoluteIfixedrelative(2)说明从上面语法可以看出,定位的方法有很多种,它们分别是静态(static),绝对定位(absolute),固定

3、(fixed),相对定位(relative)。在这个教程里,我不逐一讲,只讲最常用也是最实用的两个定位方法:绝对定位(absolute)、相对定位(relative)。绝对定位(absolute):将被赋予此定位方法的对象从文档流中拖出,使用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父级对象进行绝对定位,如果对象的父级没有设置定位属性,即还是遵循HTML定位规则的,则依据body对象左上角作为参考进行定位。绝对定位对象可层叠,层叠顺序可通过z-index属性控制,z-index值为无单位的整数,大的在最上面,可以有负值(目前负值FF不支持)。相对定位(r

4、elative):对象不可层叠,依据Ieft,right,top,bottom等属性在正常文档流中偏移自身位置。同样可以用z-index分层设计。2 .定位的形象解释我先来架设一个虚拟的场景:有一个矩形的房间,里面还有一个水桶装了些水,水里还浸泡着一个西瓜,这个房间半空中还有不少的钩子用于挂东西用。现在我把网页元素与上面物件对应上,那么房间就是一个网页,水桶是网页中的一个板块,桶中的水就是文本流,西瓜就是将要被定位的对象。(1)贡献的绝对定位(absolute)对照前面解释,如果西瓜被赋予绝对定位,那么就等于把西瓜从水中捞起来挂在半空中的钩子上,水桶中西瓜原来占用的空间水会自动填补它(绝对定位

5、对象会让出自己原先占用位置,所以说它是贡献的)。此时如果之前没有对水桶进行定位设定,那么被拿起的西瓜位置不会再受水桶位置影响,水桶怎么移动,西瓜还是挂在原来位置,至于西瓜要怎放,则以房间左上角(body左上角)为准,用left,right,top,bottom值来定位。但是如果水桶也给出了定位设置(通常是相对定位,下面有讲到这一实用技巧),此时西瓜的摆放就没有那么自由了,尽管此时西瓜被拿起来了不会影响水桶中的水(文本流),但它还是要听桶的话,桶会告诉西瓜“你可以活动,但应该在我的范围内走动,比方说我要你在我左上方1米处,你就要跟死这一点,我走你也要跟着走”,如果桶中有很多个西瓜,可以全部拿出来

6、吊到半空中,它们将被安排在不同高度的空间(层),所以在房顶垂直往下看,有可能看到不同西瓜层叠在一起的情况(这个所谓的高度在网页中是不存在的,就像FLASH动画中的不同层上安排了元素,但它们在看时不会有深度感觉)。可见绝对定位的对象参考目标是它的父级,专业称之为包含块。(2)自私的相对定位(relative)相对定位一个最大特点是:自己通过定位跑开了还占用着原来的位置,不会让给他周围的诸如文本流之类的对象。相对定位也比较独立,做什么事它自己说了算,要定位的时候,它是以自己本身所在位置偏移的(相对对象本身偏移)O再拿前边作比如来解,那么此时西瓜似乎是有魔法的,如果西瓜通过相对定位在水桶中偏移了你会

7、看到一个现实生活中不存在的现象:水中有一个地方水凹下去了,周围的水不能填补它,西瓜看起来在旁边,如果搅动一下桶中的水,那个凹的位置会发现改变(文本流对相对定位对象还存在影响),但是凹处到西瓜出现的距离始终保持一致。可见文本流与它之间还会互相影响,因为对象并没有真正脱离文本流,就像有两个人在同一层楼水平移动的过程中会有碰头的机会。3 3)总结两种定位的特征绝对定位就像是把不同对象安排到了一栋高楼的不同楼层(一般指不是第一层,我们这里理解为文本流就放在首层),它们互不影响,但是它们怎么移动与你楼的地基和面积(父级)有关。相对定位指对象还是在首层楼与文本流一起存放,它们之间肯定存在影响。(4)对特殊

8、情况的补充在用相对定位和绝对定位的时候,有一种情况是它们的定位值用到了负值则对象可沿相反方向移动,刚才说到的把对象安排在一栋楼的不同层,如果某个对象一开始就是背靠着最外边墙的,此时再用一个负值定位它,它就会神奇般地跑出墙外去了,当然现实中可没有这种惊险而又神奇的事发生,本人只为了延用上面的比如作形象解释。(1)无定位设置,对象遵循HTML定位规则。一般是子级不会跑出父级外边去(子级没有使用负边界情况),子级一般是靠在父级左上角的,父级放在最下层。运行代码框code无定位设定,对象遵循HTML定位规则/codeLCtrl+全部选择提示:你可先修改部分代码,再按运行(2)给设定了定位属性的对象指定

9、Ieft,right,top,bottom属性中的至少一个,不然定位不起作用。下面实例中虽然给box2设定了定位属性POSitiOr1:absolute,但是如果没有指定其中一个方位定位值top:Opx,定位是不发生作用的,你可以删除我注释的样式再测试效果进行前后对比。运行代码框title给定位对象指定一个方位数值/codeLCtrl+全部选择提示:你可先修改部分代码,再按运行(3)绝对定位对象可以层叠,层叠顺序用z-index控制,如果没有指定则遵循其父对象的定位方法,就目前来说要做到不同浏览器正常浏览,最好不要给z-index指定负值,因为像FF这样标准的浏览器不支持负值,为了解释这一现象

10、,下面实例中的最底层图片我用到了负值,所以会出现在IE中可以看到3幅图层叠,而转到FF中你就只能看到两幅图层叠了。运行代码框codehtmlXmInS=title绝对定位对象可以层叠,层叠顺序可用z-index控制,但最好不要用负值,因为FF不支持/title)/codeCtrl全部选择提示:你可先修改部分代码,再按运行(4)相对定位对象会占据它原来位置,在下面实例中,没有设定相对定位前,绿色小盒子是在蓝色盒子左上角的,之前也设定了绿色小盒子的浮动方式为左浮动,可以看到文本环绕在它右边,但是后来用相对定位方法把绿色小盒子重定位到外面去了,它还占着自己原来位置,因为你还可以看到文本流没有发生自动填补流动。因此这种直接的相

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > CSS/Script

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!