ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • java
  • 깃허브
  • sort
  • Android
  • kotiln
  • 코틀린
  • 깃
  • BFS
  • 프로그래머스
  • git
  • compareTo()
  • 스택/큐
  • PriorityQueue
  • git bash
  • HashMap
  • 백준
  • DP
  • 프로그래머스 Lv.2
  • Queue
  • 해시
  • 안드로이드
  • dfs
  • greedy
  • Arrays.sort()
  • stack
  • reactjs
  • getOrDefault
  • entrySet
  • React
  • Comparator

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

WEB/HTML+CSS

[CSS] CSS 기본개념과 렌더링원리

2020. 7. 15. 01:34

CSS를 HTML에서 사용하는 방법

CSS 기본사용법

span { color : red; }
selector(선택자) property value

1. inline

html 태그 안에다가 <inline>

같은 selector로 동일한 속성값에 다른 value를 넣을 땐 inline이 "최우선"으로 적용됨

구조랑 css 태그가 섞여있어서 관리가 어렵고 유지보수가 어렵다.

 

2. internal

<head>안에 <style>태그를 쓰는것

별도의 css파일을 관리하지 않아도 되고, 서버에 css 파일을 불러오기 위해 서버에 별도의 브라우저가 요청을 따로 하지 않는 장점이 있다. 

 

3. external

외부파일(.css)로 지정하는 방식

 

css.test1.html

<html>
<head>
    <!-- 2.internal -->
    <style> 
        div>p{
            font-size:20px;
        }
    </style>
     <!-- 3.external -->
    <link rel="stylesheet" href="css_test1.css">
</head>
<body>

    <div> 
        <!-- 1.inline 태그 -->
        <p style="color:blue">예제</p>
    </div>

</body>
</html>

css_test1.css

div>p{
    color:red; /*inline이 최우선으로 적용되기 때문에 이는 적용되지 않음*/
    border: 1px solid slategray;
}

 

CSS에서의 상속개념

상위에 설정된 style을 하위에서도 쓴다.  -> 재사용 측면에서 좋다.

 

color, font-size같은 대부분의 속성은 상속을 받으나, border나 padding같은 배치와 관련된 속성은 상속을 받지 않는다.

 

캐스캐이딩(Cascading)- computedstyle이 결정되는 방식

CSS(Cascading Style Sheet)는 여러가지 스타일정보를 기반으로 최종적으로 '경쟁'에 의해서 적절한 스타일이 반영된다.

브라우저가 처리하는 일이지만 규칙이 있어서 개발할 때 그 규칙을 따르면됨. 즉, 하나의 엘리먼트에 대해서 다양한 스타일이 영향력을 행사하려고 할때 우선순위를 어떻게 설정하는지에 대한 규칙이 캐스캐이딩이다.

1. 선언방식에 따른 차이

inline > internal > external

2. 동일하면 나중의 것

body {
	color : red;
}
body {
	color : blue;
}

=> blue (파랑색)으로 적용됨

3. 구체적으로 표현한 것

body > span {
	color : red;
}
body {
	color : blue;
}

=> red(빨간색)으로 적용됨

 

4. id > class > element

<div id="a" class="b">
	text..
</div>
#a{ /*1순위*/
	color: red;
}
.b{ /*2순위*/
	color:blue;
}
div { /*3순위*/
	color:green;
}

=> red(빨간)으로 적용됨

 

더 많은 걸 알고싶으면 구글에 "CSS specificity" 서치해보기~

 

Selector를 활용한 DOM탐색

CSS Selecort

HTML 요소를 tag, id, class, html 태그속성등을 통해 쉽게 찾아주는 방법

 

element에 style을 지정하기 위해서, 3가지 기본 선택자를 사용할 수 있음

 

1. tag로 지정하기

태그이름 써주면됨

<html>
    <head>
        <style>
            span{
                color : red;
            }
        </style>
    </head>
    <body>
 		<span id="#myspan">my text is upper!</span>
    </body>
</html>

2. id로 지정하기

html 페이지에 하나만 쓰는게 좋다. unique, identify하기때문에..

<html>
    <head>
        <style>
            #myspan{
                color : red;
            }
        </style>
    </head>
    <body>
         <span id="#myspan">my text is upper!</span>
    </body>
</html>

3. class로 지정하기

<html>
    <head>
        <style>
          	.spanClass{
                color : red;
            }
        </style>
    </head>
    <body>
         <span class="spanClass">my text is upper!</span>
    </body>
</html>

 

css selector 활용

- id, class 요소 선택자와 함께 사용

        <style>
            span#myspan{
                color : red;
            }
            div.myclassname{
            	color : red;
            }
        </style>

- 그룹 선택

h1, span, div {color:red}
h1, span, div#id {color:red}
h1, span, div.classname {color:red}

- 하위 요소 선택 (공백)

- 자식 선택(>)

- n번째 자식요소 선택(nth-child)

<html>
    <head>
        <style>
            #mydiv > p:nth-child(2){
                color:red;
            }
        </style>
    </head>
    <body>

        <div id="mydiv">
            <h2>단락 선택</h2>
                <p>1</p>
                <p>2</p>
                <p>3</p>
                <p>4</p>
        </div>

    </body>
</html>

=> 숫자 2 에 style 적용됨

 

 

 

 

이 글은 inflearn의 <HTML,CSS개발을 위한 핵심가이드> 강의를 들으며 정리한 내용입니다.

'WEB > HTML+CSS' 카테고리의 다른 글

[CSS] CSS 애니메이션 (Transform, Transition, Animation)  (0) 2022.04.11
[CSS] Layout 설정  (0) 2020.07.15
[CSS] CSS color, font style 적용  (0) 2020.07.15
[CSS] HTML 웹 페이지에 style 주기  (0) 2020.07.11
[HTML] HTML 태그 정리  (0) 2020.07.10
    'WEB/HTML+CSS' 카테고리의 다른 글
    • [CSS] Layout 설정
    • [CSS] CSS color, font style 적용
    • [CSS] HTML 웹 페이지에 style 주기
    • [HTML] HTML 태그 정리
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바