关于relative和absolute的总结_html/css_WEB-ITnose
对于定位这个性质我原理上来说自己是明白的,但是在实践的过程中,总会出现各种稀奇古怪的情况,加relative或是absolute就可以解决,但是遇到这些情况总是不明白为什么!!!难道是脑容量太小的原因吗!!!=_=!!<br />还是先记基础知识好了,因为里面还是有很多坑!!<br />相对定位:<br /> 内联元素加相对定位也不支持宽高!!<br /> relative并不会使元素脱离正常文档流!<br /> 以上两点说明加上相对定位不影响元素本身的特性,内联元素和块元素依旧保持原来本身的特性!就是说原来是内联加上relative以后还是内联啦!<br /> 如果不设置偏移量,相对定位本身并没有什么卵用~<br /> <br /> 所以,相对定位要加偏移量,left/top/bottom/right是相对于该元素原来的位置设置偏移量的哦哦哦~<br /><br />绝对定位:<br /> 内联元素变得支持宽高啦~如果没有设置宽度,则内容撑开宽度!!(类似于float,内联元素加上float以后也支持宽高滴!!)<br /> 会使该元素完全脱离文档流<br /> 如果有父级定位则是相对于父级发生偏移,没有定位父级则是相对于body发生偏移!<br /> 也是要搭配偏移量使用啦~<br /><br />如果直接在body里添加文字和一个<div>标签,<br /> 1. 给<div>设置absolute定位,不设置偏移量,则<div>定位在紧接着文字的下面<br /> 2. 给<div>设置absolute,并且设置偏移量,则<div>是按偏移量相对于body定位<br /> 3. 给<div>设置relative,不论是否设置偏移量,都是相对于自己的原来的位置定位。<br />
遮罩弹窗的实现:
<style>body{ height:100%; margin:0;}.shadow{ position:absolute; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.5; filter:alpha(opacity=50);}.filter{ width:300px; height:200px; border:2px solid #000; background:yellow; position:absolute; top:50%; left:50%; margin-left:-152px; margin-top:-102px;}</style><body>contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br />contentcontentcontentcontentcontentcontentcontentcontentcontentcontent<br /> <div class="shadow"></div> <div class="filter"></div></body>
这里阴影部分是相对于body定位的!!!(body>html>文档)
如果这个弹窗只写 position:absolute; top:50%; left:50%;则表示左上角那个点是居中的!!!所以这里要设置margin-top,margin-left为整个元素高、宽的一半!
而且这里要注意!!!这里的宽高不是设置的width和height值,而是padding+border+width和padding+border+height的一半!!!!
设置透明度为:opacity:0~1;filter:alpha(opacity=0~100);但是呢,半透明对IE6不兼容!打开是一片黑呀~~
这里还有一个问题,对body要设置height:100%,不然在IE6下遮罩不会占据整个屏幕的~
这里有个问题,为什么给shadow设position:relative;以后就看不到整个半透明的遮罩啦???!!!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本文討論了HTML&lt; Progress&gt;元素,其目的,樣式和與&lt; meter&gt;元素。主要重點是使用&lt; progress&gt;為了完成任務和LT;儀表&gt;對於stati

本文討論了html&lt; datalist&gt;元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

本文討論了HTML&lt; meter&gt;元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了&lt; meter&gt;從&lt; progress&gt;和前

本文討論了視口元標籤,這對於移動設備上的響應式Web設計至關重要。它解釋瞭如何正確使用確保最佳的內容縮放和用戶交互,而濫用可能會導致設計和可訪問性問題。

本文討論了&lt; iframe&gt;將外部內容嵌入網頁,其常見用途,安全風險以及諸如對象標籤和API等替代方案的目的。

HTML適合初學者學習,因為它簡單易學且能快速看到成果。 1)HTML的學習曲線平緩,易於上手。 2)只需掌握基本標籤即可開始創建網頁。 3)靈活性高,可與CSS和JavaScript結合使用。 4)豐富的學習資源和現代工具支持學習過程。
