찾다
웹 프론트엔드CSS 튜토리얼폴백과 함께 CSS 변수를 사용하여 값을 상속하는 방법은 무엇입니까?

How to Inherit Values Using CSS Variables with a Fallback?

CSS 변수 내에서 값을 상속하는 방법

사용자 정의 속성이라고도 하는 CSS 변수를 사용하면 전체에서 재사용할 수 있는 방식으로 값을 저장하고 조작할 수 있습니다. 스타일시트. 그러나 CSS 변수의 한 가지 제한 사항은 상위 요소에서 값을 상속할 수 없다는 것입니다.

문제

예를 들어 다음 코드를 고려해 보세요.

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

.box {
  width: 50px;
  height: 50px;
  display: inline-block;
  margin-right: 30px;
  border-radius: 50%;
  position: relative;
}

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

.blue {
  background: rgba(0, 255, 0, 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);
}

이 코드에는 rgba(20, 20, 20, 0.5)의 기본값을 사용하여 --color 변수를 정의하는 :root 규칙이 있습니다. 또한 직사각형 요소에 대한 일부 스타일을 설정하는 .box 클래스와 상자 내부에 원형 요소를 생성하는 :before 의사 요소가 있습니다.

:before 의사 요소의 배경 속성이 설정됩니다. var(--color)로 변환합니다. 이는 --color 변수의 값을 상속한다는 의미입니다. 그러나 다음 예와 같이 인라인 스타일을 사용하여 각 상자에 대한 --color 변수의 값을 재정의할 수 있습니다.

<div class="box red">
<p>처음 두 상자에는 --color 변수가 다음으로 설정됩니다. rgba(0, 255, 0, 0.5) 및 rgba(0, 255, 255, 0.5) 각각, 세 번째 상자는 상위 요소에서 --color 변수를 상속하려고 시도합니다. 그러나 앞서 언급했듯이 CSS 변수는 값을 상속받을 수 없으므로 세 번째 상자의 --color 변수는 기본값인 rgba(20, 20, 20, 0.5)로 유지됩니다.</p>
<h3 id="해결-방법">해결 방법</h3>
<p>var() 함수는 변수가 정의되지 않았거나 초기 값으로 설정된 경우 CSS 변수에 대한 대체 값을 정의하는 방법을 제공합니다. 대체 값은 다음 예에 표시된 대로 var() 함수에 대한 두 번째 인수로 지정됩니다.</p>
<pre class="brush:php;toolbar:false">background: var(--color, inherit);

이 예에서 --color 변수가 정의되지 않았거나 해당 값으로 설정된 경우 초기값이면 배경 속성은 상위 요소의 색상을 상속합니다. 이것이 바로 이 경우에 우리가 원하는 동작입니다.

다음은 대체 값이 추가된 업데이트된 코드입니다.

:root {
  --color: rgba(25, 25, 25, 0.5); /* Defined as the default value */
}

.box {
  width: 50px;
  height: 50px;
  display: inline-block;
  margin-right: 30px;
  border-radius: 50%;
  position: relative;
}

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

.blue {
  background: rgba(0, 0, 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, inherit);
  filter: invert(1);
}

이제 세 상자 모두 상위 상자의 색상을 상속합니다. --color 변수가 인라인 스타일에서 다른 값으로 설정된 경우에도 요소입니다.

위 내용은 폴백과 함께 CSS 변수를 사용하여 값을 상속하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
너무 많은 색상 링크너무 많은 색상 링크Apr 13, 2025 am 11:36 AM

최근에 색상에 대한 도구, 기사 및 리소스가 많이있었습니다. 당신의 즐거움을 위해 여기에 반올림하여 몇 개의 탭을 닫을 수 있습니다.

Flexbox에서 자동 마진이 작동하는 방법Flexbox에서 자동 마진이 작동하는 방법Apr 13, 2025 am 11:35 AM

Robin은 이전에 이것을 다루었지만 지난 몇 주 동안 그것에 대해 약간의 혼란을 듣고 다른 사람이 설명하는 데 찌르는 것을 보았습니다.

움직이는 무지개가 강조합니다움직이는 무지개가 강조합니다Apr 13, 2025 am 11:27 AM

나는 샌드위치 사이트의 디자인을 절대적으로 좋아합니다. 많은 아름다운 특징 중에는 무지개가있는이 헤드 라인이 스크롤 할 때 움직이는 밑줄이 있습니다. 그것은 아닙니다

새해, 새 직업? 그리드 구동 이력서를 만들자!새해, 새 직업? 그리드 구동 이력서를 만들자!Apr 13, 2025 am 11:26 AM

많은 인기있는 이력서 디자인은 그리드 모양으로 섹션을 배치하여 사용 가능한 페이지 공간을 최대한 활용하고 있습니다. CSS 그리드를 사용하여 레이아웃을 만듭니다

너무 많이 재 장전하는 습관에서 사용자를 해소하는 한 가지 방법너무 많이 재 장전하는 습관에서 사용자를 해소하는 한 가지 방법Apr 13, 2025 am 11:25 AM

페이지 새로 고침은 일입니다. 때로는 반응이 없다고 생각하거나 새로운 콘텐츠를 사용할 수 있다고 생각할 때 페이지를 새로 고침합니다. 때때로 우리는 단지 화가났습니다

React를 사용한 도메인 구동 설계React를 사용한 도메인 구동 설계Apr 13, 2025 am 11:22 AM

React 세계에서 프론트 엔드 애플리케이션을 구성하는 방법에 대한 지침은 거의 없습니다. (“옳은 느낌”이 될 때까지 파일을 움직여도 롤). 진실

비활성 사용자 감지비활성 사용자 감지Apr 13, 2025 am 11:08 AM

대부분의 경우 사용자가 응용 프로그램에 적극적으로 참여하거나 일시적으로 비활성화되어 있는지에 대해 신경 쓰지 않습니다. 비활성, 의미, 아마도 그들

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufoo는 항상 통합으로 훌륭했습니다. 캠페인 모니터, MailChimp 및 Typekit과 같은 특정 앱과 통합이 있지만

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 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

PhpStorm 맥 버전

PhpStorm 맥 버전

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

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

메모장++7.3.1

메모장++7.3.1

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