CSS라는 언어가 도입된 이유
1. HTML이 정보에 전념할 수 있도록 HTML에서 디자인에 대한 기능을 CSS가 뺏어온 것
2. CSS를 통해 웹페이지를 디자인하는 것이 HTML을 통해 디자인하는 것보다 효율적이다.

 

Theme. Web page에 CSS를 삽입하는 2가지 방법(CSS 사용 형식)

1. <style> 태그의 사용(internal 방식) ---- 가장 많이 사용

2. style 속성의 사용(inline 방식)

 

각각에 대해 알아보자.

 

1. <style> 태그 사용

 기존의 html 기본 태그들 중 <head>태그 안에 <style> 태그를 추가하고, 

<style>태그 안에서 3가지의 선택자를 이용하여 선택자(selector)가 가리키는 대상에 대해 일정한 효과(declaration)을 주게 된다. 

그 3가지 선택자는 id 선택자(#id), class 선택자(.class), 태그 선택자이다.

 

먼저, 아래를 살펴보자.

<style> 태그 안에 아래와 같은 코드를 작성할 수 있다.

<style>

a {

    color : red;

}

</style>

selector는 선택자이다. 위 그림에서 선택자는 Web page내 모든 a 태그를 선택해주는 기능을 한다.

declaration는 선택자가 선택한 것들에 대해 줄 효과를 적는 부분이다. 

 

id 선택자의 경우 <style> 태그 안에서

#id명 {

    주고 싶은 효과

}

 를 작성하고, <body> 태그 안의 본문에서는

원하는 태그 안에 id라는 속성을 입력하고 id명을 작성하면 된다.

예를들면, 아래 코드 중 <h2 id="title">대설주의보 서울, 강원, 충북까지 확대</h2>

 

class 선택자의 경우 <style> 태그 안에서

.class명 {

    주고 싶은 효과

}

를 작성하고, <body> 태그 안의 본문에서는

원하느 태그안에 class라고 속성을 입력하고 class명을 작성하면 된다.

예를 들면, 아래 코드 중 <h3 class="content">대설주의보 서울, 강원, 충북까지 확대</h3>

 

이제 간단하게 코드를 작성해보면,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
 
<style>
{
    background-color: #00ff00;
    color: rgb(255, 255, 255);
    font-size: 10pt;
}
 
#title {
    color: #ff0000;
    font-size: 50%;
}
 
.content {
    background-color: green;
    color: rgb(255, 255, 0);
}
 
.base {
    border: solid 1px;
    padding: 10px;
    margin: 20px
}
 
p.name {
    color: #0000ff;
}
</style>
 
 
</head>
<body>
 
    <!--  
    CSS: Cascading Style Sheet
    문자의 컬러, 종류, 형태지정
    배경화면컬러, 이미지, 특수처리
    테두리(border) 설정
    
    <형식>
    inline: tag 안에 attribute로 기입 
    internal: head 태그안에 기입 -> 가장 많이 사용!
    external: 외부파일을 읽어들인다
    
    태그접근
    id    #
    class .    -> CSS, 복수 설정이 가능
    name    
-->
 
    <p>행정안전부는 중부지방을 중심으로 눈이 내린 오늘(26일) 오전 11시 기준 항공기가 5편 결항되고 계량기 동파
        피해가 524건 발생했다고 밝혔습니다.</p>
    <p>행정안전부는 중부지방을 중심으로 눈이 내린 오늘(26일) 오전 11시 기준 항공기가 5편 결항되고 계량기 동파
        피해가 524건 발생했다고 밝혔습니다.</p>
 
    <h2 id="title">대설주의보 서울, 강원, 충북까지 확대</h2>
    <h3 class="content">대설주의보 서울, 강원, 충북까지 확대</h3>
 
    <div class="content">오늘 날씨 정말 춥습니다.</div>
    <br>
    <div class="base">현재 국립공원 3곳의 110개 탐방로가 통제 중이며, 항공기는 출발 편 기준 제주공항
        3편, 군산공항 1편, 원주공항 1편 등 총 5편이 결항됐다. 인천과 서울에서 계량기 동파가 524건 발생했고, 경북과 경기
        지역에서 수도관 동파가 16건 있었습니다.</div>
 
    <h3 class="name">대설주의보 서울, 강원, 충북까지 확대</h3>
    <p class="name">대설주의보 서울, 강원, 충북까지 확대</p>
 
 
 
</body>
</html>
cs

웹 브라우저에서 결과를 확인해보면,

2. style 속성의 사용(inline 방식)

아래 코드와 같이 사용할 수 있다.

<p style="background-color: #0000ff; color: #ffffff">행정안전부는 중부지방을 중심으로 눈이 내린 오늘(26일) 오전 11시 기준 항공기가 5편 결항되고 계량기 동파 피해가 524건 발생했다고 밝혔습니다.</p>

 

 

Theme. 선택자들의 특성

 

class 속성은 여러 개의 값이 들어올 수 있고, 띄어쓰기로 구분한다.

즉, <h1 class = "value1 value2">Hello CSS</h1> 이라고 작성할 수 있다.

이를 이용하면, 하나의 태그에는 여러 개의 속성이 들어올 수 있고, 여러 개의 선택자를 통해서 하나의 태그를 공통으로 제어할 수 있다. 

 

id선택자의 id값은 오직 하나에 대해서만 사용해야 한다. 

 

이런 선택자들을 사용할 때에는 그 효과가 적용되는 데에 우선 순위가 존재함을 알고 주의해야 한다.

선택자 간 영향 우선 순위는 크게 2가지로 나눠서 비교할 수 있다.

 

1. 동일한 선택자의 경우 가장 마지막에 위치한 선택자가 우선적으로 영향을 미친다.

예를들어, <a class = "value1 value2">CSS</a>라는 코드가 <body>태그 안에 존재하고,

<style>태그 안에서

. value1 {

    color: gray;

}

. value2 {

    color: red;

}

라고 적게 되면, 위 <a> 태그로 감싼 CSS라는 단어에는 red 색상이 입혀지게 될 것이다.

하지만,

. value2 {

    color: red;

}

. value1 {

    color: gray;

}

라고 적게 되면, 위 <a> 태그로 감싼 CSS라는 단어에는 gray 색상이 입혀지게 될 것이다.

 

2. 서로 다른 선택자의 경우 우선 순위

 3가지 선택자들 중에 우선적으로 적용되는 선택자와 그렇지 않은 선택자가 존재하며,

 id 선택자 -> class 선택자 -> 태그 선택자 순으로 우선적으로 영향을 미치게 된다.

 

 

 

'HTML, CSS' 카테고리의 다른 글

HTML 기본 정리(2) - 사용자로부터 입력받기  (0) 2023.01.29
HTML 기본 정리(1)  (0) 2023.01.29
HTML 기초  (0) 2023.01.26
WEB - HTML & Internet  (0) 2023.01.25

+ Recent posts