>  기사  >  웹 프론트엔드  >  CSS가 if/else 문 없이 조건부 논리를 구현할 수 있나요?

CSS가 if/else 문 없이 조건부 논리를 구현할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-11-26 06:50:09399검색

Can CSS Implement Conditional Logic Without if/else Statements?

CSS에 조건부 논리가 포함될 수 있나요?

CSS 영역 또는 Cascading Style Sheets는 표시된 대로 if/else 조건을 기본적으로 지원하지 않습니다. 전통적인 프로그래밍 언어로. 그러나 이러한 제한은 다양한 접근 방식을 통해 피할 수 있습니다.

1. CSS 클래스:

HTML 클래스를 활용하면 다양한 시나리오에 맞는 다양한 스타일 규칙을 만들 수 있습니다. 예를 들어 다음 코드는 클래스에 따라 고유한 배경 위치를 할당합니다.

<p class="normal">Text</p>
<p class="active">Text</p>
p.normal {
  background-position: 150px 8px;
}
p.active {
  background-position: 4px 8px;
}

2. CSS 전처리기(예: Sass):

Sass와 같은 CSS 전처리기는 더 복잡한 조건을 허용하는 조건문을 제공합니다.

$type: monster;
p {
  @if $type == ocean {
    color: blue;
  } @else if $type == matador {
    color: red;
  } @else if $type == monster {
    color: green;
  } @else {
    color: black;
  }
}

3. CSS 사용자 정의 속성(변수):

CSS의 사용자 정의 속성은 변수와 유사하게 동작하며 런타임에 평가됩니다.

:root {
  --main-bg-color: brown;
}

.one {
  background-color: var(--main-bg-color);
}

.two {
  background-color: black;
}

4. 서버측 전처리:

PHP와 같은 서버측 언어를 사용하면 동적 값을 기반으로 CSS 파일을 전처리할 수 있습니다.

p {
  background-position: <?php echo (@$_GET['foo'] == 'bar')? "150" : "4"; ?>px 8px;
}

5. UI 논리를 위한 CSS 기술:

Ahmad Shadeed는 자신의 기사에서 if/else를 사용하지 않고 일반적인 UI 기반 조건부 논리를 해결하는 새로운 CSS 기술을 선보입니다.
[CSS If/Else](https: //www.sitepoint.com/css-ifelse/)

위 내용은 CSS가 if/else 문 없이 조건부 논리를 구현할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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