예제로 공부하기/사이트 만들기

사이트 만들기 모아서 완성하기!

Hyeon been 2023. 3. 28. 18:51

한번씩 읽고 가세요.

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90

t만들어 온 사이트 완성하기!

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>사이트 만들기1</title>

    <!-- SEO -->
    <meta name="author" content="김현빈">
    <meta name="description" content="향수의 향을 시각화하여 보여주는 사이트">
    <meta name="keyword" content="향수,사이트,조말론,샤넬,향">
    <meta name="robots" content="all">

    <!-- 파비콘 -->
    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.png">
    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/favicon.png">
    <link rel="apple-touch-icon" href="assets/ico/favicon.png">

    <!-- CSS -->
    <link rel="stylesheet" href="assets/css/fonts.css">
    <link rel="stylesheet" href="assets/css/reset.css">
    <link rel="stylesheet" href="assets/css/common.css">
    <link rel="stylesheet" href="assets/css/style.css">

여태까지 만들어 온 사이트를 모아 한 페이지로 만들어보았다. 

처음엔 head에  메타 태그를 넣어 검색에 노출 되게  해주었다. 

meta태그란?

<meta> 태그는 웹 페이지의 HTML 코드에서 사용되며, 웹 브라우저나 검색 엔진 등에게 해당 페이지의 정보를 제공하는 역할을 합니다.

일반적으로 <head> 태그 안에 위치하며, 다양한 속성을 사용하여 다양한 정보를 제공할 수 있습니다. 가장 일반적인 <meta> 태그의 속성으로는 다음과 같은 것들이 있습니다.

  • charset: 페이지의 문자 인코딩 방식을 지정합니다.
  • name: 페이지의 정보의 유형을 지정합니다. 예를 들어, "description"은 페이지의 간단한 요약을 제공합니다.
  • content: name 속성에서 지정한 정보의 내용을 지정합니다.
  • http-equiv: HTTP 헤더를 대체하여 서버로부터 전송된 헤더 정보를 재정의합니다.

그 후 파비콘을 만들어주고 각 css파일은 만들어준다. 기존에 동일하게 쓰던 reset 값 을 common과 reset 를 따로css파일은 만들어주고 넣고 폰트css도 따로 만들어 링크를 걸어주었다.  그 후 style.css에서  그 동안 만들어 왔던 각 페이지 별

css를 @import를 사용하여 끌어왔다.

 

@import는 무엇일까

@import는 CSS 코드에서 다른 CSS 파일을 가져와서 사용하는 방법 중 하나입니다.

이 방법은 <link> 태그를 사용하여 외부 CSS 파일을 연결하는 것보다 유용한 경우가 있습니다. 예를 들어, 여러 개의 CSS 파일을 불러와서 하나의 파일로 합치는 것이나, 조건부 CSS를 사용할 때 유용합니다.

@import는 다음과 같은 형식으로 사용됩니다.

@import url("header.css");
@import url("slider.css");
@import url("image.css");
@import url("imgText.css");
@import url("card.css");
@import url("banner.css");
@import url("text.css");
@import url("footer.css");

하지만, @import는 일부 브라우저에서 지원하지 않는 경우도 있으며, 파일을 불러오는 속도가 느리기 때문에 사용을 지양하는 것이 좋습니다. 대신, <link> 태그를 사용하여 외부 CSS 파일을 연결하는 것이 일반적으로 권장되는 방법입니다.

SKIP

    <div id="skip">
        <a href="#">헤더 영역 바로가기</a>
        <a href="#">슬라이드 영역 바로가기</a>
        <a href="#">이미지 영역 바로가기</a>
        <a href="#">이미지/텍스트 영역 바로가기</a>
        <a href="#">카드 영역 바로가기</a>
        <a href="#">배너 영역 바로가기</a>
        <a href="#">텍스트 영역 바로가기</a>
        <a href="#">푸터 영역 바로가기</a>
    </div>

HTML 스킵 링크는 웹 페이지의 내비게이션에 대한 스킵 기능을 제공하는데 사용됩니다. 이 기능은 시각장애인, 저시력자, 키보드 사용자 등이 웹 사이트 내부를 이동할 때 불편함을 최소화하기 위해 만들어졌습니다.

스킵 링크는 웹 페이지의 상단에 위치하며, "Skip to main content"와 같은 텍스트로 표시됩니다. 이 링크는 클릭하면 웹 페이지의 주요 콘텐츠로 즉시 이동합니다.

 

본문은 각 구역별  섹션을 나눠 만들어 놓은 사이트의 html을 가져와서 붙여준다.  코드는 맨 아래 링크 참조

그 후 이미지 경로를 다 바꿔주면 한 페이지에 여태껏 만들어 온 페이지들을 다 넣을 수 있다.

 

그 후 각 페이지를 반응형으로 만들기 위해 각 페이지의 style.css로 이동하여 media query를 설정해준다@media(max-width:) width 값 을 정해져 그 값을 도달 했을때의 페이지 변화를 준다.

 

media query

미디어 쿼리(Media Query)는 CSS의 기능 중 하나로, 뷰포트의 크기나 장치의 특성에 따라 적용되는 스타일을 조건부로 변경할 수 있도록 합니다. 즉, 미디어 쿼리를 사용하면 반응형 웹 디자인을 구현할 수 있습니다.

 

    @media (max-width:1200px){
        .container{
            width: 100%;
            box-sizing: border-box;
        }
    }

    @media (max-width:960px){
        .section {
            padding: 100px 0;
        }
        .section__h2 {
            font-size: 40px;
            margin-bottom: 10px;            
        }
        .section__desc {
            font-size: 18px;
            margin-bottom: 40px;
        }
    }

    @media (max-width:670px){
        .section {
            padding: 80px 0;
        }
        .section__h2 {
            font-size: 30px;
        }
        .section__desc {
            font-size: 16px;
            margin-bottom: 30px;
        }
    }

이런 식으로 사용하며 각  max-width 값 별로   section 값을 다르게 하고 font-size 도  바꿀수 있다!

 

 

코드보기