728x90
반응형
이미지 유형 페이지 만들어보기!!
카드 유형 : https://dongjin6539.tistory.com/31
텍스트 유형 : https://dongjin6539.tistory.com/35
이미지/텍스트 유형 : https://dongjin6539.tistory.com/39
슬라이드 유형 : 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>
* {
margin: 0;
padding: 0;
}
a {
text-decoration: none;
}
h1,h2,h3,h4,h5,h6 {
font-weight: normal;
}
img {
vertical-align: top;
}
.container {
width: 1160px;
margin: 0 auto;
padding: 0 20px;
}
.nexon {
font-family: 'NexonLv1Gothic';
font-weight: 400;
}
.section {
padding: 120px 0;
text-align: center;
}
.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;
}
/* image__inner */
.image__inner {
display: flex;
justify-content: space-between;
}
.image__inner .image {
width: 570px;
height: 370px;
background-color: #ccc;
position: relative;
}
.image__body {
position: absolute;
left: 0;
bottom: 0;
color: #fff;
text-align: left;
padding: 30px;
}
.image__body .title {
font-size: 32px;
line-height: 1;
margin-bottom: 15px;
}
.image__body .desc {
margin-bottom: 15px;
line-height: 1.5;
padding-right: 20%;
}
.image__body .btn {
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
padding: 10px 30px;
display: inline-block;
}
</style>
</head>
<body>
<section class="image__wrap section nexon">
<div class="container">
<h2 class="section__h2">운동을 하는 이유</h2>
<p class="section__desc">운동을 하는 이유는 체력을 키우고 건강을 얻기 위해서 입니다.</p>
<div class="image__inner">
<article class="image">
<figure class="image__header">
<img src="../asset/img/imageType01_01.jpg" alt="근골격 건강 증진">
</figure>
<div class="image__body">
<h3 class="title">근골격 건강 증진</h3>
<p class="desc">운동을 하면 근육과 골격계 효과로 관절의 연골 두께를 증가시키고 인대 등을 크고 강하게 해줍니다.</p>
<a href="#" class="btn">자세히 보기</a>
</div>
</article>
<article class="image">
<figure class="image__header">
<img src="../asset/img/imageType01_02.jpg" alt="조기 사망 감소">
</figure>
<div class="image__body">
<h3 class="title">조기 사망 감소</h3>
<p class="desc">운동은 대표적인 사망 원인인 심장병, 암, 그리고 다른 원인에 의한 조기 사망의 위험을 감소시킨다.</p>
<a href="#" class="btn">자세히 보기</a>
</div>
</article>
</div>
</div>
</section>
</body>
</html>
방법
- 자신이 원하는 font를 가지고 와서 링크를 걸어서 font를 지정해줍니다.
- 페이지의 전체 구역을 사용할꺼기 때문에 head 태그에 style 태그를 만들고 전체구역 * { } 태그를 만들고 margin: 0; padding: 0; 을 입력해줍니다.
- 만드는 웹페이지가 section 위치에 들어갈꺼기 때문에 body 태그에 section 태그를 만들어주고 class 명을 "image__wrap section nexon"으로 나중을 위해 상세하게 입력해줍니다.
- section 태그의 자식으로 div 태그를 만들고 class 명은 "container"을 만들어줍니다.
- style 태그로 넘어가서 "container" 의 width 값과 margin: 0 atuo;(가운데 정렬); 알맞은 padding 값을 입력해줍니다.
- body 태그로 넘어가서 class명이 "container" 안에 자식으로 자신이 원하는 제목과 부제 설명을 h2 태그와 p 태그를 사용해 입력해줍니다.
- h2 태그와 p 태그에도 class 명을 "section"으로 입력하고 각각 class 명을 "section__h2", "section__desc"으로 추가로 입력합니다.
- style 태그로 넘어가서 페이지를 확인해보고 section 태그에 상세하게 입력했던 class 명에 "section" 태그에 스타일을 주도록 하고 원하는 font를 지정하고 font-weight 값도 지정해줍니다.
- class 명을 "scetion"로 주었던 의 글자를 알맞은 위치를 설정하기 위해 padding값과 text-align: center;(글자 가운데 정렬)을 입력해줍니다.
- class 명을 "section__h2", "section__desc"로 주었던 h2 태그와 p 태그에도 스타일을 줄 수 있도록 하고 각각 알맞은 font-siez, font-weight, color, margin-bottom, line-height를 입력해줍니다.
- body 태그로 넘어가서 글자 밑에 이미지를 넣기 위해 class명이 "container" 안에 자식으로 div 태그를 만들고 class명을 "image__inner"으로 입력해줍니다.
- 위에 입력했던 div 태그 자식으로 이미지를 두개 넣을꺼기 때문에 article 태그 2개와 class 명을 보기 쉽게 "image"로 입력해줍니다.
- 위에 입력했던 두 개의 article 태그 자식으로 figure 태그를 사용해서 class명을 "image__body"로 주고 안에 자식으로 img 링크를 주고 원하는 이미지를 넣어줍니다.
- style 태그로 넘어가서 "image__inner . image" class 스타일에 이미지의 width값과 hegiht값을 입력해줍니다.
- 이미지를 넣게 되면 이미지가 블록 구조라 세로로 나열됩니다. 그래서 "image__inner"에 스타일로 display: flex;를 입력해 가로로 나열하게 만들어주면 이미지가 서로 붙기 때문에 justify-content: space-between; 스타일을 사용해 "image__inner . image" class에 줬던 width값에 알맞게 떨어뜨려 줍니다.
- body 태그로 넘어와서 두 개의 article 태그 자식으로 figure 태그 밑에 div 태그를 주고 class명 "image__body" 각각 만들어줍니다.
- 그 자식으로 이미지의 제목과 부제 설명을 주기 위해 h3 태그와 p 태그를 주고 상세한 설명을 위해 버튼식으로 a 링트 태그를 사용해 만들어줍니다.
- h3태그, p 태그, a 링크 태그에 각가 class 명을 "title", "desc", "btn"을 줍니다.
- a 링크 태그에 밑줄이 생기므로 style 태그로 가서 a { }를 만들고 test-decoration: none;을 입력해주면 밑줄이 없어집니다.
- style 태그로 넘어가서 "image_body" class의 요소들이 이미지의 밑으로 가게 됩니다. 그래서 이미지 위로 옮기기 위해 먼저 기준점이 자유로워지는 position: absolute; 스타일을 주고 위치를 left: 0; bottom: 0;으로 임시로 지정해줍니다.
- 그 다음 기준점을 이미지로 주기 위해서 "image__inner .image" class에 position: relative;를 주면 이미지 위로 올라가고 "image__body" class로 가서 text-align 스타일르 알맞은 글자의 정렬을 지정해주고 padding으로 알맞은 설정을 해주고 color로 색깔을 설정해줍니다.
- "image__body .title", "image__body .desc" class에 각각 알맞은 font-size, line-height, margin-bottom을 줍니다.
- "image__body .btn" class에 알맞은 color, background-color, padding값을 줍니다. 그러면 위 p 태그에 글자가 겹치므로 display: inline-block;를 입력해주면 됩니다.
- 제목 태그를 입력했을 경우 글자의 크기가 너무 두껍기 때문에 style 태그에 h1, h2, h3, h4, h5, h6 { }에 font-weight: normal;을 줍니다.
- 그러면 처음에 나온 웹페이지가 나오게 됩니다.
참고
- 아직 잘 모르는 속성에 대해 알아보겠습니다.
속성 | 속성 설명 |
text-decoration | 선으로 텍스트를 꾸미는 속성입니다. |
text-align | 텍스트의 정렬 방향을 정하는 속성입니다. |
font-weight | 글자의 두께를 설정하는 속성입니다. |
font-family | 글자의 글꼴을 설정하는 속성입니다. |
vertical-align | 특정 요소의 내용을 수직 방향으로 정렬하는 속성입니다. |
line-height | 글자 간의 높이를 지정해주는 속성입니다. |
justify-content | 특정 요소를 메인 축 방향으로 정렬하는 속성입니다. |
position: absolute | 해당 요소를 부모 요소를 기준으로 절대 위치로 배치하는 것을 의미합니다. |
position: relative | 해당 요소를 문서 흐름에서 이동시키거나, 다른 요소들과 위치를 비교하기 위한 상대적인 위치를 지정하는 것을 의미합니다. |
figure | 삽화나 다이어그램, 사진 등과 같이 문서의 주요 흐름과는 독립적인 콘텐츠를 정의할 때 사용합니다. |
- 이해가 안됐을 경우 이용해 보세요!!
728x90
반응형