이 글은 CSS의 절대 위치 지정을 분석하여 여러분의 이해에 도움이 되길 바랍니다.
요소 위치를 지정하는 것은 요소 자체를 위치 지정하는 것이 아니라 요소 컨테이너의 위치를 지정하는 것입니다. 자체 위치를 지정하려면 어느 상위 div를 기준으로 위치가 지정되는지 알아야 합니다. [관련 권장 사항: "css 비디오 튜토리얼"]
다음 코드는 4개의 중첩된 div, .box-1
에서 .box-3
까지가 센터링이 달성되었음을 보여줍니다. display: flex
및 margin: 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; }
.box-4
在默认位置
元素要想定位自己,必须知道2件事:
- 通过
top
,right
,bottom
,left
设置的值 - 相对于哪个父级元素来定位
当我们给 .box-4
添加 position: absolute
属性后,发现它从普通文档流中脱离出来了。在没有设置位置属性的情况下,它只是呆在默认位置,也就是父容器的左上角。
.box-4
绝对定位时位置无偏移
通过添加 top: 0
和 left: 0
,元素必须要知道哪个元素将作为定位的参考容器。 可以看到这里元素被定位到了屏幕左上角。 .box-4
会先检查它的父容器是否设置了 position
属性。一开始,它发现 .box-3
没有设置定位属性,然后它就继续往上一层 .box-2
和 .box-1
, 发现它们都没有设置可用的 position
属性 。
最终 .box-4
也没能找到可以用于定位参考的父级元素,最后只能以 body
作为定位参考。 元素最终被定位在屏幕左上角:
.box-4
绝对定位,所有父元素都未设置position
属性
当我们给 .box-1
设置 position: relative
后 , .box-4
发现有了可用的定位参考。并最终相对于 .box-1
实现了定位:
.box-4
绝对定位,.box-1
相对定位,.box-2
和.box-3
不变
绝对定位元素将相对于离它最近的祖先元素来定位自己。
一旦找到了可用的祖先元素, 其它元素将不再与它相关(比如 box2 和 box3)。 下面的图片展示了分别给 .box-2
和 .box-3
设置 position:relative
之后的效果:
rrreee모든 요소에
.box-4
绝对定位,.box-2
和.box-3
rrreeeposition
속성 세트가 없습니다
![]()
.box-4
기본 위치에서
자신의 위치를 지정하려면 다음 두 가지를 알아야 합니다. 상단
, 오른쪽
, 하단
, 왼쪽
으로 설정된 값.box-4
에 position:absolute
속성을 추가했을 때, 일반 문서에서 변경되었습니다. 흐름에서 벗어났습니다. 위치 속성을 설정하지 않으면 상위 컨테이너의 왼쪽 위 모서리인 기본 위치에 그대로 유지됩니다.

.box-4
절대 위치 지정 중에는 위치 오프셋이 없습니다🎜🎜🎜top: 0
및 left: 0
를 추가하면 요소가 알아야 합니다. which 요소는 위치 지정을 위한 참조 컨테이너 역할을 합니다. 여기의 요소가 화면의 왼쪽 상단에 위치하는 것을 볼 수 있습니다. .box-4
는 먼저 상위 컨테이너에 position
속성이 설정되어 있는지 확인합니다. 먼저 .box-3
에 위치 지정 속성이 설정되지 않은 것을 확인한 다음 .box-2
및 .box-까지 한 수준까지 계속됩니다. 1 code> , 그 중 어느 것도 사용 가능한 <code>position
속성을 설정하지 않은 것으로 나타났습니다. 🎜🎜결국 .box-4
는 위치 지정 참조에 사용할 수 있는 상위 요소를 찾지 못했습니다. 결국 body
는 참조 요소로만 사용할 수 있었습니다. 포지셔닝 참조. 요소는 최종적으로 화면의 왼쪽 상단에 배치됩니다: 🎜🎜.box-4
절대 위치 지정, 모든 상위 요소는 position
속성을 설정하지 않았습니다🎜🎜🎜 .box- 1
위치: 상대
를 설정한 후 .box-4
는 사용 가능한 위치 지정 참조가 있음을 발견했습니다. 그리고 마침내 .box-1
을 기준으로 한 위치 지정을 달성했습니다. 🎜🎜.box-4
절대 위치 지정, .box-1
상대 위치 지정, . box-2
및 .box-3
는 변경되지 않습니다. 🎜🎜절대적으로 배치된 요소는 가장 가까운 상위 요소인 자신을 기준으로 배치됩니다.
🎜사용 가능한 상위 요소가 발견되면 다른 요소는 더 이상 해당 요소와 관련되지 않습니다(예: box2 및 box3). 아래 그림은 각각.box-2
및 .box-3
에 대해 position:relative
를 설정한 후의 효과를 보여줍니다. 🎜🎜
.box-4 절대 위치, <code>.box-2
및 .box-3
상대 위치🎜🎜🎜🎜원본 주소: https://juejin.cn/post/7008462323316686862🎜 🎜 작성자: M Cool🎜🎜🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 입문🎜을 방문하세요! ! 🎜위 내용은 CSS의 절대 위치 지정에 대한 심층 분석과 철저한 이해!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

TheBestMethodforincludingcssdependsonProjectSizeanDocplexity : 1) ForlargerProjects, useexternalcssforbettermainabilitableandableabilitable.2) ForsMallerProjects, 내부 CSSSSISSUITSIUT ABOIDEXTRAHTTPREQUESTS.ALWAYSIDERMANGERMANDIFIDANIDITION

@keyframesandcsstransitionsdifferincomplexity :@keyframesallowsfordeTailEdanimationsections, whilecsStransitsimplestateChanges.UsecsStransitionSforHovereffects likeToncolorChanges 및@keyframesforintricateanimationspinners.

알고 있습니다. 컨텐츠 관리 시스템 옵션이 수많은 톤을 사용할 수 있으며, 여러 번 테스트했지만 실제로는 아무도 없었습니다. y ' 이상한 가격 책정 모델, 어려운 커스터마이즈, 일부는 전체가되었습니다.

HTML의 일부에서 요소를 사용하여 CSS 파일을 HTML에 연결하면 달성 할 수 있습니다. 1) 태그를 사용하여 로컬 CSS 파일을 연결하십시오. 2) 여러 개의 태그를 추가하여 여러 CSS 파일을 구현할 수 있습니다. 3) 외부 CSS 파일은 다음과 같은 절대 URL 링크를 사용합니다. 4) 파일 경로 및 CSS 파일로드 순서의 올바른 사용을 확인하고 성능을 최적화하면 CSS Preprocessor를 사용하여 파일을 병합 할 수 있습니다.

Flexbox 또는 그리드 선택은 레이아웃 요구 사항에 따라 다릅니다. 1) Flexbox는 탐색 표시 줄과 같은 1 차원 레이아웃에 적합합니다. 2) 그리드는 매거진 레이아웃과 같은 2 차원 레이아웃에 적합합니다. 두 사람은 프로젝트에 사용하여 레이아웃 효과를 향상시킬 수 있습니다.

CSS 파일을 포함시키는 가장 좋은 방법은 태그를 사용하여 HTML 부분에 외부 CSS 파일을 소개하는 것입니다. 1. 태그를 사용하여 외부 CSS 파일을 소개합니다. 2. 작은 조정의 경우 인라인 CSS를 사용할 수 있지만주의해서 사용해야합니다. 3. 대규모 프로젝트는 SASS와 같은 CSS 전 처리기를 사용하여 @Import를 통해 다른 CSS 파일을 가져올 수 있습니다. 4. 성능의 경우 CSS 파일을 병합하고 CDN을 사용해야하고 CSSNANO와 같은 도구를 사용하여 압축해야합니다.

예, YoushouldLearnbothflexBoxAndgrid.1) FlexBoxisIdealforone-Dimensional, FlexiblelayoutSlikenavigationMenus.2) GridexCelsIntwo-Dimensional, ComplexDesignsSuchasmagazinElayouts.3) 결합 된 BothenSlayoutFlexibility 및 HeartingFortructur


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

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

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

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.