본문 바로가기
Front-end

CSS

by softserve 2021. 5. 12.
반응형

CSS(Cascading Style Sheets)는 마크업 언어를 꾸미기 위한 언어로 html 등에 사용된다.

 

폰트를 바꾸거나 배경색을 바꾸는 등 웹페이지의 스타일을 만들어주는 역할을 한다.

 

사용방법은 세 가지가 있다.

 

1. inline

<h1 style="color: green; text-align: center;"> heading </h1>

한 h1 요소에 대해 색상은 초록, 가운데 정렬로 바꿔준다.

 

요소 하나하나에 직접 속성을 입력하는 방식으로,

 

중복이 많이 발생할 수 있으며 가독성이 떨어질 수 있다.

 

2. <style>

 

<head>
	<style>
			h1 { 
				color: blue;
				text-align: center;
			}
	</style>
</head>

head 부분에 <style> 태그를 삽입하여 모든 h1 요소에 대해 색상은 파랗게, 가운데 정렬로 바꿔준다.

 

※ 만약 h1 요소가 여러개 존재하고, 각각에 대해 다른 스타일이 필요한 경우 id 또는 class를 이용할 수 있다.

<h1 id="hd1"> Heading </h1> <!-- unique-->
<h1 class="baz"> other heading </h1>
<h1 class="baz"> another heading </h1> <!-- not unique-->

id는 오직 하나의 요소에 대해서만 부여된다.

반면 class는 여러 개의 요소를 포함할 수 있다.

요소의 id나 class를 지정한 이후 해당 id나 class의 스타일을 지정할 수 있다.

 

※ 이 경우 충돌이 발생할 수 있는데 우선 순위는 다음과 같다.

inline > id > class > type 

 

즉, 아래의 경우

<html>
	<head>
    	<title>title</title>
        <style>
        	h1 { /* type */
            	color: red;
           	}
            #hoo {
            	color: green;
            }
        </style>
	</head>
    <body>
    	<h1 style="color:blue;">heading1</h1> <!-- inline -->
    	<h1 id="hoo">heading2</h1> <!-- id -->
        <h1>heading3</h1>
    </body>
</html>

heading1의 색상은 파랑이 될 것이고 heading2는 초록, heading3는 빨강이 된다.

 

3. css 파일

 

확장자가 .css인 별도의 파일을 작성한 후, html의 head 부분에 다음과 같이 추가해주기만 하면 된다.

<head>
	<link rel="stylesheet" href="style.css">
</head>

앞서 작성했던 html 파일에 다음과 같이 style 태그를 추가하면,

<style>
			h1 { 
				color: blue;
				text-align: center;
			}

/* 주소가 "https://google.com" 인 하이퍼링크 요소의 색상을 변경 */

			a[href="https://google.com"] {
				color: red;
			}

/* id가 hd1인 요소에 대해 색상을 변경 */

			#hd1 {
				color: red;
			}
/* class가 baz인 요소에 대해 색상을 변경 */
			.baz {
				color: yellow;
			}
            
/* margin은 요소의 바깥쪽에 여백을 만들어주며
padding은 요소 내부에 여백을 만들어준다. */

			div {
				border: 3px dashed black;
				background-color: skyblue;
				padding:10px; <!-- inside -->
				margin: 30px;
				font-family: Arial, sans-serif;
				font-size: 20px;
				font-weight: Bold;
			}
            
/* border-collapse는 테이블 한 칸 한 칸마다 그려진 경계선이 겹쳐질 경우, 이를 하나로 만든다. */
			table {
				border-collapse: collapse;	
				background-color:orange;
				width: 150px;
				height: 100px;
				margin: 30px; <!-- outside -->
			}
            
/* td요소와 th요소 모두에 경계선과 패딩을 만들어준다.*/
			td,th {
				border: 2px solid black;
				padding: 10px;
			}

			button {
				background-color:green;
			}
            
/* 마우스를 갖다대면 색이 변한다 */
			button:hover {
				background-color:orange;
			}
</style>

이렇게 된다.

 

 

반응형

댓글