찾다
웹 프론트엔드CSS 튜토리얼CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

이 글은 CSS의 절대 위치 지정을 분석하여 여러분의 이해에 도움이 되길 바랍니다.

CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

요소 위치를 지정하는 것은 요소 자체를 위치 지정하는 것이 아니라 요소 컨테이너의 위치를 ​​지정하는 것입니다. 자체 위치를 지정하려면 어느 상위 div를 기준으로 위치가 지정되는지 알아야 합니다. [관련 권장 사항: "css 비디오 튜토리얼"]

다음 코드는 4개의 중첩된 div, .box-1에서 .box-3까지가 센터링이 달성되었음을 보여줍니다. display: flexmargin: auto를 통해. .box-4에는 margin이 설정되어 있지 않으며 문서 흐름의 기본 위치에 있습니다. .box-1.box-3 仅仅通过 display: flex 和  margin: auto 来实现居中。 .box-4  没有设置  margin ,处于文档流中默认的位置。

<body>
  <div class="box-1">
    <div class="box-2">
      <div class="box-3">
        <div class="box-4"></div>
      </div>
    </div>
  </div>
</body>

所有元素都没有设置 position 属性

body {
  display: flex;
}
.box-1,
.box-2,
.box-3 {
  display: flex;
  margin: auto;
}

CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

.box-4 在默认位置

元素要想定位自己,必须知道2件事:

  • 通过 top, right, bottom, left 设置的值
  • 相对于哪个父级元素来定位

当我们给 .box-4 添加 position: absolute 属性后,发现它从普通文档流中脱离出来了。在没有设置位置属性的情况下,它只是呆在默认位置,也就是父容器的左上角。

CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

.box-4  绝对定位时位置无偏移

通过添加 top: 0left: 0 ,元素必须要知道哪个元素将作为定位的参考容器。 可以看到这里元素被定位到了屏幕左上角。 .box-4 会先检查它的父容器是否设置了 position 属性。一开始,它发现 .box-3 没有设置定位属性,然后它就继续往上一层  .box-2.box-1 , 发现它们都没有设置可用的 position 属性 。

最终 .box-4 也没能找到可以用于定位参考的父级元素,最后只能以 body 作为定位参考。 元素最终被定位在屏幕左上角:

CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

.box-4 绝对定位,所有父元素都未设置  position 属性

当我们给 .box-1 设置  position: relative 后 ,  .box-4 发现有了可用的定位参考。并最终相对于 .box-1  实现了定位:

CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

.box-4 绝对定位,.box-1 相对定位,.box-2.box-3 不变

绝对定位元素将相对于离它最近的祖先元素来定位自己。

一旦找到了可用的祖先元素, 其它元素将不再与它相关(比如 box2 和 box3)。 下面的图片展示了分别给  .box-2.box-3 设置 position:relative 之后的效果:

CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

.box-4  绝对定位,.box-2.box-3rrreee

모든 요소에 position 속성 세트가 없습니다
rrreee
CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!

.box-4 기본 위치에서

자신의 위치를 ​​지정하려면 다음 두 가지를 알아야 합니다.

  • 상단, 오른쪽, 하단, 왼쪽으로 설정된 값
  • 어느 상위 요소를 배치할지 기준으로.box-4position:absolute 속성을 ​​추가했을 때, 일반 문서에서 변경되었습니다. 흐름에서 벗어났습니다. 위치 속성을 설정하지 않으면 상위 컨테이너의 왼쪽 위 모서리인 기본 위치에 그대로 유지됩니다.

    🎜CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!🎜🎜🎜 .box-4 절대 위치 지정 중에는 위치 오프셋이 없습니다🎜🎜🎜top: 0left: 0를 추가하면 요소가 알아야 합니다. which 요소는 위치 지정을 위한 참조 컨테이너 역할을 합니다. 여기의 요소가 화면의 왼쪽 상단에 위치하는 것을 볼 수 있습니다. .box-4는 먼저 상위 컨테이너에 position 속성이 설정되어 있는지 확인합니다. 먼저 .box-3에 위치 지정 속성이 설정되지 않은 것을 확인한 다음 .box-2.box-까지 한 수준까지 계속됩니다. 1 code> , 그 중 어느 것도 사용 가능한 <code>position 속성을 ​​설정하지 않은 것으로 나타났습니다. 🎜🎜결국 .box-4는 위치 지정 참조에 사용할 수 있는 상위 요소를 찾지 못했습니다. 결국 body는 참조 요소로만 사용할 수 있었습니다. 포지셔닝 참조. 요소는 최종적으로 화면의 왼쪽 상단에 배치됩니다: 🎜🎜 CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!🎜🎜🎜.box-4 절대 위치 지정, 모든 상위 요소는 position 속성을 ​​설정하지 않았습니다🎜🎜🎜 .box- 1 위치: 상대를 설정한 후 .box-4는 사용 가능한 위치 지정 참조가 있음을 발견했습니다. 그리고 마침내 .box-1을 기준으로 한 위치 지정을 달성했습니다. 🎜🎜CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!🎜🎜🎜.box-4 절대 위치 지정, .box-1 상대 위치 지정, . box-2.box-3는 변경되지 않습니다. 🎜🎜

    절대적으로 배치된 요소는 가장 가까운 상위 요소인 자신을 기준으로 배치됩니다.

    🎜사용 가능한 상위 요소가 발견되면 다른 요소는 더 이상 해당 요소와 관련되지 않습니다(예: box2 및 box3). 아래 그림은 각각 .box-2.box-3에 대해 position:relative 를 설정한 후의 효과를 보여줍니다. 🎜🎜CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!🎜🎜CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!🎜🎜🎜.box-4 절대 위치, <code>.box-2.box-3 상대 위치🎜🎜🎜🎜원본 주소: https://juejin.cn/post/7008462323316686862🎜 🎜 작성자: M Cool🎜🎜🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 입문🎜을 방문하세요! ! 🎜

    위 내용은 CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명
    이 기사는 掘金--M酷에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
    커서를위한 다음 레벨 CSS 스타일커서를위한 다음 레벨 CSS 스타일Apr 23, 2025 am 11:04 AM

    CSS가있는 커스텀 커서는 훌륭하지만 JavaScript를 사용하여 다음 단계로 가져갈 수 있습니다. JavaScript를 사용하면 커서 상태를 전환하고 커서 내에 동적 텍스트를 배치하고 복잡한 애니메이션을 적용하며 필터를 적용 할 수 있습니다.

    Worlds Collide : 스타일 쿼리를 사용한 KeyFrame Collision DetectionWorlds Collide : 스타일 쿼리를 사용한 KeyFrame Collision DetectionApr 23, 2025 am 10:42 AM

    2025 년에 서로를 ricocheting하는 요소가있는 대화식 CSS 애니메이션은 CSS에서 Pong을 구현할 필요가 없지만 CSS의 유연성과 힘이 증가하는 것은 LEE의 의심을 강화합니다.

    UI 효과를 위해 CSS 배경 필터 사용UI 효과를 위해 CSS 배경 필터 사용Apr 23, 2025 am 10:20 AM

    CSS 배경 필터 속성을 사용하여 사용자 인터페이스 스타일에 대한 팁과 요령. 여러 요소들 사이에 필터를 배경으로 배경으로 배경으로하는 방법을 배우고 다른 CSS 그래픽 효과와 통합하여 정교한 디자인을 만듭니다.

    미소?미소?Apr 23, 2025 am 09:57 AM

    글쎄, SVG '의 내장 애니메이션 기능은 계획대로 이상 사용되지 않았다. 물론 CSS와 JavaScript는 부하를 운반 할 수있는 것 이상이지만 Smil이 이전과 같이 물에서 죽지 않았다는 것을 아는 것이 좋습니다.

    '예쁜'은 보는 사람의 눈에 있습니다'예쁜'은 보는 사람의 눈에 있습니다Apr 23, 2025 am 09:40 AM

    예, 텍스트-랩을위한 점프 : Safari Technology Preview의 예쁜 착륙! 그러나 Chromium 브라우저에서 작동하는 방식과는 다른 점을 조심하십시오.

    CSS- 트릭 연대기 XLIIICSS- 트릭 연대기 XLIIIApr 23, 2025 am 09:35 AM

    이 CSS- 트릭 업데이트는 Almanac, 최근 Podcast 출연, 새로운 CSS 카운터 가이드 및 귀중한 컨텐츠에 기여하는 몇 가지 새로운 저자의 추가 진전을 강조합니다.

    Tailwind ' s @apply 기능은 소리보다 낫습니다Tailwind ' s @apply 기능은 소리보다 낫습니다Apr 23, 2025 am 09:23 AM

    대부분의 경우 사람들은 Tailwind ' S 단일 프로퍼 유틸리티 중 하나 (단일 CSS 선언을 변경)와 함께 Tailwind ' s @apply 기능을 보여줍니다. 이런 식으로 선보일 때 @apply는 전혀 약속하는 소리가 들리지 않습니다. 그래서 Obvio

    릴리스가없는 느낌 : 제정신 배치를 향한 여정릴리스가없는 느낌 : 제정신 배치를 향한 여정Apr 23, 2025 am 09:19 AM

    바보처럼 배포하는 것은 배포하는 데 사용하는 도구와 복잡성에 대한 보상과 복잡성이 추가됩니다.

    See all articles

    핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    ZendStudio 13.5.1 맥

    ZendStudio 13.5.1 맥

    강력한 PHP 통합 개발 환경

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

    DVWA

    DVWA

    DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

    VSCode Windows 64비트 다운로드

    VSCode Windows 64비트 다운로드

    Microsoft에서 출시한 강력한 무료 IDE 편집기

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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