CSS(Cascading Style Sheets, 종속형 스타일 시트)는 브라우저에서 웹페이지의 외형을 결정하는 선언형 언어입니다. 브라우저는 선택한 요소에 CSS 스타일 선언을 적용해 화면에 적절히 표현합니다. 하나의 스타일 선언은 속성과 그 값으로 이루어져 있습니다.
CSS는 HTML, JavaScript와 함께 웹의 3대 핵심 기술을 이룹니다. 보통 HTML 요소의 스타일을 결정하지만, SVG와 XML 등 다른 마크업 언어에도 사용할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Basics</title>
<style>
h1 {
color: rgb(0, 0, 0);
}
</style>
</head>
<body>
</body>
</html>
따로 css를 불러올 수도 있지만 <head>
안에 <style>
을 넣어주고 그 안에서 필요한 동작을 하면 된다.
위의 예는 모든 <h1>
의 색깔을 바꾸게 하는것으로 rbg옆 괄호에는 (Red, Green, Blue) 색 조합을 해서 색을 만들어내거나, black, white, green, blue 등 색의 이름을 직접 넣어줄 수도 있다.
h1 { color: white; } h2 {color: rgb(123, 42, 12)}
해당 페이지의 보여지는 내용은 모두 <body>
속으로 들어간다. 그러므로 배경 색은 다음과 같이 설정해 줄 수 있다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Basics</title>
<style>
body {
background-color: rgb(97, 250, 255);
}
</style>
</head>
<body>
</body>
</html>
h1, h2, p 등 태그의 이름을 쓰면 모든 태그에 스타일이 적용된다.
이 문제를 해결할 수 있는게 id
이다. 3개의 <p>
태그 중 두번째 <p>
태그만 색깔을 바꿔보자.
<p id="first-paragraph">가나다라마바사</p>
<p id="second_paragraph">아자차카타파하</p>
<p id="third paragraph">치키차카초코초</p>
id
는 공백이 있으면 안된다-
이나, _
를 사용해야한다.id
는 달라야한다.third paragraph
는 사용할 수 없음!#second_paragraph {
background-color: green;
}
id
는 #
로 선택할 수 있다.어느 특정한 한 문단 말고 여러 문단의 배경색을 바꾸고 싶으면 어떻게 해야할까?
위와 같이, 모든 문단에 아이디를 정해주고 배경색을 일일이 지정해 줄 수도 있다.
하지만 문단이 많아질 수록 아이디의 개수도 늘어나게 될 것이고 코드에 적어야하는 줄도 늘어나게 된다.
이런 문제를 해결해주는 것이 class
이다.
<p class="cool_paragraph">가나다라마바사</p>
<p class="cool_paragraph">아자차카타파하</p>
<p class="cool_paragraph">치키차카초코초</p>
id
와 마찬가지로 공백은 사용하면 안되고 대소문자를 구분한다..cool_paragraph {
background-color: yellow;
}
class
의 경우에는 .
로 선택할 수 있다.csszengarden
위의 링크는 같은 html만 가지고 css로 어떻게 다르게 변할 수 있는지 보여주는 샘플페이지다.
p {
color: rgb(191, 0, 255);
font-family: sans-serif;
}
폰트는 위와 같이 바꿔줄 수 있다.
브라우저에서 Sans-Serif 는 각 컴퓨터의 기본 Sans-Serif 인 보통 Ariel나 Helvetica이다.
보는 사람의 컴퓨터마다 보이는 서체가 다를 수 있기 때문에 특정 서체로 지정해줄 수 있다. 하지만, 보는 사람의 컴퓨터에 없는 폰트라면 지정된 폰트로 보이지 않기 때문에 백업 폰트를 지정해서 이 문제를 해결할 수 있다.
p {
color: rgb(191, 0, 255);
font-family: Helvetica, sans-serif;
}
페이지 내의 모든 폰트 사이즈를 바꿔보자.
body {
font-size:12px;
}
폰트 사이즈의 단위에는 여러가지가 있지만 픽셀로 적용해보면 폰트사이즈가 변경되는것을 볼 수 있다.
하지만 <h1>
, <h2>
처럼 헤딩의 크기는 조금 더 큰 모습을 볼 수 있다. 이건 헤딩의 사이즈는 픽셀로 지정되어 있지 않고 em
으로 지정되어 있기 때문이다.
em
은 비율로 변화하는데 1em
이 10px
이라고 한다면 2em
은 20px
이 된다.
폰트사이즈가 12px
이고 <h2>
의 사이즈가 2em
이니, 24px
의 크기로 적용된 것을 볼 수 있다.
TIL.No 1 - HTML 에서 <b>
,<strong>
,<i>
,<em>
을 소개했었다.
한 문단 전체에 볼드나 이탤릭체를 적용하기 위해 전체를 다 감싸 줄 수도 있겠지만 좋은 방법은 아니다.
이 경우에는 다음과 같이 적용할 수 있다.
.cool_paragraph {
background-color: yellow;
font-family:culsive;
font-size:14px
font-style:italic;
font-weight:bold;
}
font-family:tantasy; font-size:14px font-style:italic;
font: italic 14px fantasy;
위의 코드 둘 다 같은 결과를 가져온다.
하지만 스타일, 크기, 폰트이름 등 순서를 헷갈릴 수도 있으니 직관적인 첫번째 방법을 쓰도록 해야겠다.
글 사이의 간격을 조정해준다.
.cool_paragraph {
line-height: 1.5em;
}
간격은 픽셀로 지정해 줄 수도 있지만 폰트 사이즈에 비례하게 적용시키려면 em을 쓰는 것이 편할것 같다.
텍스트의 정렬 위치를 바꿀 수 있게 해준다.
.cool_paragraph {
line-height: 1.5em;
text-align: center;
}
center, right, left 등으로 설정해줄 수 있다.
이 외에도 엄청나게 많은 프로퍼티들이 있지만 블로그에 다 적을 순 없으니 직접 웹을 만들고 적용하면서 조금씩 찾아보고 정리해야겠다.