목차
wrapping
하이디셉션
앵커 포인트를 결정하는 방법
和relative相爱相杀
웹 프론트엔드 프런트엔드 Q&A CSS에서 절대 위치 지정이란 무엇입니까?

CSS에서 절대 위치 지정이란 무엇입니까?

Nov 02, 2021 pm 04:42 PM
css 절대 위치

CSS에서 절대 위치 지정은 요소의 위치를 ​​문서 흐름과 독립적으로 만드는 위치 지정 방법입니다. 절대 위치 지정으로 설정된 요소 상자는 문서 흐름에서 완전히 제거되고 포함 블록을 기준으로 배치됩니다. 기본적으로 절대 위치 지정 위치는 브라우저를 기준으로 위쪽, 오른쪽, 아래쪽 및 왼쪽에 배치됩니다.

CSS에서 절대 위치 지정이란 무엇입니까?

이 튜토리얼의 운영 환경: Windows7 시스템, CSS3&&HTML5 버전, Dell G3 컴퓨터.

CSS에서 절대 위치 지정은 요소의 위치를 ​​문서 흐름과 독립적으로 만드는 위치 지정 방법입니다.

절대 위치 지정으로 설정된 요소 상자는 문서 흐름에서 완전히 제거되고 포함 블록(문서의 다른 요소 또는 초기 포함 블록일 수 있음)을 기준으로 배치됩니다. 기본적으로 절대 위치 지정 위치는 브라우저를 기준으로 하며 위쪽, 오른쪽, 아래쪽, 왼쪽으로 배치됩니다.

일반적인 문서 흐름에서 요소가 이전에 차지했던 공간은 해당 요소가 존재하지 않은 것처럼 닫힙니다. 요소는 원래 일반 흐름에서 생성된 상자 유형에 관계없이 위치 지정 후 블록 수준 상자를 생성합니다.

절대 위치 지정(absolute)에 대해 자세히 알아볼까요? 실제로 절대 위치 지정 절대와 부동 부동은 부분적으로 유사합니다. 부동 부동을 이해할 수 있다면 절대 위치 지정 절대를 이해하는 데 큰 도움이 될 것입니다.

먼저 절대값과 부동소수점 사이의 유사점에 대해 이야기해 보겠습니다. wrappinghighly deceptive

wrapping

사진은 천 마디 말보다 낫다고 합니다(유일한 차이점은 사진의 p입니다. 아래는 절대값을 추가했습니다)

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  <img  src="/static/imghw/default1.png"  data-src="img/25/1.jpg"  class="lazy"   / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
<p style="border:4px solid red; position: absolute;">
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"   / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
로그인 후 복사

요소에 절대값이나 부동소수점을 추가하면 요소에 display:block;을 추가하는 것과 같습니다. 그것은 무엇을 의미합니까? 예를 들어 인라인 요소 범위의 기본 너비는 가변적이므로 너비를 추가하면 작동하지 않습니다. 너비를 설정하려면 범위를 display:block으로 설정해야 합니다. 하지만 스팬에 절대값이나 부동소수점을 추가하면 스팬의 표시 속성이 자동으로 블록이 되어 너비를 지정할 수 있습니다. 따라서 CSS에서 절대/부동 및 표시:블록이 동시에 나타나는 경우 표시:블록은 중복된 CSS 코드입니다.

하이디셉션

위의 예에서는 사진의 바깥쪽 레이어의 p에 절대값이 추가되어 높은 디셉션이 잘 반영되지 않고 내부 사진으로 절대값이 이동되어 효과가 나타납니다. out:

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  <img  src="/static/imghw/default1.png"  data-src="img/25/1.jpg"  class="lazy"   / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
<p style="border:4px solid red;">
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"    style="max-width:90%"  / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
로그인 후 복사

CSS float에 대한 자세한 설명을 읽어보셨다면 효과가 동일하다는 것을 아실 것입니다. 그러나 그 뒤에 숨은 원칙은 실제로 다르며 완전히 동일하지는 않습니다. 텍스트를 추가하면 볼 수 있습니다:

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  <img  src="/static/imghw/default1.png"  data-src="img/25/1.jpg"  class="lazy"   / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
<p style="border:4px solid red;">
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"    style="max-width:90%"  / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
  我是一个绝对定位的absolute元素
</p>
로그인 후 복사

그림을 보면 텍스트가 그림에 가려져 있다는 것이 분명합니다. 이는 float와는 다릅니다. float는 높이가 축소되었다고 생각하도록 부모 요소를 속이지만, float 요소 자체는 여전히 문서 흐름에 있고, 텍스트는 float 요소를 둘러싸고 가려지지 않습니다.

그러나 절대값은 더 이상 상위 요소를 속이는 것으로 간주할 수 없으며 레벨 관계를 갖습니다. 일반 문서 흐름의 상위 요소가 필멸의 요소로 간주되면 절대 요소는 오늘날의 관점에서 더 이상 동일한 차원에 있지 않습니다. 상위 요소 관점에서는 절대값으로 설정된 이미지가 완전히 사라져 텍스트가 가장 왼쪽부터 표시됩니다. 절대레벨이 높아서 글이 그림으로 가려집니다.

아직 전투력 5의 쓰레기였던 CSS를 처음 접했을 때, 절대에도 계층 개념이 있을 수 있다는 것을 알았으니 이제 완전히 이해했다고 착각했던 기억이 납니다. 생각해 보면 정말 혼란스럽습니다. (물론 나쁜 것은 아닙니다. 과거의 자신이 두부 조각 같았다고 느낄 때마다 그것은 발전했다는 의미입니다. 반면에 항상 생각한다면 그 당시의 당신은 여전히 ​​​​영예에 안주하고 있다는 것을 의미합니다.)

위의 기초를 다 갖춘 후에는 다음과 같은 절대의 특징도 이해해야 합니다.

  • 기준점을 결정하는 방법
  • 및 상대 사랑과 죽음
  • z-index와의 관계
  • 다시 그리는 비용을 줄이고 reflow

앵커 포인트를 결정하는 방법

절대값이 계층화되면 가장 먼저 발생하는 질문은 브라우저가 요소를 표시할 위치입니다. 일반 문서 흐름의 요소에 대해 브라우저는 상위, 하위 및 형제 요소의 크기와 위치를 기반으로 요소의 위치를 ​​계산할 수 있습니다. 그런데 레이어링 후에는 어떻게 해야 할까요? 기본 아이디어는 다음과 같습니다.

첫 번째 경우: 사용자가 요소에 대해 절대값만 지정하고 왼쪽/상단/오른쪽/하단을 지정하지 않습니다. 이때, 절대 요소의 왼쪽 상단 기준점 위치는 일반적인 문서 흐름에서의 요소 위치입니다. 위 그림에서와 같이 그림 팬더는 상위 요소의 첫 번째 하위이므로 왼쪽 위 모서리 앵커 포인트는 상위 요소 콘텐츠의 왼쪽 위 모서리입니다.

그림 팬더와 아래 텍스트의 순서를 변경하여 부모 요소의 두 번째 자식으로 만들면 그림은 천 단어의 가치가 있습니다.

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  我是一个绝对定位的absolute元素
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"    style="max-width:90%"  / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

结论重复一遍:未指定left/top/right/bottom的absolute元素,其在所处层级中的定位点就是正常文档流中该元素的定位点。

第二种情况:用户给absolute元素指定了left/right,top/bottom

先简单点,让absolute元素没有position:static以外的父元素。此时absolute所处的层是铺满全屏的,即铺满body。会根据用户指定位置的在body上进行定位。

只指定left时,元素的左上角定位点的left值会变成用户指定值。但top值仍旧是该元素在正常文档流中的top值:

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  我是一个绝对定位的absolute元素
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"    style="max-width:90%"  / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

只指定right时,元素的右上角定位点的right值会变成用户指定值。但top值仍旧是该元素在正常文档流中的top值:

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  我是一个绝对定位的absolute元素
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"    style="max-width:90%"  / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

只指定top时,元素的左上角定位点的top值会变成用户指定值。但left值仍旧是该元素在正常文档流中的left值:

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  我是一个绝对定位的absolute元素
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"    style="max-width:90%"  / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

只指定bottom时,元素的左下角定位点的bottom值会变成用户指定值。但left值仍旧是该元素在正常文档流中的left值:

CSS에서 절대 위치 지정이란 무엇입니까?

<p   style="max-width:90%">
  我是一个绝对定位的absolute元素
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"    style="max-width:90%"  / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
</p>
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

通过对left/top/right/bottom的组合设置,由于没有position:static以外的父元素,此时absolute元素可以去任意它想去的地方,天空才是它的极限。

和relative相爱相杀

通常我们对relative的认识是(好吧,我承认,这是我战5渣渣时的认识。如果你是弗利萨,可以鄙视这句话):relative主要用于限制absolute

上面已经说了,如果absolute元素没有position:static以外的父元素,那将相对body定位,天空才是它的极限。而一旦父元素被设为relative,那absolute子元素将相对于其父元素定位,就好像一只脚上被绑了绳子的鸟。

比如你要实现下图iOS里APP右上角的红色圈圈

CSS에서 절대 위치 지정이란 무엇입니까?

通常的做法是将APP图片所处的p设成relative,然后红色圈圈设成absolute,再设top/right即可。这样无论用户怎么改变APP图片的位置,红色圈圈永远固定在右上角,例如:

CSS에서 절대 위치 지정이란 무엇입니까?

.tipIcon {
  background-color: #f00;
  color: #fff;
  border-radius:50%;
  text-align: center;
  position: absolute;
  width: 20px;
  height: 20px;
  right:-10px;  //负值为自身体积的一半
  top:-10px;
}

<p style="display: inline-block;position:relative;">
  <img  src="/static/imghw/default1.png"  data-src="img/25/2.jpg"  class="lazy"   / alt="CSS에서 절대 위치 지정이란 무엇입니까?" >
  <span class="tipIcon">6</span>
</p>
로그인 후 복사

这样做效果是OK的,兼容性也OK。但CSS的世界里要实现一个效果可以有很多种方式,具体选用哪个方案是见仁见智的。我比较看重的标准:一个是简洁,另一个是尽量让每个属性干其本职工作。

用这两个标准看待上述实现方法,应该是有改进的空间的。首先外层p多了relative未能简洁到极致。其次relative的本职工作是让元素在相对其正常文档流位置进行偏移,但父层p并不需要任何位置偏移,之所以设成relative唯一的目的是限制absolute子元素的定位点。因此在我看来这并没有让relative干其本职工作。好比小姐的本职工作是服务业,顺便陪客户聊聊天,但纯聊天聊完一个钟,恐怕会被投诉。

(学习视频分享:css视频教程

위 내용은 CSS에서 절대 위치 지정이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Vue에서 부트 스트랩을 사용하는 방법 Vue에서 부트 스트랩을 사용하는 방법 Apr 07, 2025 pm 11:33 PM

vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

HTML, CSS 및 JavaScript 이해 : 초보자 안내서 HTML, CSS 및 JavaScript 이해 : 초보자 안내서 Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

HTML, CSS 및 JavaScript의 역할 : 핵심 책임 HTML, CSS 및 JavaScript의 역할 : 핵심 책임 Apr 08, 2025 pm 07:05 PM

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

부트 스트랩에 사진을 삽입하는 방법 부트 스트랩에 사진을 삽입하는 방법 Apr 07, 2025 pm 03:30 PM

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.

부트 스트랩에 분할 라인을 작성하는 방법 부트 스트랩에 분할 라인을 작성하는 방법 Apr 07, 2025 pm 03:12 PM

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

부트 스트랩을위한 프레임 워크를 설정하는 방법 부트 스트랩을위한 프레임 워크를 설정하는 방법 Apr 07, 2025 pm 03:27 PM

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.

부트 스트랩 크기를 조정하는 방법 부트 스트랩 크기를 조정하는 방법 Apr 07, 2025 pm 03:18 PM

부트 스트랩에서 요소의 크기를 조정하려면 다음을 포함하여 차원 클래스를 사용할 수 있습니다.

부트 스트랩 버튼을 사용하는 방법 부트 스트랩 버튼을 사용하는 방법 Apr 07, 2025 pm 03:09 PM

부트 스트랩 버튼을 사용하는 방법? 부트 스트랩 CSS를 소개하여 버튼 요소를 만들고 부트 스트랩 버튼 클래스를 추가하여 버튼 텍스트를 추가하십시오.

See all articles