ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CSS - 개요, 선택자, 상속
    프런트엔드/CSS 2021. 3. 10. 14:08

    선택자 {
         속성: 속성값;

         속성: 속성값;

    }

     

    선택자(selector): 속성과 값을 지정할 대상을 검색

    /* comment */ : 문서 내 수정사항이나 설명 등을 작성(주석)

     

    선언방식

    인라인 - HTML요소(태그)의 'style' 속성에 직접 작성하는 방식, 석택자 필요 없음

    내장방식(embedded) - HTML <style></style>안에 작성하는 방식

    링크(link)방식 - HTML <link>를 이용하여 외부 문서로 CSS를 불러와 적용하는 방식

    <link rel="" href"">(추천 방식)

    @import 방식 -  @import를 이용하여 외부 문서로 CSS를 불러와 적용하는 방식

    @import url("./common2.css")(css가 css불러오는 방식)

    직렬 방식으로 적용되어 시간 소요 가능성

     

    복합선택자

    일치선택자(E와 F를 동시에 만족하는 요소 선택) : EF(ex)span.orange)

    자식 선택자(E의 자식요소 F를 선택) : E > F(ex) ul > .orange)

    후손(하위) 선택자(E의 후손 요소F를 선택) : E F('띄어쓰기'가 선택자의 기호로 사용됨)

    인접 형제 선택자(E의 다음 형제 요소 F 하나만 선택) (ex) .orange + li)

    일반 형제 선택자(E의 다음 형제 요소 F 모두 선택) (ex) .ornage ~ li)

    요소들의 관계

    가상 클래스 선택자(E : hover, active, )

    hover: E에 마우스(포인터)가 올라가 있는 동안에만 E 선택

    active: E를 마우스로 클릭하는 동안에만 E 선택

    focus: E가 포커스 된 동안에만 E선택(대화형 콘텐츠(input, img, tabindex에서 사용 가능)

     

    first-child: E가 형제 요소 중 첫번째 요소라면 선택(ex) .fruit li:first-child)

    last-child: E가 형제 요소 중 마지막 요소라면 선택

    nth-child(n) : E가 형제 요소 중 n번째 요소라면 선택(n 키워드 사용 시 0부터 해석)

    2n일 경우 짝수번째 요소들만 선택 가능

    n+3일 경우 3번째 요소부터 이후 요소들을 선택

    nth-of-type(n): E의 타입(태그이름)과 동일한 타입인 형제 요소 중 E가 n번째 요소라면 선택

     

    부정선택자 S가 아닌 E선택(ex)E:not(S))

     

    가상 요소 선택자( :: E)

    before - E 요소 내부의 앞에, 내용(content)을 삽입 (ex)E: : before)

    after - E 요소 내부의 뒤에, 내용을 삽입

    attr - attr을 포함한 요소 선택([attr], [attr=value])

    [attr^=value] : 속성 attr을 포함하며 속성 값이 value로 시작하는 요소 선택

    [attr$=value] : 속성 attr을 포함하며 속성 값이 value로 끝나는 요소 선택

     

    상속(inheritance)

    상속되지 않는 속성(값)도 inherit 이라는 값을 사용하여 부모에서 자식으로 강제 상속 시킬 수 있다. 자식을 제외한 후손에게는 적용되지 않으며, 모든 속성이 강제 상속을 사용할 수 있는 것은 아니다.

     

    우선순위 결정

    같은 요소가 여러 선언의 대상이 될 경우,

    어떤 선언의 CSS속성을 우선 적용할지 결정하는 방법

    1. 명시도 점수가 높은 선언이 우선

    2. 점수가 같은 경우, 가장 마지막에 해석되는 선언이 우선(선언 순서)

    3. 명시도는 상속 규칙보다 우선(중요도)

    4. !important 가 적용된 선언방식이 다른 모든 방식보다 우선(중요도)

     

    1. 가장 중요(!important) - 모든 선언을 무시하고 가장 우선

    2. 인라인 선언 방식 -  인라인 선언(HTML style 속성 사용)

    3. 아이디 -  아이디 선택자(100)

    4. 클래스 선택자(10) {:hover 처럼 가상 클래스는 클래스}

    5. 태그 선택자(1) {: :before 처럼 가상 요소는 태그}

    6. 전체 * (0)

    7. 상속 - 상속 받은 속성은 우선 계산 하지 않음

    부정선택자 :not()은 점수 가지지 않음

     

    출처. heropy.blog/

    '프런트엔드 > CSS' 카테고리의 다른 글

    CSS - 속성: 글꼴, 문자  (0) 2021.03.19
    CSS 박스모델  (0) 2021.03.18
    CSS  (0) 2021.02.28
    8일차. 미디어 쿼리  (0) 2021.01.13
    7일차. 레이아웃  (0) 2021.01.12
Designed by Tistory.