사이트 만들기 : 카드 유형2
사이트 만들기 카드 유형의 2번째 입니다.
Figma를 사용했으며, 공간을 설정하는 방법은 카드 유형 1번과 동일합니다.
HTML
8개의 카드 영역으로 나누어져 있으며, container를 사용하여 일괄적으로 전체 영역을 잡아주었습니다.
<section id="cardType02" class="card__wrap gmark section">
<h2>여름 제철 과일</h2>
<p>
더운 여름에는 시원한 과일이 생각납니다,<br>
여름에 더욱 맛있어지는 제철 과일에 대하여 알아보겠습니다!🍉
</p>
<div class="card__inner container">
<article class="card">
<img src="img/card_bg02_01.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
<article class="card">
<img src="img/card_bg02_02.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
<article class="card">
<img src="img/card_bg02_03.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
<article class="card">
<img src="img/card_bg02_04.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
<article class="card">
<img src="img/card_bg02_05.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
<article class="card">
<img src="img/card_bg02_06.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
<article class="card">
<img src="img/card_bg02_07.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
<article class="card">
<img src="img/card_bg02_08.jpg" alt="fruit">
<h3 class="tit">여름 제철 과일</h3>
<p class="desc">무더운 여름철 제철 과일은 더위를 피하게 해주며, 수분을 공급해주고 달콤한 맛으로 기분도 좋게 해주는 일석이조</p>
<a href="#" class="more"><span class="ir">더보기</span></a>
</article>
</div>
</section>
CSS
더보기란에 ir효과(alt와 같은 효과)를 주어 웹 표준성에 맞게 하였으며
제목과 내용이 설정한 줄수를 넘을 경우 ...으로 표기하여줍니다.
더보기(화살표) 삽입시 svg확장자 프로그램 사용으로 확대시에도 이미지 깨짐현상이 없도록 하였습니다.
IR 기법
IR (Image Replacement) 기법은 이미지를 볼 수 없는 사용자에게 적절한 대체 텍스트를 제공하는 것을 말합니다.
.ir {
display: block;
overflow: hidden; // 영역을 숨깁니다.
font-size: 0; // 글자 크기를 0으로 변경합니다.
line-height: 0; // 글자 줄 높이를 0으로 변경합니다.
text-indent: -9999px; // 들여쓰기를 변경합니다.
}
위의 설정으로 '인물 정보'라는 글자를 사용자에게 숨기면서 또 다른 사용자에게는 대체 텍스트를 제공합니다.
/* fonts */
@import url('https://webfontworld.github.io/gmarket/GmarketSans.css');
.gmark {
font-family: 'GmarketSans';
font-weight: 500;
}
/* reset */
* {
margin: 0;
padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: normal;
}
a {
text-decoration: none;
color: #000;
}
img {
width: 100%;
}
/* common */
.container {
width: 1160px;
padding: 0 20px;
margin: 0 auto;
min-width: 1160px;
}
.section {
background-color: #fff;
padding: 120px 0;
}
.section>h2 {
font-size: 50px;
line-height: 1;
text-align: center;
margin-bottom: 20px;
}
.section>p {
font-size: 22px;
font-weight: 300;
color: #666;
text-align: center;
margin-bottom: 70px;
}
/* ir 효과(이미지 대체 효과 == alt) */
.ir {
display: block;
overflow: hidden;
font-size: 0;
line-height: 0;
text-indent: -9999px;
}
/* cardType02 */
.card__inner {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.card__inner .card {
width: 24%;
position: relative;
}
.card__inner .card:first-child {
margin-bottom: 50px;
}
.card__inner .card img {
margin-bottom: 20px;
border-radius: 10px;
}
.card__inner .card .tit {
font-size: 28px;
margin-bottom: 10px;
/* 한줄 효과 */
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-right: 20px;
}
.card__inner .card .desc {
font-size: 18px;
font-weight: 300;
color: #666;
line-height: 1.4;
/* 3줄 이상 ...처리 */
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.card__inner .card .more {
width: 24px;
height: 24px;
background-image: url(img/Arrow.svg);
display: block;
position: absolute;
right: 0;
top: 230px;
border-radius: 5px;
}
댓글