Day7: HTML과 CSS 기본 연동법🚀

Day7: HTML과 CSS 기본 연동법🚀


html day7

웹 개발의 기초 중의 기초, HTML과 CSS를 연동하는 방법에 대해 정리했습니다. 처음 웹 개발을 시작하면 이 두 언어를 어떻게 함께 사용해야 할지 헷갈리지만, 아래 예제를 통해 쉽게 이해 하실 수 있을거에요. 😊

| HTML과 CSS란?

웹 페이지를 만들 때, HTML은 뼈대를, CSS는 옷과 장식품을 담당한다고 생각하면 쉬워요. 🏗️

  • HTML (HyperText Markup Language): 웹 페이지의 구조와 내용을 정의합니다.
  • CSS (Cascading Style Sheets): 웹 페이지의 디자인과 시각적 표현을 담당합니다.

이 두 언어는 함께 작동하여 우리가 매일 보는 아름다운 웹사이트를 만들어냅니다! 💫

※ 실습 환경 추천

https://codepen.io/ 사이트에서 웹 화면에서 바로 실습을 하실 수 있습니다.

| CSS 연동 방법 3가지

HTML에 CSS를 연동하는 방법은 크게 세 가지가 있어요. 각각의 방법에는 장단점이 있으니 상황에 맞게 선택하면 됩니다.

1. 인라인 스타일 (Inline Style) 📌

HTML 요소 안에 직접 style 속성을 사용하는 방법입니다.

<p style="color: blue; font-size: 16px;">안녕하세요! 이것은 인라인 스타일입니다.</p>


html 예제


장점:

  • 빠르게 적용할 수 있어요.
  • 외부 파일 없이 바로 스타일을 적용할 수 있습니다.

단점:

  • 코드가 지저분해지고 유지보수가 어려워요.
  • 여러 요소에 같은 스타일을 적용할 때 비효율적입니다.


2. 내부 스타일 시트 (Internal Style Sheet) 📝

HTML 문서의 <head> 부분에 <style> 태그를 사용하는 방법입니다.

<!DOCTYPE html>
<html>
<head>
    <title>내부 스타일 시트 예제</title>
    <style>
        p {
            color: green;
            font-size: 18px;
        }
        .highlight {
            background-color: yellow;
        }
    </style>
</head>
<body>
    <p>이 텍스트는 녹색으로 표시됩니다.</p>
    <p class="highlight">이 텍스트는 녹색에 노란 배경으로 표시됩니다.</p>
</body>
</html>


html 예제



장점:

  • 한 페이지에서만 사용되는 스타일을 정의하기 좋아요.
  • 클래스나 ID를 사용해 여러 요소에 같은 스타일을 적용할 수 있습니다.

단점:

  • 여러 페이지에서 같은 스타일을 사용할 때 중복이 발생해요.
  • HTML 문서와 CSS가 분리되지 않아 관리가 어려울 수 있습니다.


3. 외부 스타일 시트 (External Style Sheet) 🔗

별도의 CSS 파일을 만들고 HTML 문서에 연결하는 방법입니다.

style.css 파일:

body {
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
}

h1 {
    color: #333;
    text-align: center;
}

p {
    color: #666;
    margin-bottom: 15px;
}

.container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

HTML 파일:

<!DOCTYPE html>
<html>
<head>
    <title>외부 스타일 시트 예제</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <h1>외부 CSS 파일 연동하기</h1>
        <p>이 텍스트는 외부 CSS 파일에 정의된 스타일을 사용합니다.</p>
        <p>여러 페이지에서 일관된 디자인을 유지할 수 있어요!</p>
    </div>
</body>
</html>


html 예제


장점:

  • 여러 HTML 페이지에서 같은 스타일을 사용할 수 있어요. ✨
  • HTML과 CSS를 분리하여 유지보수가 쉬워집니다.
  • 브라우저가 CSS 파일을 캐싱해서 페이지 로딩 속도가 빨라질 수 있어요.

단점:

  • 추가 파일을 관리해야 합니다.
  • 매우 간단한 페이지에는 과할 수 있어요.

| 실습 예제: 나만의 프로필 카드 만들기 👨‍💻

이제 세 가지 방법을 모두 사용해서 간단한 프로필 카드를 만들어 볼게요!

1단계: 기본 HTML 구조 만들기

먼저 profile-card.html 파일을 만들고 다음 코드를 작성합니다:

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>내 프로필 카드</title>
    <!-- 여기에 내부 스타일 시트가 들어갈 거예요 -->
    <!-- 여기에 외부 스타일 시트 연결이 들어갈 거예요 -->
</head>
<body>
    <div class="profile-card">
        <div class="profile-header">
           <h2 class="profile-name">홍길동</h2>
        </div>
        <div class="profile-body">
            <p class="profile-bio">안녕하세요! 웹 개발을 배우고 있는 홍길동입니다.</p>
            <div class="profile-info">
                <p><strong>직업:</strong> 웹 개발자</p>
                <p><strong>위치:</strong> 서울, 대한민국</p>
                <p><strong>취미:</strong> 코딩, 독서, 여행</p>
            </div>
        </div>
        <div class="profile-footer">
            <!-- 인라인 스타일을 적용할 버튼 -->
            <button style="background-color: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer;">연락하기</button>
        </div>
    </div>
</body>
</html>

2단계: 내부 스타일 시트 추가하기

<head> 태그 안에 다음 스타일을 추가합니다:

<style>
    body {
        font-family: 'Arial', sans-serif;
        background-color: #f5f5f5;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        margin: 0;
    }
    
    .profile-card {
        background-color: white;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        width: 300px;
        overflow: hidden;
    }
    
    .profile-header {
        background-color: #3498db;
        color: white;
        padding: 20px;
        text-align: center;
    }
    
    .profile-image {
        border-radius: 50%;
        border: 3px solid white;
    }
    
    .profile-name {
        margin-top: 10px;
    }
    
    .profile-body {
        padding: 20px;
    }
    
    .profile-bio {
        color: #666;
        text-align: center;
        margin-bottom: 15px;
    }
    
    .profile-info p {
        margin: 5px 0;
    }
    
    .profile-footer {
        text-align: center;
        padding: 15px;
        background-color: #f9f9f9;
    }
</style>

3단계: 외부 스타일 시트 만들고 연결하기

profile-styles.css 파일을 생성하고 다음 코드를 추가합니다:

/* 버튼에 마우스를 올렸을 때의 효과 */
button:hover {
    background-color: #45a049 !important;
    transform: scale(1.05);
    transition: all 0.3s ease;
}

/* 프로필 카드에 마우스를 올렸을 때 약간 들어 올리는 효과 */
.profile-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

/* 프로필 이미지에 마우스를 올렸을 때 회전 효과 */
.profile-image:hover {
    transform: rotate(360deg);
    transition: all 0.8s ease;
}

그리고 HTML 파일의 <head> 부분에 다음 코드를 추가하여 연결합니다:

<link rel="stylesheet" href="profile-styles.css">


html 예제


완성된 결과 🎉

이제 HTML 파일을 브라우저에서 열면 다음과 같은 프로필 카드가 표시됩니다:

  1. 기본 카드 구조는 HTML로 작성했어요
  2. 카드의 기본 스타일은 내부 스타일 시트로 적용했습니다
  3. 버튼에는 인라인 스타일을 적용했어요
  4. 마우스 효과(hover)는 외부 스타일 시트로 적용했습니다

이렇게 세 가지 방식을 모두 활용해 보았습니다! 실제로는 대부분의 프로젝트에서 외부 스타일 시트를 사용하는 것이 가장 효율적이에요. 하지만 상황에 따라 세 가지 방법을 적절히 혼합해서 사용할 수도 있습니다. 😉

| Q&A 자주 묻는 질문

Q1: CSS 연동 방법 중 어떤 것이 가장 좋은가요?

A: 일반적으로 외부 스타일 시트가 가장 권장됩니다. HTML과 CSS를 분리하여 코드의 유지보수가 쉬워지고, 여러 페이지에서 같은 스타일을 재사용할 수 있기 때문이에요.

Q2: 인라인 스타일을 사용하면 안 되나요?

A: 인라인 스타일은 특별한 경우(이메일 템플릿이나 동적으로 스타일을 변경할 때)에만 사용하는 것이 좋습니다. 일반적인 웹 개발에서는 유지보수 문제로 인해 피하는 것이 좋아요.

Q3: 내부 스타일 시트와 외부 스타일 시트를 함께 사용해도 되나요?

A: 네, 함께 사용 가능합니다. 일반적으로 외부 스타일 시트에 공통 스타일을 정의하고, 내부 스타일 시트에는 해당 페이지에만 특별히 적용할 스타일을 정의해요.

Q4: CSS 우선순위는 어떻게 되나요?

A: CSS 우선순위는 일반적으로 !important > 인라인 스타일 > ID 선택자 > 클래스 선택자 > 태그 선택자 순입니다. 같은 우선순위라면 나중에 선언된 스타일이 적용됩니다.

Q5: 모바일 기기에서도 같은 스타일이 적용되나요?

A: 반응형 디자인을 구현하지 않았다면 스타일이 모바일에서 다르게 보일 수 있습니다. 미디어 쿼리(Media Queries)를 사용하여 다양한 화면 크기에 맞게 스타일을 조정할 수 있어요.

ㅇ Day8 - 미디어 요소 삽입하기: video, audio 태그와 iframe 활용 👉클릭


#HTML_CSS연동 #웹개발기초 #CSS스타일링 #프론트엔드 #웹디자인 #IT기초 #HTML기초 #HTML #홈페이지기초 #웹페이지개발

달달톡

달달톡 (DALDAL TALK) |
IT & Tech 블로그
궁금한 IT 소식, 미래 기술 이야기, 그리고 프로그래밍 등 가볍게 읽을 수 있는 최신 테크 트렌드를 만나보세요.

AI, 개발, IT 트렌드에 관심 있다면?
달달톡에서 달달하게 함께 이야기해요! ☕

다음 이전

POST ADS1

POST ADS 2