关于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 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...
