成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁(yè) ? 技術(shù)教程 ? 推薦深入理解css中的position定位和z-index屬性
全站頭部文字 我要出現(xiàn)在這里
推薦深入理解css中的position定位和z-index屬性 626 2024-10-20   

作者:Cutsin
原文地址:http://www.moonless.net/blog/2007/09/csspositionz-index.html

注:本文僅供交流使用,如有不當(dāng)之處歡迎批評(píng)指正,但請(qǐng)注明詳由,謝謝!

由于平時(shí)不太用到,所以過(guò)去寫(xiě)css的時(shí)候?qū)τ趐osition屬性的absolute、relative值理解比較模糊,對(duì)于z-index的層疊更是摸不著頭腦,除了理解的因素外,各個(gè)瀏覽器的不同解析結(jié)果也是一個(gè)大問(wèn)題。今天仔細(xì)閱讀了一下css文檔,總算是對(duì)盒模型的浮動(dòng)、定位有了比較深刻的理解。

我們?cè)趯?shí)踐中很有可能遇到這樣的問(wèn)題:
1、做一個(gè)橫向?qū)Ш剑缓笫髽?biāo)經(jīng)過(guò)之后出現(xiàn)下拉菜單,那么這個(gè)下拉菜單的位置控制就是一個(gè)關(guān)鍵;
2、我們想在一個(gè)正常的頁(yè)面布局中放入幾個(gè)浮在頁(yè)面上的氣泡提示,這時(shí)既不想讓氣泡提示破壞正常的文檔布局,又不想氣泡提示的定位在不同的瀏覽器中到處亂飄。
3、當(dāng)我們?cè)谝痪湔5奈谋局胁迦胍粋€(gè)小圖標(biāo)的話(huà),一般會(huì)使用<img />標(biāo)簽,而這時(shí)它的垂直居中問(wèn)題又是讓人困惑,無(wú)論你使用html屬性absmiddle、或是使用css屬性vertical-align、抑或是使用父對(duì)象的heigh + line-height,在不同的瀏覽器中總會(huì)看起來(lái)不同。

嗯,上面幾個(gè)問(wèn)題你是否也遇到過(guò)呢?如果你至今還沒(méi)有一個(gè)很好的解決辦法,不妨繼續(xù)閱讀此文,或許能對(duì)你有所幫助:)
我們先看一下position屬性的幾個(gè)取值定義:
position: static、absolute、relative

static : 默認(rèn)值。如果沒(méi)有指定position屬性,支持position屬性的html對(duì)象都是默認(rèn)為static,可以這么理解:把html頁(yè)面看作一個(gè)文檔流,源代碼中各個(gè)標(biāo)簽的先后位置就是它們所對(duì)應(yīng)的對(duì)象的呈現(xiàn)次序,所有取值為static的對(duì)象都按照你所編寫(xiě)的html標(biāo)簽的順序依次呈現(xiàn)。
如下圖所示,這是一個(gè)常見(jiàn)的指定了float:left;的橫向?qū)Ш剑?br />

relative: 相對(duì)定位。這個(gè)屬性值保持對(duì)象所在文檔流中的位置,也就是說(shuō)它具有和static相同的呈現(xiàn)方式,它同樣占有在文檔流中的固定位置,后面的對(duì)象不會(huì)侵占或覆蓋;與static屬性值不同的是,設(shè)置了relative的對(duì)象,可以通過(guò)top, left, right, bottom屬性設(shè)定自己的新顯示位置,這4個(gè)屬性的取值是相對(duì)于文檔流的前一個(gè)對(duì)象的,你可以自由設(shè)置這4個(gè)屬性偏移到新的位置而不對(duì)文檔流中的其他對(duì)象產(chǎn)生任何影響,原來(lái)的頁(yè)面呈現(xiàn)仍然會(huì)我行我素:


absolute: 絕對(duì)定位。和relative不同的是,這個(gè)屬性值會(huì)將當(dāng)前對(duì)象拖出文檔流,后面的對(duì)象會(huì)占有原來(lái)的位置,也就是說(shuō),當(dāng)前對(duì)象的呈現(xiàn)是獨(dú)立顯示的,但是它的位置在指定top, left, right, bottom任一屬性之前仍是有繼承性的,這時(shí)的4個(gè)屬性的取值是相對(duì)于瀏覽器的,和文檔流無(wú)關(guān)了。如果把示例中的B區(qū)域設(shè)定為absolute而不指定4個(gè)位置屬性,通過(guò)設(shè)定margin來(lái)改變它的相對(duì)位置,用這個(gè)方法可以解決前面提到的問(wèn)題2。


提示a: 蘇昱的css2.0手冊(cè)中提到relative和absolute定位的滾動(dòng)條區(qū)別不是絕對(duì)的,至少在firefox、opera和safari中滾動(dòng)條該出現(xiàn)還是會(huì)出現(xiàn)。

提示b: 屬性值為absolute對(duì)象的z-index屬性可以設(shè)置層疊顯示的次序,它是直接有效的;
而屬性值為relative對(duì)象的z-index屬性在設(shè)置時(shí)要小心,把當(dāng)前對(duì)象的z-index設(shè)置為-1是不行的,在firefox中它會(huì)無(wú)法顯示(注意,不是說(shuō)瀏覽器有誤,而是指如果父對(duì)象是根元素body,那么z-index是無(wú)效的,任何z-index設(shè)置都不會(huì)顯示在根元素之后,除了IE的解析bug,感謝#19提示),必須設(shè)置為0以上,我們?nèi)绻胱寗e的對(duì)象擋住它,只有將其他對(duì)象也設(shè)置position為relative,并將z-index屬性取一個(gè)比它大的值即可。

上面的表述不知道也許不是很清晰,具體的理解還是要自己親自動(dòng)手操作一下。

這樣看來(lái),前面的問(wèn)題就有解了,問(wèn)題3我們可以根據(jù)設(shè)計(jì)的要求將其設(shè)置為相對(duì)或絕對(duì)定位;
問(wèn)題1的解決方法也有很多,個(gè)人推薦使用有語(yǔ)義的dl, dt, dd來(lái)實(shí)現(xiàn),而且這個(gè)方法在不同瀏覽器中的表現(xiàn)基本相同(已在ie, firefox, opera, safari中測(cè)試),僅在top的屬性上有幾像素的差異,由于時(shí)間關(guān)系我只能給出自己測(cè)試時(shí)的代碼以供參考:

body { color:#fff; font-size:12px; } ul li { float:left; height:30px; background-color:#99CC99; margin:0 10px; padding:0; border:1px solid #c30; width:100px; } ul li div { border:1px solid #f00; background-color:#996666; width:100px; height:100px; position:absolute; margin-top:15px; margin-left:-1px; *margin-left:-79px; } ul li dl, ul li dl dt, ul li dl dd { margin:0; padding:0; } ul li dl dd { border:1px solid #f00; background-color:#996666; width:100px; height:100px; position:absolute; margin-top:11px; *margin-top:10px; margin-left:-1px; } 標(biāo)題 - #text 下拉菜單 - div 列表b 列表c 標(biāo)題 - dt 下拉菜單 - dd
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
補(bǔ)充一個(gè)例子,請(qǐng)?jiān)贗E和非IE瀏覽器中對(duì)比觀看:

一段文本一段文本一段文本一段文本一段文本一段文本一段文本 另一段文本另一段文本另一段文本

第三段不同的文本第三段不同的文本

第四段指定了block的文本

第四段指定了block的文本 第四段指定了block的文本 第四段指定了block的文本 第四段指定了block的文本
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
從這個(gè)例子可以看出,IE將一個(gè)塊元素絕對(duì)定位時(shí),如果父元素是一個(gè)塊級(jí)元素,那么拖出文檔流之后它仍會(huì)繼承原來(lái)所在位置的坐標(biāo);
而非IE瀏覽器的做法是:拖出文檔流之后,直接定位到父元素所在的坐標(biāo)。

css

主站蜘蛛池模板: 幻想电影在线播放完整版| 捆绑二次元美女挠脚心| 凤凰卫视节目表| 屁屁视频| 少年团时代成员| 糟老头视频| 韩漫画未删减男同| 比基尼诱惑| 底线演员表全部演员介绍| 五猖会原文加批注图片| 西部往事 电影| 田成仁个人资料年龄| 第二回合我爱你| 战上海老电影战争片子| 婚后三十年电视剧剧情介绍| 成年人看的小视频| 瓶邪图片| 死亡繁殖| 天狂传说之巴啦啦小魔仙合集 | xxxxxxxxxxxx| 秦江池姜小说免费阅读全文最新章节| 心太狂| 电影世界冒险记| 日本尺度| 吴雪雯| 电视剧火流星演员表| 白世莉| 国内自拍99| 大众故事1974意大利| 王宝强 唐人街探案| 同乐赛鸽公棚| 刘浩存个人简介资料| 大学英语综合教程1答案| a面b面| 善良的姐妹| 乱世枭雄评书485集免费| 头像图| cctv第一剧场频道| 刺客聂隐娘| 香港之夜在线观看免费观看| 茅山道士在线观看|

!!!站長(zhǎng)長(zhǎng)期在線(xiàn)接!!!

網(wǎng)站、小程序:定制開(kāi)發(fā)/二次開(kāi)發(fā)/仿制開(kāi)發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長(zhǎng)微信:lxwl520520

站長(zhǎng)QQ:1737366103