“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
텍스트 타입 웹페이지 만들어보기
완성 된 웹사이트를 만들기 전 다양한 유형의 웹페이지 구조를 만들어 보고 있습니다.
하나의 웹사이트에는 용도에 따라 다양한 유형의 페이지들이 조합되어 있습니다.
헤더타입, 배너타입, 이미지타입, 카드타입, 텍스트타입, 푸터타입 등으로 분류하여 작업 중 입니다.
이번에 메모할 유형은 문자가 많이 보여지는 형태인 텍스트타입 페이지 입니다.
완성된이미지
코드보기
<!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; 로 조정합니다.