[ CSS ] css 정의 순서 > html&css

본문 바로가기
사이트 내 전체검색

html&css

[ CSS ] css 정의 순서

페이지 정보

작성자 웹지기 댓글 0건 조회 4,490회 작성일 18-10-04 16:37

본문

css의 우선 순위 규칙 어떻게 될까?

기본적으로 맨뒤에 나오는 css가 우선순위가 높음.

!important > inline style attribute > id 다른 attribute > tag element 순으로 우선순위가 높다짐.

우선순위가 같으면 css가 많은 녀석의 우선순위가 높음.


!important와 inline style attribute은 실무에서 사용을 제한하는 경우가 많다. 

!important는 css 값 뒤에 붙여진 키워드를 의미하고, 인라인 스타일 속성은 태그에 주어진 style 속성 내용을 가리킨다.

이 두 가지는 최후의 수단이라고 생각하면 좋다. 따라서 나머지 id, class, tag만 살펴보도록 한다.


순위 산출 방식은 레이어로 보면된다.

id가 1번 레이어, class같은 기타 속성이 0번 레이어, 태그 이름이 -1 이하의 레이어

id 선택자에 css가 붙어있으면 class 여러 개에 css가 붙어있어도 id 선택자가 먼저 적용된다.


우선순위가 같다면 개수로 순위가 정해진다

class 하나에 달린 css보다 class 두 개에 달린 css 우선 순위가 더 높다.


개수마저 같다면 뒤에 나오는 것이 순위가 높다. 

CSS 이름 자체가 Cascading Style Sheet이다. 

이름대로 뒤에 나오는 CSS가 앞에 나오는 CSS를 덮어씌웁니다.

 

1번째 규칙대로라면 가장 마지막에 나오는 div 태그가 적용된다.

하지만 div는 3순위이기 때문에 더 우선순위가 높은 것들이 있는지 찾아보아야 한다.

2번 규칙

!important와 인라인css가 있는지 찾아본다. 

text-decoration: line-through !important; 규칙이 !important로 되어 있고, background: yellow;가 인라인 css로 되어 있다. 

이 둘은 다른 무엇보다 먼저 적용된다.


id를 찾아본다. 

#i에 붙은 css가 적용되는데 display 속성이 두 개가 있다. 

이럴 때는 나중에 나온 display: inline-block;이 우선 순위를 가진다. 

background 속성은 인라인 css가 우선 순위를 가지기 때문에 적용되지 않는다.

class 등의 속성. 

class뿐만 아니라 name 속성도 css가 적용되어 있다. 

이때는 뒤에 나온 [name=d]가 우선순위를 가지지만, 주의해야 할 점이 .a.b가 2순위이다. 

따라서 얘네의 color: blue;가 우선순위를 가집니다. 이제 남은 것은 [name=d]의 font-style: italic;

css 우선 순위를 파악하여 기존의 css를 덮어씌울 수 있다.

css간 충돌이 발생한다면 우선순위를 조정하면 된다

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 42건 1 페이지
  • 42 [ css ] css를 이용하여 글자 강조 깜빡거리게 하기
  • css를 이용하여 글자 강조 깜빡거리게 하기 keyframes 를 이용하여 활용이 가능하다. 아래의 코드를 css에 적용시켜 주면 된다. @keyframes blink-effect { 50%{ opacity:0; } } .blink { animation: blink-effect 1s step-end infinite; /* 다른 기능을 원한 다면 이부분의 주석을 해제. animation-name: blink-effect; animation-durat...
  • 웹지기 11-17 3364 0 0 댓글 0
  • 35 [ css ] border style 종류
  • border style 종류 - solid, dotted, dashed, double, groove, ridge, inset, outset
  • 웹지기 01-12 3032 0 0 댓글 0
  • 34 [ css ] box-sizing - 요소의 크기를 화면에 표시하는 방식
  • 박스사이징(box-sizing) - 요소의 크기를 화면에 표시하는 방식 - 컨텐츠 기준으로 바뀜 div{ margin:10px;width:150px;} #small{border:10px solid #000;} #large{border:30px solid #000;} <div id="small">small</div> <div id="large">large&lt...
  • 웹지기 01-11 3235 0 0 댓글 0
  • 33 [ css ] 마진 상쇄 현상
  • 마진 상쇄 현상 마진과 마진이 만났을 때 큰 마진이 작은 마진을 먹어버리는 현상 .a{margin:100px;} .b{margin:50px;} 일때 .b 클래스의 margin-top:50px은 .a의 margin-bottom:100px에 의해 상쇄된다.
  • 웹지기 01-11 3106 0 0 댓글 0
  • 32 [ css ] 공간분할 태그
  • 공간분할 태그 - 경계를 분할하거나 영역을 나눌 때 사용하는 태그 블록형식 태그 인라인형식 태그 태그종류 div, h1~h6, p, ul, ol, li, tr, th, td span, a, input, b, i, small, sub, sup, ins, del ...
  • 웹지기 01-11 3141 0 0 댓글 0
  • 31 [ css ] css 명시도 계산법
  • CSS는 명시도 계산법에 따라 점수를 계산해서 마지막에 실행 !import 인라인 방식 내부 외부 임포트 최우선 1000 ...
  • 웹지기 01-11 3151 0 0 댓글 0
  • 30 [ css ] 반응 선택자
  • 반응 선택자 - 사용자의 반응으로 생성되는 특정한 상태를 선택 선택자형태 설 명 :active 마우스로 클릭할 때 선택 :hover 마우스를 올린 태그를 선택
  • 웹지기 01-11 2496 0 0 댓글 0
  • 29 [ css ] css 의 크기 단위
  • 크기단위 - 요소 또는 텍스트의 크기를 지정하는 단위 px - 화소 하나의 크기에 대응되는 단위(고정값) em - 부모요소 크기에 따른 배수단위 rem - html 태그의 요소 크기의 몇배인지 지정하는 단위
  • 웹지기 01-11 2584 0 0 댓글 0
  • 28 [ css ] CSS : Cascading Style Sheets
  • Cascading Style Sheets(CSS)는 HTML이나 XML(SVG, XHTML 같은 XML 방언(dialect) 포함)로 작성된 문서의 표현을 기술하기 위해 쓰이는 스타일시트 언어입니다. CSS는 요소가 화면, 종이, 음성이나 다른 매체 상에 어떻게 렌더링되어야 하는지 기술합니다. CSS는 오픈 웹의 핵심 언어 중 하나이며 W3C 명세에 따라 브라우저끼리 표준을 맞춥니다. 레벨 단위로 개발한 CSS1은 더 이상 사용하지 않고, 다음 레벨인 CSS2.1은 권고안이며, 레벨보...
  • 웹지기 01-11 2533 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
4,407
어제
13,204
최대
33,828
전체
8,388,466

그누보드5
Copyright © funyphp.com. All rights reserved.