Day 4. Storing CSS Code in External File
웹 개발을 하다 보면 처음에는 작은 프로젝트라 생각하고 HTML 파일 하나에 모든 스타일을 넣게 된다. 하지만 시간이 지날수록 코드는 계속 늘어나고, 특히 스타일 부분이 점점 커지게 된다. 이런 경험은 모든 개발자가 한 번쯤 겪는 일이다. 오늘은 CSS 파일 분리의 중요성과 방법에 대해 이야기해보려 한다.
h1 {
font-family: sans-serif;
text-align: center;
color: rgb(83, 75, 75);
}
p {
font-family: sans-serif;
text-align: center;
color: rgb(83, 75, 75);
}
a {
color: rgb(167, 1, 78);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
<!DOCTYPE html>
<html>
<head>
<link href="daily-challenge.css" rel="stylesheet">
<title>My Daily Challenge</title>
</head>
<body>
<h1>Hoon's challenge for Tuesday, May 6th</h1>
<p>
Learn about the basics of web development - specifically dive into HTML &
CSS.
</p>
<p>
I'll achieve this goal by diving into
<a href="https://www.google.com">more learning resources</a>.
</p>
</body>
</html>
1. 스타일 코드 증가의 필연성 스타일 요소는 점점 더 커지고 있다. 물론 나쁜 것은 아니며 완전히 정상적인 현상이다. 코드가 길어질수록 관리하기 어려워지는 것은 당연한 일이다. 처음에는 괜찮아 보이더라도, 프로젝트가 성장하면서 이 문제는 점점 더 심각해진다.
2. 별도 파일로 분리하는 현명한 방법 스타일 정의를 별도의 파일로 분리하는 것은 매우 일반적인 방법이다. 새 파일을 만들고 .css 확장자를 붙여주면 된다. 파일명은 'daily-challenge.css', 'styles.css', 'site.css' 등 원하는 대로 지을 수 있다. 중요한 것은 확장자가 .css여야 한다는 점이다.
3. CSS 코드 이동의 함정 CSS 코드를 별도 파일로 옮겨도 자동으로 적용되지 않는다는 점을 기억해야 한다. 브라우저는 여전히 HTML 파일만 로드하며, 별도 CSS 파일에 대한 참조가 없으면 스타일이 적용되지 않는다. 같은 디렉토리에 있다고 해서 브라우저가 자동으로 적용하지는 않는다.
4. link 요소의 올바른 사용법 HTML에서 CSS 파일을 연결하기 위해 'link' 요소를 사용한다. 이 요소는 닫는 태그가 없는 '빈 요소(void element)'이다. 이런 요소들은 태그 사이의 콘텐츠가 없기 때문에 속성으로만 구성된다. 주요 속성은 다음과 같다: href: CSS 파일 경로 지정 rel: 관계 유형 정의 (stylesheet로 설정)
5. link와 a 태그의 차이점 이해하기 link 요소가 클릭 가능한 링크를 만든다고 오해하기 쉽다. 하지만 이는 전혀 다른 기능이다. link는 HTML 파일을 다른 파일에 연결하여 브라우저가 두 파일을 함께 평가하도록 한다. 클릭할 수 있는 링크가 아니라는 점을 명확히 이해해야 한다.
6. 파일 경로와 관계 설정의 중요성 href 속성은 상대 경로를 사용할 수 있다. 이 HTML 파일에서 상대적으로 본 경로이며, 같은 디렉토리에 있다면 파일명만 작성하면 된다. rel 속성은 반드시 'stylesheet'로 설정해야 한다. 브라우저는 파일 확장자만 보고 내용을 추측하지 않기 때문에, 이 관계를 명시적으로 설정해야 한다.
7. 코드 유지보수성 향상의 효과 CSS를 별도 파일로 분리하면 HTML 파일이 더 읽기 쉽고 관리하기 쉬워진다. 개발자로서 항상 코드를 유지 관리하고 관리할 수 있도록 유지하는 것이 목표이다. 큰 웹사이트일수록 코드는 자연스럽게 커지기 마련이지만, CSS 규칙과 같은 HTML이 아닌 콘텐츠를 별도 파일로 분리하는 것은 좋은 관행이다.
웹 개발의 여정에서 이런 작은 실천들이 모여 커다란 차이를 만든다. 처음에는 사소해 보일 수 있지만, 프로젝트가 커질수록 이런 구조화된 접근 방식의 가치는 더욱 분명해진다. 특히 팀으로 일할 때는 이런 구조화가 더욱 중요하다. 나중에 본인이나 동료가 코드를 다시 볼 때, 간결하게 정리된 HTML과 별도의 CSS 파일을 보면 감사함을 느낄 것이다. 결국 좋은 개발자는 현재의 문제를 해결할 뿐만 아니라, 미래의 유지보수를 위한 토대를 마련하는 사람이다.