WEB/HTML

[html] TEXT-TYPE 웹페이지 만들기

aimee418 2023. 3. 7. 20:14

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

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90
반응형

텍스트 타입 웹페이지 만들어보기

완성 된 웹사이트를 만들기 전 다양한 유형의 웹페이지 구조를 만들어 보고 있습니다.  

하나의 웹사이트에는 용도에 따라 다양한 유형의 페이지들이 조합되어 있습니다.

헤더타입, 배너타입, 이미지타입, 카드타입, 텍스트타입, 푸터타입 등으로 분류하여 작업 중 입니다.

 

이번에 메모할 유형은 문자가 많이 보여지는 형태텍스트타입 페이지 입니다.

 

 

완성된이미지

코드보기

<!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%;

    }
    .mt0 {margin-top: 0!important;}
    .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: #0c3934;
        color: #fff;
        padding: 1px 23px;
        text-transform: uppercase;
        margin-bottom: 20px;
        display: inline-block;
    }
    .section h2 {
        font-size: 50px;
        /* font-weight: 400; */
        margin-bottom: 30px;
        line-height: 1;
    }
    .section p {
        font-size: 22px;
        color: #666;
        margin-bottom: 70px;
        font-weight: 300;
    }
        
    .section_desc {
        font-size: 22px;
        color: #666;
        margin-bottom: 70px;
        font-weight: 300;
        line-height: 1.5;
    }
    /* text__wrap */
    .text__wrap {
    }
    .text__inner {
        text-align: left;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .text__inner .text {
        position: relative;
        width: 32.3333%;
        border: solid 1px #f5f5f5;
        border-radius: 10px;
        padding: 90px 20px 20px 20px;
        box-sizing: border-box;
        margin-bottom: 20px;
        cursor: pointer;
    }
    .text__inner .text:hover {
        background-color: #f5f5f5;
    }
    .text__inner .text::before {
        content: '';
        width: 60px;
        height: 60px;
        position: absolute;
        left: 20px;
        top: 20px;
        border-radius: 50%;
        background-color: rgba(12, 57, 52, 0.7);
        background-image: url(../asset/img/textType01_01.svg);
        background-repeat: no-repeat;
        background-position: center;    
    }
    .text__inner .text.t1::before {
        background-image: url(../asset/img/textType01_01.svg);
    }
    .text__inner .text.t2::before {
        background-image: url(../asset/img/textType01_02.svg);
    }
    .text__inner .text.t3::before {
        background-image: url(../asset/img/textType01_03.svg);
    }
    .text__inner .text.t4::before {
        background-image: url(../asset/img/textType01_04.svg);
    }
    .text__inner .text.t5::before {
        background-image: url(../asset/img/textType01_05.svg);
    }
    .text__inner .text.t6::before {
        background-image: url(../asset/img/textType01_06.svg);
    }

    .text__title {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .text__desc {
        font-size: 16px!important;
        color: #666;
        margin-bottom: 15px;
        line-height: 1.5;
    }
    .text__btn {
        text-align: right;
        position: relative;
        padding-right: 20px;
    }
    .text__btn::before {
        content: '';
        background-image: url(../asset/img/textType01_07.svg);
        position: absolute;
        right: 0;
        top: 0;
        width: 15px;
        height: 15px;
        transition: all 0.3s;
    }
    .text__btn:hover::before {
        transform : rotate(360deg);
    }
    .text > a {
        display: block;
    }
    </style>
</head>
<body>
    <section class="text__wrap section nexon center">
        <div class="container">
            <span class="section__small">NOTICE</span>
            <h2 class="section__h2 mb70">나에게 맞는 반려식물 고르기</h2>
            <div class="text__inner">
                <div class="text t1">
                    <h3 class="text__title">건강 관심형</h3>
                    <p class="text__desc">스투키는 사막에 살던 다육식물로 물을 자주 줄 
                        필요가 없어 키우기 쉬운 편에 속합니다. 또 밤에 
                        이산화탄소를 배출하는 보통 식물과는 달리, 밤에
                        이산화탄소를 흡수하고 산소를 배출해 침실에...</p>
                     <a class="text__btn" href="#">더보기</a>   
                </div>
                <div class="text t2">
                    <h3 class="text__title">깜빡깜빡형</h3>
                    <p class="text__desc">식물에 물 주는 것을 자꾸 깜빡~깜빡하는 분들은
                        주목해 주세요! 고무나무는 열대지방 일대 식물로
                        건조한 환경에 강해 관리하기 쉬워요. 특성상 일
                        시적으로 물이 부족하다고 쉽게 죽지 않으니, ..</p>
                     <a class="text__btn" href="#">더보기</a>
                </div>
                <div class="text t3">
                    <h3 class="text__title">훌쩍훌쩍형</h3>
                    <p class="text__desc">청량한 향으로 많은 이들의 사랑을 받고 있는
                        유칼립투스! 봄철 알레르기성 비염으로 고생하는
                        분들에게 특효과를 가져다준다고 하는데요. 겨울
                        에는 물주는 주기를 길게 잡고 속과 겉의 흙이 ...</p>
                     <a class="text__btn" href="#">더보기</a>
                </div>
                <div class="text t4">
                    <h3 class="text__title">호기심가득형</h3>
                    <p class="text__desc">평소 알고 있던 잎의 모양과 달리 몬스테라의 잎
                        은 구멍이 듬성듬성~ 독특하게 생겼죠. 생소한 잎
                        의 모양 때문에 라틴어 'monstrum(이상하다)'에
                        서 유래되었으며, 잎에 난 구멍이 스위스 치즈와..</p>
                     <a class="text__btn" href="#">더보기</a>
                </div>
                <div class="text t5">
                    <h3 class="text__title">통통튀는 예술가형</h3>
                    <p class="text__desc">​흙과 화분 없이도 키울 수 있는 공중 식물로 유명
                        한 탈란드시아 이오난사! 기존 발상을 뒤집는 통
                        통 튀는 매력의 식물인데요. 이 식물은 뿌리가 아
                        닌 잎으로 필요한 영양분을 주변 환경에서 흡수...</p>
                     <a class="text__btn" href="#">더보기</a>
                </div>
                <div class="text t6">
                    <h3 class="text__title">건강 관심형</h3>
                    <p class="text__desc">반려식물은 식물을 인생의 동반자로 생각해 붙여
                        진 이름입니다. 반려동물을 키우는 것과 비교해 
                        상대적으로 비용과 노력이 적게 들지만 비슷한 효과를
                         가져온다고 해요. 전국 만 19~59세...</p>
                     <a class="text__btn" href="#">더보기</a>
                </div>            
            </div>

        </div>
    </section>

작업순서

figma로 디자인하기 > zeplin으로 보내서 코딩 전 디자인체크 > vs code로 코딩하기

 

figma

작업할 내용과 컨텐츠를 미리 준비하고 디자인을 시작합니다.

사이즈는 1px의 오차도 없이 꼼꼼히 작성해야 합니다.

 

 

zeplin

( figma에서 플러그인 > zeplin을 활성화 시켜 프레임을 export 하면 연동되어 보여집니다. )

완성된 디자인을 체크합니다.

css코드도 참고 할 수 있어 유용합니다

 

vscode

html구조를 먼저 구성하고, zeplin에서 내용을 넣어 body를 완성합니다.

css에 reset코드는 어느정도 예상할 수 있는 범위 내에서 미리 작성합니다.

일반적으로 많이 쓰이는 css는 class명으로 지정해두어 필요할 때 마다 가져다 쓸 수 있게(재활용)  만들어 놓습니다.

( ex. class="mt10"  .mt10{margin-top: 10px;} )

6개의 텍스트 그룹은 flex를 사용하여 정렬합니다.

아이콘은 큰 역할을 하지 않으므로 백그라운드로 넣습니다.

피그마에서 svg로 저장하여 [background-image: url(../asset/img/textType01_02.svg)]이런 형태로 넣었습니다.

위치는 position: absolute; 로 조정합니다.