BeNI 2022. 11. 29. 00:47
728x90
CSS 변수

1. CSS 변수 선언 방법 : 2개의 -를 앞에 붙인 속성의 이름과 함께 선언

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

- 선택자는 사용자 속성을 사용할 수있는 범위를 뜻한다.

* root(html) : 최상위 요소를 선택하는 가상 선택자

* 명시도 : 해당 요소에 가장 연관된 속성을 찾는 수단 (스타일 우선순위)

👉 !important >> inline style >> id >> class >> tag(요소)

 

- 유효범위 안에서만 속성을 오버라이딩 할 수 있다.

 

 

 CSS @supports

1. @supports : css 기능을 브라우저가 지원하는지 따라 다른 스타일 선언을 할 수 있는 방법 (기능 쿼리)

@supports (기능) and (기능) and (기능) {
  
}

- 조건은 and, or, not 으로 결합 가능하다.

 

ex) flex 속성을 지원하는 브라우저일 때 supports 사용 방법

@supports (display: flex) {
    .flex-container > * {
        text-shadow: 0px 0px 2px blue;
        float: none;
    }

    .flex-container {
        display: flex;
    }
}

 

2. @media : 스타일을 선택적으로 적용하고 싶을 때 사용

@media [only | not] 미디어 유형 [and 조건] * [and 조건] {
  ...
}

 

- only : 미디어 쿼리를 지원하지 안흔 웹 브라우저는 무시하고 실행 안함

- not 다음에 지정하는 미디어 유형 제외 (미디어 유형: all, screen, tv, print 등)

- and를 이용하여 조건을 여러개 추가할 수 있다.

 

📌 화면 회전 속성 : 단말기의 기기 방향 지정 가능

orientation: portrait 단말기의 세로 모드 지정
orientation: landscape 단말기의 가로 모드 지정

 

+ css 파일 가져올때 media 속성으로 쿼리를 작성하여 파일 전체에 쿼리문을 줄수잇다.

<link rel="stylesheet" media="미디어 쿼리 조건" href="css 파일 경로" />

 

 

SCSS

1. SCSS

: 코드의 재활용성을 올리고, 가독성을 올리는 등 CSS에서 보이던 단점을 보완하고, 개발의 효율을 올리기 위해 등장

* SCSS vs SASS : Sass는 대괄호, 콜론문자가 없음

 

1) 주석 처리

- // : 한 줄 주석, 컴파일 안됨

- /* ~ */ : 여러 줄 주석, 컴파일 됨(css 파일에 보임)

* Sass에서는 여러줄 주석하려면 라인에 맞춰서 해야함

 

2) 변수

- $변수이름 : 내용 으로 변수 선언 가능

👉 이름 앞에 @at-root 쓰면 root 앞으로 감(제일 바깥쪽)

 

👉 !global을 붙이면 전역적으로 변수가 선언된다.

 

👉 default를 붙이면 전역으로 설정한 변수가 있으면 전역 변수걸로 설정됨 없으면 default로

 

 

- & : 상위 선택자를 참조하는 기능

 

 

3) 중첩 

셀렉터, 속성 등을 중첩시켜 상위 요소를 참조하는 것이 가능하다.

 

ex) 다중 선택자를 이용하여 스타일 부여

 

 

ex) 스타일 선언 간편하게 하기

 

4) 보간  : 변수를 선언하여 아래와 같이 활용 가능하다.

 

 

2. Scss의 데이터 타입 종류

 

3. Scss의 연산자

1) 산술 연산자 : +(더하기), -(빼기), *(곱하기), /(나누기)

나누기 연산 주의사항 : CSS를 축약(ex : font: 15px / 21px 'MalgunGothic';) 할 때 /를 허용하기 때문에 괄호( )로 감싸지 않는다면, 연산이 되지 않고 연산자만 컴파일됨. 따라서 나누기 연산을 할 때는 꼭 ( )괄호로 감싸야함

// Sass
div {
  width: 20px + 20px;  // 더하기
  height: 40px - 10px;  // 빼기
  font-size: 10px * 2;  // 곱하기
  margin: 30px / 2;  // 나누기
}
// Css
div {
  $x: 100px;
  width: $x / 2;  /* 변수에 저장된 값을 나누기 */
  height: (100px / 2);  /* 괄호로 묶어서 나누기 */
  font-size: 10px + 12px / 3;  /* 더하기 연산과 같이 사용 */
}

* calc 사용하면 단위가 다를 때 계산 가능하다

2) 비교 연산자 : ==, !=, > , <, >= , <=

3) 논리 연산자 : and, or, not

 

 

 

 

 

728x90