이 기사에서는 CSS의 계단식 컨텍스트에 대해 설명하고 예제를 통해 계단식 수준을 비교합니다. 모든 사람에게 도움이 되기를 바랍니다.
얼마 전 회사에서 로우코드 플랫폼 사업을 추진하기 시작했는데 운이 좋게도 제가 참여하게 됐어요. 이 기간 동안 CSS의 Cascading context가 관련되어 있었는데, 이로 인해 비즈니스 로직을 더 잘 구현하려면 CSS의 Cascading context를 깊이 연구하는 것이 더 낫다고 생각했습니다. 웹 페이지는 2차원이지만 콘텐츠는 3차원이라는 사실은 누구나 알고 있을 것입니다. 더 직관적인 x와 y 외에도 그다지 직관적이지 않은 z축도 있습니다.
계단식 컨텍스트 요소
일상적인 개발 프로세스에는 계단식 컨텍스트와 관련하여 일반적으로 사용되는 몇 가지 속성이 있습니다. | right
transform
스태킹 레벨 비교
상위와 손자를 포함하지 않는 간단한 레벨 비교: - z-index: -1 0
조상 요소와 관련된 쌓임 컨텍스트가 생성되면 자손 요소의 쌓임 수준은 조상 요소의 영향을 받습니다.
참고:
계단식 컨텍스트 계층 구조는 HTML 요소 계층 구조의 하위 요소입니다. 특정 요소만 계단식 컨텍스트를 생성하기 때문입니다. 자신의 스태킹 컨텍스트를 생성하지 않는 요소는 상위 스태킹 컨텍스트에 동화된다고 할 수 있습니다.실제 문제시각적 구현 과정에서 문제에 직면했습니다. 중첩된 수준의 드래그 앤 드롭 프로세스 중에 중첩된 상위 요소에 이미 존재하는 계층적 문제로 인해 상위 요소가 상위 요소의 영향을 받았습니다. 그 영향은 드래그할 때 "일반적인 문서 흐름" 요소로 덮이게 된다는 것입니다. 일정 기간의 연구 끝에 이 문제는 다양한 스태킹 컨텍스트의 영향으로 인해 발생하는 것으로 밝혀졌습니다.
실전적인 전투
2. 서로 다른 위치의 스택 컨텍스트 비교1. 동일 레벨의 캐스케이딩 컨텍스트 비교
코드가 너무 많아서 지면을 낭비하지 않고 여기서 직접 작업 결과를 보여드리겠습니다. 아래 그림을 통해 위에서 언급한 동일 레벨의 계층적 비교를 확인할 수 있다.
위치의 경우 z-index를 사용하지 않으면 Brother 요소의 스택 컨텍스트가 Brother 요소의 스택 컨텍스트보다 큽니다. 인간의 관점에서 이는 다음 요소의 계단식 컨텍스트가 이전 요소의 계단식 컨텍스트보다 높다는 것을 의미합니다.
.fixed { position: fixed; top: 0; left: 0; background: red; } .relative { position: relative; top: 20px; left: 20px; background: green; } .absolute { position: absolute; top: 60px; left: 60px; background: yellow; } .sticky { position: sticky; top: 60px; left: 90px; background: pink; }
우선 위에서 언급한 실제 문제를 재현하고 다양한 스택 컨텍스트에서 스택 레벨을 구현해 보겠습니다.
빨간색 블록과 녹색 블록은 동일한 레벨의 두 요소입니다. 따라서 빨간색 블록의 두 요소는 녹색 스택 수준보다 낮습니다. 주황색 블록 요소이지만 실제 효과는 그렇습니다. 주황색은 다른 블록 요소보다 스택 수준이 낮습니다.
.purple { top: 20px; left: 20px; background: purple; z-index: 10; } .pink { top: 60px; left: 60px; background: pink; z-index: 20; } .orange { top: 10px; left: 10px; background: orange; z-index: 999; }여기서는 위 문제에 대한 나의 해결책을 언급하겠습니다. 그것은 조상 요소의 스택 수준을 동적으로 수정하는 것입니다. 하지만 개인적으로 이 방법은 중첩 수준이 많을 때 번거롭다고 생각합니다. 더 좋은 방법이 있으신 분은 아래에 메시지를 남겨주세요.
(학습 영상 공유: css 영상 튜토리얼)
위 내용은 CSS의 계단식 컨텍스트에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Jamstack이라는 용어가 점점 더 자주 나타나는 것을 볼 수 있습니다. 나는 한동안 접근 방식으로 팬이었습니다.

이것은 나 자신,이 사이트 및 CSS- 트릭 가족의 일부인 다른 사이트와 함께 진행되는 일의 작은 라운드 중 하나입니다.

이번 주에 라운드 업에서 두 개의 이모티콘의 문자열 길이가 항상 같지는 않으며, 둥근 버튼을 만들기 전에 고려해야 할 것이며, 우리는 새가있을 수 있습니다.

GraphQL 및 REST는 웹 사이트를 사용할 API를 구축 할 때 사용되는 두 가지 사양입니다. REST는 응용 프로그램이 사용하는 일련의 고유 식별자 (URL)를 정의합니다.

Sass는 방금 다른 언어에서 인식 할 수있는 주요 새로운 기능인 모듈 시스템을 시작했습니다. 이것은 @import에게 큰 진전입니다. 가장 많이 사용되는 것 중 하나입니다

버전 제어 시스템으로서의 git의 장점은 경쟁하기가 어렵지만 Git은 Commits를 추적하는 데 훌륭한 일을 할 것입니다.

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

구성 요소는 React 응용 프로그램의 빌딩 블록입니다. React 응용 프로그램을 구축하고 구성 요소를 사용하지 않는 것은 거의 불가능합니다. 널리 퍼져 있습니다


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

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

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
