이 기사에서는 CSS 캐스케이드 레이어를 사용하여 사용자 정의 성, 효율성, 사용 편의성 및 구성 요소의 이해 용이성을 향상시키는 방법에 대해 설명합니다.
좋아, 이제 코드를 써 보자. 구체적으로 여러 가지 유형의 버튼을 만들어 봅시다. 우리는 버튼으로 설정하려는 요소로 설정할 수있는
로 지정합니다. 내가 이름을 좋아하는 이유는 설계 시스템을 확장하기로 결정할 때 향후에 추가 할 다른 구성 요소를 지원하기에 충분히 일반적이기 때문입니다. 그것은 우리가 구성 요소에만 국한되지 않을 수있는 미래에 쓴 다른 스타일과 우려의 좋은 분리를 유지하면서 우리와 함께 확장됩니다. components
<code>.button {} .button-primary {} .button-secondary {} .button-warning {} /* etc. */</code>
스타일 구조
.button
또는 에 대해 논의했으며, 이는 각 유형을 개별적으로 스타일링하는 방법입니다.
<code>.button { /* 所有按钮的通用样式 */ }</code>
<code>/* 组件顶级层 */ @layer components { .button { /* 所有按钮的通用样式 */ } }</code>
및 :hover와 같은 유사한 속성 변경을 동일한 배경색으로 공유 할 수 있습니다. 다행히도 CSS는 상태를 기반으로 속성 변경을 그룹화하기 위해 이러한 문제를 해결하는 도구를 제공합니다. 왜 :focus
대신 :where()
보다 다루기가 더 쉽습니다. 매개 변수에서 가장 높은 특이성 점수를 가진 요소의 특이성을 취합니다. 확장 가능하고 관리 가능한 CSS를 작성할 때 특이성을 낮추는 것은 미덕입니다. :where()
:is()
:where()
그래서 조금 리팩터를 리팩터링합시다. 이전에는 요소의 를 로 설정했습니다. 색상을 재사용하려면 CSS 변수로 변환하여 한 번에 업데이트하고 어디서나 적용 할 수 있도록하는 것이 좋습니다. 변수에 의존하는 것은 확장 가능하고 유지 관리 가능한 CSS를 작성하는 또 다른 장점입니다. :is()
나는 라는 새 변수를 생성하여 처음에는 :is()
로 설정된 다음 기본 버튼 스타일로 설정합니다.
<code>.button {} .button-primary {} .button-secondary {} .button-warning {} /* etc. */</code>
: 라는 새로운 CSS 변수의 색상을 혼합합니다.
background-color
속성을 업데이트하여 해당 색상을 적용 할 수 있습니다.
.button
background-color
darkslateblue
변수를 업데이트 할 수 있습니다. 물론, 우리는 스타일을 더 수정할 수 있지만이 시스템의 작동 방식을 보여주기 위해 상당히 간단하게 유지합니다.
background-color
로 변경하는 새 클래스를 만듭니다. 다시 말하지만, 우리는 darkslateblue
선택기에 의존 할 수 있습니다.이 경우 특이성이 증가해야하기 때문입니다. 이렇게하면 수정 자 클래스로 기본 버튼 스타일을 대체 할 수 있습니다. 우리는이 클래스라고 부르며 (녹색은 "성공"의 색상) : 에 제공합니다.
darkgreen
:is()
클래스를 추가하면 대신 .success
가됩니다. 이것이 바로 우리가 원하는 것입니다. 우리는 상태 계층에서 일부 작업을 수행 했으므로 이러한 호버와 포커스 스타일을 자동으로 상속받을 것입니다. :is()
.success
darkgreen
darkslateblue
위 내용은 CSS 캐스케이드 레이어로 설계 시스템 구성 요소 패턴 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!