ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Part 01 웹 프로그램 언어의 기초_14
    Study/Naver Boost Course Web 2018. 8. 26. 23:11
    반응형

    Naver BoostCourse Full-Stack Developer Course





    Part 01 웹 프로그래밍 기초



    13. 상속과 우선순위 결정



     Intro


    - CSS 의 스타일을 적용하는 것에는 여러가지 이유로 몇 가지 규칙이 존재함

    - 상속은 대표적인 CSS 적용 규칙. 중복된 속성을 매번 적용해야 하는 일을 줄일 수 있음



    ※ 학습 목표


    1. CSS 상속의 특징. 상속이 되지 않는 상황 이해



    ※ 핵심 개념


    - CSS 상속

    - 선택자 우선순위 (CSS Specificity)



    ※ 상속과 우선순위 결정 1


    - 상위에서 적용한 스타일은 하위에도 반영됨 => 여러 단계로 중첩된 엘리먼트마다 매번 같은 색상과 글자 크기를 부여하지 않아도 됨


    - 하지만 모든 CSS 속성이 이런 특징을 갖게 되면 몇 가지 문제가 생김


    - 예를 들어 width 속성이 상속되면 하위 엘리먼트가 모든 같은 크기의 넓잇값을 가질 수 있음. 


    - 그래서 box-model 이라고 불리는 속성들 (width, height, margin, padding, border) 과 같이 크기와 배치 관련된 속성들은 하위 엘리먼트로 상속되지 않음


    - 이렇게 CSS 는 꽤 똑똑한 방식으로 동작함



    ※ 상속과 우선순위 결정 2


    - inline > internal > external 의 우선순위를 가짐. 일반적인 CSS 위치는 css 파일(external)을 두고 그 아래 style 태그를 사용해서(internal 방식) 표현하기 때문에 그런 경우 위에 나온 우선 순위가 맞음.


    - 하지만 internal 과 external은 같은 우선순위를 가짐


    <head>

    <style> div {color:red;} </style>

    <link rel="stylesheet" href="css.css">

    </head>


    - 만약 css.css 에서 div color를 blue로 주었다면 뒤에 선언된 external 방식의 css 내용이 반영됨 => blue 색깔이 나옴


    - 즉 internal 과 external은 같은 우선순위로 결정됨


    - CSS 는 여러가지 스타일 정보를 기반으로 최종적으로 '경쟁'에 의해서 적절한 스타일이 반영됨



    <div id="a" class="b">

        text.....

    </div> 



    #a {

      color : red;

    }


    .b {

      color : blue;

    }


     div {

       color : green;

    }



    - 위 코드에서 id, class, 엘리먼트 순으로 우선순위를 가짐


    - id는 클래스보다 우선되고 클래스는 엘리먼트보다 우선됨. 즉 위 코드에서는 id인 a의 색상이 적용됨


    - CSS의 이런 성질을 캐스캐이딩이라고 함



    ※ 선언 방식에 따른 차이


    1. 같은 선택자 (selector)라면 나중에 선언한 것이 반영됨


    2. 선택자의 표현이 구체적인 것이 있다면 먼저 적용됨


    body > span (O)


    span (X)


    3. ID > CLASS > ELEMENT 순으로 반영



    반응형
Designed by Tistory.