목차
상속된 값을 CSS 사용자 정의 속성에 저장할 수 있습니까?
해결책: 초기 값 대체
웹 프론트엔드 CSS 튜토리얼 CSS 사용자 정의 속성을 사용하여 상위 요소의 값을 상속받을 수 있습니까?

CSS 사용자 정의 속성을 사용하여 상위 요소의 값을 상속받을 수 있습니까?

Nov 13, 2024 pm 02:29 PM

Can We Use CSS Custom Properties to Inherit Values From Parent Elements?

상속된 값을 CSS 사용자 정의 속성에 저장할 수 있습니까?

CSS에서 사용자 정의 속성(CSS 변수라고도 함)은 전체에서 값을 저장하고 재사용하는 편리한 방법을 제공합니다. 문서. 그러나 이러한 변수는 상위 요소의 값을 상속받을 수 있습니까?

샘플 코드를 고려해 보겠습니다.

:root {
  --color: rgba(20, 20, 20, 0.5); /* Default value */
}

.box {
  width: 50px;
  height: 50px;
  background: var(--color);
}

.red {
  background: rgba(255, 0, 0, 0.5);
}

.blue {
  background: rgba(0, 255, 255, 0.5);
}

.box:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  transform: translateX(30px);
  background: var(--color);
  filter: invert(1);
}
로그인 후 복사

이 예에서는 .box 요소의 배경색을 상속하려고 합니다. CSS 변수를 사용하는 의사 요소 앞에 :가 있습니다. 그러나 --color 변수는 :root 수준에서 정의되고 :before 의사 요소는 .box 내에 중첩됩니다.

사용자 정의 속성이 우선하므로 배경 설정: :before에 대한 상속은 작동하지 않습니다. 상속된 값을 초과합니다.

해결책: 초기 값 대체

상속된 값을 CSS 변수에 저장하려면 CSS 초기 값을 다음과 같이 활용할 수 있습니다. 대체. 초기 값은 속성의 기본 또는 설정되지 않은 상태를 나타냅니다.

이 경우 코드를 다음과 같이 수정할 수 있습니다.

.box:before {
  ...
  background: var(--color, initial);
  ...
}
로그인 후 복사

initial을 var( --color), --color가 명시적으로 설정되지 않은 경우 상속된 값을 강제로 사용합니다. 이를 통해 상위 요소의 배경색을 상속받을 수 있습니다.

이를 설명하기 위해 .box의 배경색을 회색으로 설정해 보겠습니다. 이 경우 --color를 명시적으로 정의하지 않더라도 :before 의사 요소는 초기 값 fallback으로 인해 여전히 .box의 배경색을 상속합니다.

.box {
  background: gray;
  --color: initial;
}
로그인 후 복사

위 내용은 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Smart Forms 프레임 워크로 JavaScript 연락처 양식 작성 Smart Forms 프레임 워크로 JavaScript 연락처 양식 작성 Mar 07, 2025 am 11:33 AM

Smart Forms 프레임 워크로 JavaScript 연락처 양식 작성

WordPress 블록 및 요소에 상자 그림자를 추가합니다 WordPress 블록 및 요소에 상자 그림자를 추가합니다 Mar 09, 2025 pm 12:53 PM

WordPress 블록 및 요소에 상자 그림자를 추가합니다

스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례 스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례 Mar 08, 2025 am 09:45 AM

스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례

내용 부호 ​​속성으로 인라인 텍스트 편집기를 만듭니다 내용 부호 ​​속성으로 인라인 텍스트 편집기를 만듭니다 Mar 02, 2025 am 09:03 AM

내용 부호 ​​속성으로 인라인 텍스트 편집기를 만듭니다

GraphQL 캐싱 작업 GraphQL 캐싱 작업 Mar 19, 2025 am 09:36 AM

GraphQL 캐싱 작업

첫 번째 맞춤형 전환을 만듭니다 첫 번째 맞춤형 전환을 만듭니다 Mar 15, 2025 am 11:08 AM

첫 번째 맞춤형 전환을 만듭니다

5 개의 최고의 PHP 양식 빌더 (및 3 개의 무료 스크립트) 비교 5 개의 최고의 PHP 양식 빌더 (및 3 개의 무료 스크립트) 비교 Mar 04, 2025 am 10:22 AM

5 개의 최고의 PHP 양식 빌더 (및 3 개의 무료 스크립트) 비교

node.js 및 Express의 Multer와 함께 파일 업로드 node.js 및 Express의 Multer와 함께 파일 업로드 Mar 02, 2025 am 09:15 AM

node.js 및 Express의 Multer와 함께 파일 업로드

See all articles