HMTL & CSS

썸네일 이미지 목록

동띠기 2020. 8. 22. 15:40

오늘 만들어 볼 이미지 목록 리스트. 은근히 이런 목록도 자주 쓰이는 마크업 중에 하나이다.

원래 만들 수 있었으나 두줄 말줄임은 오늘 처음 해본것이다. 

구글 검색하면 두줄 / 세줄말줄임 모두 하는 방법이 나오니 잘 검색해보자 !

 

html

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="12. 0821-imglist.css">
    <title>이미지 리스트</title>
</head>
<body>
    <div class="wrap">
        <div class="img-wrap">
            <h2 class="title">TOP100</h2>
            <div class="main-img-list-wrap">
                <div class="main-right-text">8.21 오전 9시 ~ 오전 10시 기준 (재생수, 재생시간, 좋아요)</div>
                
                <ul class="main-img">
                    <li class="main-img-list">
                        <a href="#none" class="main-link">
                            <div class="main-img-box">
                                <img src="thumb_image_large.jpg" alt="산악스키">
                            </div>
                            <div class="main-text-box">
                                <span class="img-category">산악스키</span>
                                <p class="img-title">오스트리아 최대의 산악스키 연맹, 산악스키 아마데! 5개 지역에 걸쳐있고, 총 25여개의 슬로프 길이</p>
                            </div>
                        </a>
                    </li>
                    <li class="main-img-list">
                        <a href="#none" class="main-link">
                            <div class="main-img-box">
                                <img src="thumb_image_large.jpg" alt="산악스키">
                            </div>
                            <div class="main-text-box">
                                <span class="img-category">산악스키</span>
                                <p class="img-title">오스트리아 최대의 산악스키 연맹, 산악스키 아마데! 5개 지역에 걸쳐있고, 총 25여개의 슬로프 길이</p>
                            </div>
                        </a>
                    </li>
                    <li class="main-img-list">
                        <a href="#none" class="main-link">
                            <div class="main-img-box">
                                <img src="thumb_image_large.jpg" alt="산악스키">
                            </div>
                            <div class="main-text-box">
                                <span class="img-category">산악스키</span>
                                <p class="img-title">오스트리아 최대의 산악스키 연맹, 산악스키 아마데! 5개 지역에 걸쳐있고, 총 25여개의 슬로프 길이</p>
                            </div>
                        </a>
                    </li>
                </ul>
            </div>
            <div class="sub-img-wrap">
                <ul class="sub-img">
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                    <li class="sub-img-list">
                        <a href="#none" class="sub-link">
                            <div class="sub-img-box">
                                <img src="thumb_image.jpg" alt="">
                            </div>
                            <div class="sub-text-box">
                                <p>국제육상경기연맹으로부터 라벨을 부여받은 국내의 단 두 개의 마라톤 대회 중 실버라벨을 5년 연속 유지하고 있는 대구국제마라톤대회!</p>
                                <span class="sub-img-category">마라톤</span>
                            </div>
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</body>
</html>

 

css

@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* reset.css End */
body{
    font-family: '돋움', dotum, helverica, sans-serif;
    font-size: 15px;
    line-height: 18px;
    color: #3c3c3c;
}
a{
    color: inherit;
    text-decoration: none;
    vertical-align: top;
}
img{
    vertical-align: top;
}

.img-wrap{
    width: 1060px;
    margin: 100px auto;
}
.title{
    font-size: 25px;
    margin-bottom: 20px;
}
.main-img-list-wrap{
    background-color: #ececec;
    padding: 40px 30px 20px;
}
.main-right-text{
    font-size: 12px;
    text-align: right;
    margin-bottom: 20px;
}
.main-img{
    
}
.main-img::after{
    content: '';
    display: block;
    clear: both;
}
.main-img-list{
    width: 322px;
    height: 215px;
    float: left;
}
.main-img-list:not(:last-child){
    margin-right: 17px;
}
.main-link{
    display: block;
    text-decoration: none;
    height: 100%;
}
.main-img-box > img{
    width: 322px;
    height: 215px;
    border: 1px solid rgba(0,0,0,0.05);
    box-sizing: border-box
}
.main-text-box{
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    bottom: 70px;
    padding: 20px;
}
.img-category{
    display: block;
    font-size: 14px;
    color: #000;
}
.img-title{
    font-size: 18px;
    color: #000;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.sub-img-wrap{
    padding: 30px 30px 40px;
}
.sub-img::after{
    content: '';
    display: block;
    clear: both;
}
.sub-img-list{
    float: left;
    width: 188px;
    margin-bottom: 50px;
}
.sub-img-list{
    margin-right: 15px;
}
.sub-img-list:nth-child(5n+5){
    margin: 0;
}
.sub-link{
    display: block;
    height: 100%;
    text-decoration: none;
}
.sub-img-box{
    margin-bottom: 10px;
}
.sub-img-box > img{
    width: 188px;
    height: 141px;
    box-sizing: border-box;
    border: 1px solid rgba(0, 0, 0, 0.03);
}
.sub-text-box{
    padding: 5px;
}
.sub-text-box > p{
    font-size: 15px;
    color: #090909;
    text-overflow: ellipsis;
    overflow: hidden;
    height: 2.4em;
    line-height: 1.2em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 3px;
}
.sub-img-category{
    font-size: 12px;
    color: #7ba7df;
}

오늘 해본 것은

display: -webkit-box;

-webkit-line-clamp2;

-webkit-box-orientvertical;

 

이게 제일 중요한 것 같다. 그리고 포지션의 관계

역시 html/css 중에 제일 어려운 것은 float / position 인 것 같다.

그래도 이해하면 쉬우니, 화이팅 !

 

 

 

* 부스트코스 UI 교육을 듣고 개인적으로 정리한 내용입니다.

728x90

'HMTL & CSS' 카테고리의 다른 글

달력 UI제작 (웹접근성 코드)  (0) 2020.08.28
썸네일 이미지 목록 - 2  (0) 2020.08.24
2단 배열 메뉴  (0) 2020.08.21
탭(Tab) 레이아웃 만들기  (0) 2020.08.20
기본 메뉴바 만들기  (0) 2020.08.19