웹 프론트엔드 면접 질문 8번 - 절대 포지셔닝과 상대 포지셔닝
상대적 위치 지정(relative):
먼저 상대 위치 지정에 대해 이야기해 보겠습니다. 이름처럼 상대적인 참조 개체가 있어야 하지만 이 참조는 다른 것이 아닙니다. 원본 문서 흐름에서 자신의 위치입니까? 상대 위치 지정 후 개체 는 문서 흐름에서 완전히 분리되지 않고 문서에서 이 개체의 원래 위치는 유지되며(똥을 흘리지 않고 변기에 서 있음) 오프셋 개체가 을 대체합니다. 다른 객체와 함께 레이어를 마스크합니다.
상대 위치 지정 특성을 정리하면 다음과 같습니다.
①상대적으로 위치하는 요소의 경우 너비가 설정되지 않은 경우 너비는 브라우저 전체의 너비이거나, 상위 요소의 너비에 따라 달라집니다.
② 상대적으로 배치된 블록 요소는 원래 위치를 기준으로 이동하지만 여전히 문서 흐름의 위치를 차지하고 다른 요소의 레이아웃에는 영향을 주지 않습니다.
다음은 코드를 통해 확인됩니다
브라우저에 서로 다른 색상으로 표시된 5개의 상자를 배치하면 코드는 다음과 같습니다
HTML 코드
CSS 코드
초기 렌더링
세 번째 상자의 상대 위치 설정
요소는 원래 위치를 기준으로 오프셋되며 너비와 높이는 변경되지 않고 유지됩니다. 컨테이너의 레이아웃에 영향을 주지 않고 문서 흐름에서 원래 위치를 차지합니다. 다른 요소.
절대 위치 (절대):
절대 위치 지정 개체는 문서 흐름에서 분리됩니다. 절대 위치 지정의 기준 위치는 상위 또는 상위 위치에 있는지에 따라 달라집니다. 왼쪽을 사용하세요. right, top, bottom 등 속성 은 상대 또는 절대 위치 지정 설정이 있는 가장 가까운 상위 개체를 기준으로 절대값입니다. , 상위 개체가 위치 지정 속성을 설정하지 않으면 html 루트 요소를 기준으로 위치가 지정됩니다. 일부 게시물을 읽은 후 일부 사람들은 상위 개체가 위치 지정 속성을 설정하지 않으면 위치가 지정될 것이라고 생각하는 것으로 나타났습니다. 신체와 관련하여 이 진술은 잘못되었습니다.
절대 위치 지정의 특징은 다음과 같습니다.
① 절대 위치 지정 블록 요소의 너비가 지정되지 않은 경우 요소 내부의 내용에 따라 너비가 결정됩니다. 🎜>
②분리 후 원래 위치는 비어 있는 것과 같으며, 다음 요소가 해당 위치를 차지합니다.
③절대 위치에 있는 개체를 기준으로 설정합니다. 자신과 가장 가까운 상위 개체를 상대 위치 또는 절대 위치로 위치 지정
④ 상위 요소의 위치가 지정되지 않은 경우 html 루트 요소를 기준으로 위치 지정
다음은 여전히 이 5개를 사용합니다. 각 상자의 오프셋을 확인하는 데 사용됩니다. (1) 블록 요소에는 오프셋 값이 없습니다. 위의 5개 상자는 box5에 절대 위치 지정만 제공하고 오프셋 값이 없습니다. 이때 블록 요소는 원래 위치에 떠 있을 뿐입니다. 블록 요소가 뒤에 있으면 문서 흐름에서 해당 위치를 차지하게 됩니다. box5 아래에 box6을 추가하여 효과를 살펴보겠습니다. 참고: 절대 위치에 있는 블록 요소의 너비가 정의되지 않은 경우 너비는 요소 내부의 콘텐츠에 따라 결정됩니다.(2) 오프셋 값이 있습니다
오프셋 값이 설정되어 있고 상위 요소가 상대 위치 또는 절대 위치를 설정하지 않은 경우 해당 요소는 루트 요소를 기준으로 위치가 지정됩니다(예: html 요소, 본문이 아닌 루트 요소를 기준으로 함) 확인하려면 box5의 오프셋을 사용하세요.
①box5에 오프셋을 제공합니다. 상위 요소에는 상대 또는 절대 위치가 없습니다
렌더링은 다음과 같습니다
②box5에 동일한 오프셋을 부여하고 body 요소에 절대 위치 지정(body 요소 설정의 경우) 절대 위치 지정, 절대 위치 지정 블록 요소의 너비는 가장 긴 p에 의해 결정되고 너비는 줄어듭니다.):
렌더링은 다음과 같습니다
사진앱에서 전송
위 두 렌더링 중, 루트 요소를 기준으로 한 위치 지정은 본문을 기준으로 한 위치 지정과 다릅니다. 주요 차이점은 본문의 여백 값을 포함하는지 여부입니다.
다음으로, 5개의 상자 밖에 상위 상자 3개를 더 중첩하고, 이 3개의 상위 상자에 위치를 지정하여 가장 최근에 배치된 상위 요소를 기준으로 오프셋되었는지 확인합니다.
코드는 다음과 같습니다
HTML코드
CSS 코드
렌더링
앱 사진
위에서 보면 box5가 가장 가까운 컨테이너인 세 번째 레이어 컨테이너를 기준으로 배치되어 있음이 분명합니다. 관심이 있으시면 시도해 보고 세 번째 레이어 컨테이너의 위치를 제거하여 두 번째 레이어 컨테이너를 기준으로 위치가 지정되었는지 확인할 수 있습니다. 확인했으며 사진은 게시하지 않겠습니다.
왜 가장 바깥쪽 상자를 절대 위치로 설정하고 다른 두 상자를 상대 위치로 설정해야 하는지 묻는 학생들이 있습니다. 이 위치 지정 방법의 차이는 주로 상자의 너비와 블록 요소의 상대적 위치에 영향을 미칩니다. 너비가 설정되지 않은 경우 해당 너비는 기본 브라우저 너비입니다. 부모 요소가 있는 경우 너비는 부모 요소에 의해 결정됩니다. 이 블록 요소의 내용이 너무 많으면 부모 요소도 크게 유지됩니다. .
즉, 상대적으로 배치된 블록 요소의 너비는 상위 요소에 따라 달라집니다. 그러면 이 세 컨테이너를 절대 위치로 설정하면 어떤 효과가 있을까요? 렌더링
사진은 앱에서 가져온 것입니다
사진에서 볼 수 있듯이 3층 컨테이너의 너비는 더 이상 렌더링에 의존하지 않습니다. 부모 요소는 문서에서 변경되기 때문에 흐름에서 분리되어 독립적이며 너비는 내용에 의해서만 결정될 수 있습니다. 요약하면, 절대 위치 블록 요소의 너비는 자체 내용에 따라 결정됩니다. 상대적 위치 블록 요소의 너비가 설정되지 않은 경우 기본값은 브라우저 너비입니다. 그러나 너비에 관계없이 절대 위치 지정 요소는 위치 지정을 위해 자신에게 가장 가까운(절대 또는 상대 위치 지정) 상위 요소를 찾습니다.
요약:
상대적: 위치 지정은 자체 위치를 기준으로 합니다. (오프셋을 설정할 때 자체 위치 오프셋을 기준으로 합니다. ). 상대적으로 설정된 요소는 여전히 문서 흐름에 있고 요소의 너비와 높이는 변경되지 않고 유지되며 오프셋 설정은 다른 요소의 위치에 영향을 주지 않습니다. 가장 바깥쪽 컨테이너는 상대 위치로 설정됩니다. 너비가 설정되지 않은 경우 너비는 전체 브라우저의 너비입니다.
절대: 절대 또는 상대 위치로 설정된 요소에 가장 가까운 상위 요소를 기준으로 위치가 결정됩니다. 절대 또는 상대 위치로 설정된 상위 요소가 없는 경우 요소는 루트 요소를 기준으로 배치됩니다. , 이는 html 요소입니다. 절대값이 설정된 요소는 문서 흐름에서 벗어납니다. 요소의 너비가 설정되지 않은 경우 요소 내부의 내용에 따라 너비가 결정됩니다. 분리 후 원래 위치는 비어 있는 것과 동일하며 다음 요소가 해당 위치를 차지합니다.
참고: 이 기사의 실험 결과는 상위 요소와 하위 요소가 고정 너비로 설정되지 않은 경우 얻은 것입니다. 상위 요소가 고정 너비로 설정된 경우 해당 하위 요소는 관계없이 배치됩니다. 절대 위치 또는 상대 위치. 어떤 하위 요소도 상위 요소의 너비를 초과할 수 없습니다. 상위 요소는 상위 요소이며 누구도 그를 초과할 수 없습니다.
위 내용은 웹 프론트엔드 면접 질문 8번 - 절대 포지셔닝과 상대 포지셔닝의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











고정 위치 지정이 문서 흐름에서 벗어나나요? 웹 개발에서 레이아웃은 매우 중요한 주제입니다. 그 중 포지셔닝(Positioning)은 일반적으로 사용되는 레이아웃 기술 중 하나입니다. CSS에는 정적 위치 지정, 상대 위치 지정, 절대 위치 지정이라는 세 가지 일반적인 위치 지정 방법이 있습니다. 이 세 가지 위치 지정 방법 외에도 더 특별한 위치 지정 방법, 즉 끈적한 위치 지정이 있습니다. 그렇다면 고정 위치 지정이 문서 흐름에서 벗어나나요? 아래에서 자세히 논의하고 이해를 돕기 위해 몇 가지 코드 예제를 제공하겠습니다. 먼저 문서 흐름이 무엇인지 이해해야 합니다.

CSS에서 이미지를 중앙에 배치하는 세 가지 주요 방법은 다음과 같습니다: display: block; 및 margin: 0 auto; 사용. Flexbox 레이아웃이나 그리드 레이아웃을 사용하고 align-items 또는 justify-content를 가운데로 설정하세요. 절대 위치 지정을 사용하고 위쪽과 왼쪽을 50%로 설정하고 변환을 적용합니다: 변환(-50%, -50%);.

CSS의 하단 속성 구문 및 코드 예제 CSS에서 하단 속성은 요소와 컨테이너 하단 사이의 거리를 지정하는 데 사용됩니다. 상위 요소의 아래쪽을 기준으로 요소의 위치를 제어합니다. Bottom 속성의 구문은 다음과 같습니다. element{bottom:value;} 여기서 element는 스타일을 적용할 요소를 나타내고, value는 설정할 아래쪽 값을 나타냅니다. 값은 픽셀과 같은 특정 길이 값일 수 있습니다.

HTML5에서 상자를 중앙에 맞추려면 다음과 같은 방법이 있습니다:horizontal centering: text-align: centermargin: autodisplay: justify-content: center; ); 위치: 절대; 위쪽: 50%; 변환: 변환(-50%, -50%)

CSS 요소 위치 지정에는 정적, 상대, 절대 및 고정 위치 지정의 네 가지 방법이 있습니다. 정적 위치 지정이 기본값이며 요소는 위치 지정 규칙의 영향을 받지 않습니다. 상대 위치 지정은 문서 흐름에 영향을 주지 않고 요소 자체를 기준으로 요소를 이동합니다. 절대 위치 지정은 문서 흐름에서 요소를 제거하고 상위 요소를 기준으로 위치를 지정합니다. 고정 위치 지정은 뷰포트를 기준으로 요소의 위치를 지정하여 항상 화면의 동일한 위치를 유지합니다.

2017년에 출판된 "AttentionIsAllYouNeed" 논문 이후 Transformer 아키텍처는 자연어 처리(NLP) 분야의 초석이 되었습니다. 디자인은 수년 동안 크게 변하지 않았으며, 2022년에는 RoPE(로터리 위치 인코딩)가 도입되면서 이 분야에서 큰 발전이 이루어졌습니다. 회전 위치 임베딩은 최첨단 NLP 위치 임베딩 기술입니다. 가장 널리 사용되는 대규모 언어 모델(예: Llama, Llama2, PaLM 및 CodeGen)에서는 이미 이를 사용하고 있습니다. 이 기사에서는 회전 위치 인코딩이 무엇인지, 절대 위치 임베딩과 상대 위치 임베딩의 이점을 어떻게 깔끔하게 결합하는지 자세히 살펴보겠습니다. Ro를 이해하기 위한 위치 인코딩의 필요성

레이아웃은 특정 규칙과 구조에 따라 웹 페이지 요소를 배열하고 표시하기 위해 웹 디자인에 채택된 조판 방법을 말합니다. 합리적인 레이아웃을 통해 웹페이지를 더욱 아름답고 깔끔하게 만들 수 있으며, 좋은 사용자 경험을 얻을 수 있습니다. 프런트엔드 개발에는 전통적인 테이블 레이아웃, 플로팅 레이아웃, 위치 지정 레이아웃 등 선택할 수 있는 레이아웃 방법이 많이 있습니다. 그러나 HTML5와 CSS3의 보급으로 Flexbox 레이아웃, Grid 레이아웃과 같은 최신 반응형 레이아웃 기술이 등장했습니다.

AbsolutePositioning(절대 위치 지정)은 CSS에서 일반적으로 사용되는 위치 지정 방법으로 가장 가까운 위치의 상위 요소를 기준으로 요소의 위치 오프셋을 지정하여 레이아웃을 수행합니다. 절대 위치 지정을 사용할 때는 장점과 한계를 이해하고 구체적인 코드 예제를 사용하여 이해를 심화해야 합니다. 우선, 절대 위치 지정의 장점 중 하나는 요소의 위치를 완벽하게 제어할 수 있다는 것입니다. 다른 레이아웃 방법과 비교하여 절대 위치 지정은 문서에 의해 제한되지 않고 페이지의 어느 위치에나 요소를 정확하게 배치할 수 있습니다.
