본문 바로가기
HTML

이미지/텍스트 유형 페이지 만들어보기!!

by dongjin6539 2023. 3. 14.
728x90
반응형

이미지/텍스트 유형 페이지 만들어보기!!

이미지 유형 : https://dongjin6539.tistory.com/28

카드 유형 : https://dongjin6539.tistory.com/31

텍스트 유형 : https://dongjin6539.tistory.com/35

슬라이드 유형 : https://dongjin6539.tistory.com/40

헤더 유형 : https://dongjin6539.tistory.com/44

푸터 유형 : https://dongjin6539.tistory.com/49

지난 번에 이어 또다른 페이지를 만들어보았습니다.

지난 번과 같은 방식으로 시작해보겠습니다.

 

코드 보기 / 완성화면

 

 

<!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>이미지 텍스트 유형 01</title>

    <link href="https://webfontworld.github.io/NexonLv1Gothic/NexonLv1Gothic.css" rel="stylesheet">
    <style>
        /* reset */
        * {
            margin: 0;
            padding: 0;
        }
        a {
            text-decoration: none;
            color: #000;
        }
        h1,h2,h3,h4,h5,h6 {
            font-weight: normal;
        }
        img {
            vertical-align: top;
            width: 100%;
        }
        .blind{
            position: absolute;
            clip: rect(0 0 0 0);
            width: 1px;
            height: 1px;
            margin: -1px;
            overflow: hidden;
        }
        .mt10 {margin-top: 10px !important;}
        .mt20 {margin-top: 20px !important;}
        .mt30 {margin-top: 30px !important;}
        .mt40 {margin-top: 40px !important;}
        .mt50 {margin-top: 50px !important;}
        .mt60 {margin-top: 60px !important;}
        .mt70 {margin-top: 70px !important;}

        .mb10 {margin-bottom: 10px !important;}
        .mb20 {margin-bottom: 20px !important;}
        .mb30 {margin-bottom: 30px !important;}
        .mb40 {margin-bottom: 40px !important;}
        .mb50 {margin-bottom: 50px !important;}
        .mb60 {margin-bottom: 60px !important;}
        .mb70 {margin-bottom: 70px !important;}

        /* common */
        .container {
            width: 1160px;
            margin: 0 auto;
            padding: 0 20px;
            /* background-color: rgba(0, 0, 0, 0.1); */
        }
        .nexon {
            font-family: 'NexonLv1Gothic';
            font-weight: 400;
        }
        .section {
            padding: 120px 0;            
        }
        .section.center {
            text-align: center;
        }
        .section__small {
            font-size: 14px;
            border-radius: 50px;
            background-color: #FF0000;
            color: #fff;
            padding: 1px 23px;
            text-transform: uppercase;
            margin-bottom: 20px;
            display: inline-block;
            line-height: 1.5;
        }
        .section__h2 {
            font-size: 50px;
            font-weight: 400;
            margin-bottom: 30px;
            line-height: 1;
        }
        .section__desc {
            font-size: 22px;
            color: #666;
            margin-bottom: 70px;
            font-weight: 300;
            line-height: 1.5;
        }

        /* imgtext__wrap */
        .imgtext__inner {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }
        .imgtext {
            width: 32.3333%;
            height: 500px;
        }
        .imgtext__body .title {
            font-size: 50px;
            line-height: 120%;
            margin-right: 50px;
            margin-bottom: 15px;
        }
        .imgtext__body .desc {
            font-size: 16px;
            line-height: 155%;
            margin-right: 10px;
            margin-bottom: 15px;
        }
        .imgtext__body .nav{
            font-size: 16px;
            line-height: 155%;
            margin-left: 15px;
        }
        .imgtext__header {
            border-radius: 10px;
        }

        @media only screen and (-webkit-min-device-pixel-ratio: 2),
            only screen and (min-device-pixel-ratio: 2),
            only screen and (min-resolution: 2dppx) {
                .imgtext .imgtext__body {
                    background-image: url(../asset/img/imgtext-Type01_01@2x.jpg);
                    background-image: url(../asset/img/imgtext-Type01_02@2x.jpg);
                }
        }
    </style>
</head>
<body>
    <section class="imgtext__wrap section nexon">
        <div class="container">
            <div class="imgtext__inner">
                <article class="imgtext">
                    <div class="imgtext__body">
                        <span class="section__small">notice</span>
                        <h3 class="title">운동 시 가장 주의할 점</h3>
                        <p class="desc">운동을 할 때에는 몸의 건강과 안전을 최우선으로 생각해야 합니다. 아래는 운동 시 주의해야 할 점입니다.</p>
                        <ul class="nav">
                            <li>적절한 스트레칭</li>
                            <li>자신의 체력 상태</li>
                            <li>올바른 자세</li>
                            <li>적절한 운동량</li>
                            <li>적절한 장비 착용</li>
                            <li>충분한 수분 섭취</li>
                            <li>적절한 휴식</li>
                            <li>질병과 상태 고려</li>
                            <li>부상 방지</li>
                            <li>운동 전문가와 상담</li>
                        </ul>
                    </div>
                </article>
                <article class="imgtext">
                    <div class="imgtext__body">
                        <figure class="imgtext__header">
                            <img src="../asset/img/imgtext-Type01_01@2x.jpg" alt="적절한 스트레칭">
                        </figure>
                    </div>
                </article>
                <article class="imgtext">
                    <div class="imgtext__body">
                        <figure class="imgtext__header">
                            <img src="../asset/img/imgtext-Type01_02@2x.jpg" alt="충분한 수분 섭취">
                        </figure>
                    </div>
                </article>
            </div>
        </div>
    </section>
</body>
</html>

 

방법

  • 지난번에 했던 유형 페이지 의 글꼴과 style 태그의 /* reset */, /* commom */ 에 해당하는 부분은 모든 페이지의 공용으로 사용하기 때문에 그대로 가져왔습니다. 다만, 추가로 바꿔야 할게 있으면 모든 페이지에 추가를 해줘야 합니다.
  • 지나번 페이지 만드는 방법과 매우 흡사합니다.
  • 이번에는 가운데 정렬을 안할거기 때문에 body 태그에 section 태그를 주고 class 명을 "imgtext__wrap section nexon"을 입력해줍니다.
  • 지난번에 미리 줬던 구역을 사용하기 위해 class 명을 "container"을 사용해서 가져와줍니다.
  • "container"의 자식으로 class 명 "imgtext__inner"을 만들어 주고 구역을 3개로 나누기 위해 자식으로 article 태그를 3개 입력해주고 class 명을 "imgtext"로 입력해줍니다.
  • style 태그로 가서 "imgtext"에 알맞는 width값, height값을 입력해주고 임의로 배경색을 입력해 구역을 확인해보고 나중에 배경색은 삭제해줍니다.
  • 그럼 각 구역이 세로로 나열되기 때문에 "imgtext__inner"에 스타일을 display: flex; flex-wrap: wrap; justify-content: space-between; 을 입력해줍니다.
  • body 태그로 가서 3개의 article 태그의 자식으로 각각 "imgtext__body" class 명을 만들어줍니다.
  • 첫 번째 구역에는 텍스트를 입력하고 나머지 두 번째, 세 번째 구역에는 이미지를 입력할 것입니다.
  • 첫 번째 구역 notice텍스트는 지난번에 사용했던 것과 같이 사용하기 위해서 지난번과 같이 span 태그로 입력하고  이미 스타일이 있는 "section__small" 스타일을 사용하기 위해 class 명을 입력해줍니다.
  • span 태그 형제로 h3 태그, p 태그, ul 태그를 사용해 텍스트를 입력해줍니다.
  • h3 태그, p 태그, ul 태그에 각각 class명을 "title", "desc", "nav"를 입력해주고 style 태그에 가서 각각 원하는 스타일 속성을 입력해줍니다.
  • 두 번째 구역, 세 번째 구역에 들어갈 이미지를 스케치 했던 피그마 프로그램에서 가져와서 각각 두 번째, 세 번째 article 태그의 자식인 "imgtext__body" class의 자식으로 figure 태그를 사용해 이미지를 넣어줍니다.
  • 그러면 원하는 웹 페이지가 만들어집니다.

 

참고

https://dongjin6539.github.io/web2023/site/index.html

 

728x90
반응형