학습 내용
audio.html
<div class="audio-main-right">
<div id="audio-intro" class="audio-section">
<div class="audio-header">
<h2>인기 채널을 소개합니다.</h2>
</div>
<div class="audio-body">
<ul class="audio-flex-between">
<li>
<a href="#">
<img src="https://via.placeholder.com/152">
<h3>오은영의 육아 듣기</h3>
<span class="source">오은영 박사</span>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/152">
<h3>클래식매니저</h3>
<span class="source">아티스츠카드</span>
</a>
</li>
</ul>
</div>
</div>
</div>
css
#audio-intro .audio-body li img {
width: 152px;
height: 152px;
border-radius: 4px;
}
#audio-intro .audio-body li h3 {
margin-top: 12px;
font-size: 13px;
}
#audio-intro .audio-body li .source {
margin-top: 4px;
font-size: 12px;
color: #959595;
}
html
<div id="audio-discovery" class="audio-section">
<div class="audio-header">
<h2>
오늘의 발견<br>
요즘 많이 듣는 채널👍
</h2>
<p>8월 17일 0시부터 24시까지 많이 들은 채널입니다.</p>
<a href="#" class="link-setting">관심 설정</a>
</div>
<div class="audio-body">
<ul class="audio-flex-between">
<li>
<a href="#">
<img src="https://via.placeholder.com/152">
<h3>컬투쇼 레전드 사연</h3>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/152">
<h3>클래식매니저</h3>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/152">
<h3>끊을 수 없는 나쁜 짓</h3>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/152">
<h3>채티 오디오 드라마</h3>
</a>
</li>
</ul>
<button class="btn-more">
<span class="color-blue">더 많이</span> 발견하기 1 <span class="pages">/ 5</span>
</button>
</div>
</div>
css
#audio-discovery {}
#audio-discovery .audio-header {
position: relative;
}
#audio-discovery .audio-header h2 {
font-size: 17px;
line-height: 24px;
}
#audio-discovery .audio-header p {
margin-top: 7px;
font-size: 13px;
color: #888;
}
#audio-discovery .audio-header .link-setting {
display: block;
position: absolute;
padding: 10px 18px 8px;
background-color: #ffffff;
font-size: 13px;
border: solid 1px rgba(0, 0, 0, 0.1);
border-radius: 20px;
box-shadow: 0 2px 10px 0 rgb(80 85 91 / 7%);
color: #157efb;
right: 0;
top: 6px;
}
#audio-discovery .audio-body ul {}
#audio-discovery .audio-body li {
margin-bottom: 40px;
}
#audio-discovery .audio-body li a {}
#audio-discovery .audio-body li img {
width: 152px;
height: 152px;
border-radius: 4px;
}
#audio-discovery .audio-body li h3 {
margin-top: 12px;
font-size: 13px;
}
#audio-discovery .audio-body .btn-more {
display: block;
margin: 0 auto;
font-size: 14px;
color: #222;
padding: 12px 21px 12px 21px;
border: solid 1px rgba(0, 0, 0, 0.1);
border-radius: 24px;
background-color: #ffffff;
box-shadow: 0 2px 10px 0 rgb(80 85 91 / 7%);
font-weight: 500;
}
#audio-discovery .audio-body .btn-more .color-blue {
color: #157efb;
}
#audio-discovery .audio-body .btn-more .pages {
color: #959595;
}
html
<div id="audio-create" class="audio-section">
<div class="audio-body">
<ul>
<li>
<a href="#" class="audio-flex-between">
<div class="txt-wrap">
<h2>오디오클립 채널을 만들어 보세요!</h2>
<p class="color-blue">콘텐츠 제안하기</p>
</div>
<div class="list-bg list-bg-1"></div>
</a>
</li>
<li>
<a href="#" class="audio-flex-between">
<div class="txt-wrap">
<h2>즐거움이 들린다! 오디오클립</h2>
<p class="color-purple">오디오클립이 궁금하시다면?</p>
</div>
<div class="list-bg list-bg-2"></div>
</a>
</li>
</ul>
</div>
</div>
css
#audio-create .audio-body li {
padding: 22px 4px;
border-top: solid 1px #efefef;
}
#audio-create .audio-body li:last-child {
border-bottom: solid 1px #efefef;
}
#audio-create .audio-body li a {}
#audio-create .audio-body li .txt-wrap {
width: 225px;
}
#audio-create .audio-body li .txt-wrap h2 {
font-size: 16px;
font-weight: 700;
}
#audio-create .audio-body li .txt-wrap p {
font-size: 14px;
margin-top: 6px;
letter-spacing: -.8px;
}
#audio-create .audio-body li .txt-wrap p.color-blue {
color: #2db8e8;
}
#audio-create .audio-body li .txt-wrap p.color-purple {
color: #8560f7;
}
#audio-create .audio-body li .list-bg {
width: 80px;
height: 64px;
}
#audio-create .audio-body li .list-bg.list-bg-1 {
background-color: blue;
}
#audio-create .audio-body li .list-bg.list-bg-2 {
background-color: purple;
}
html
<footer id="audio-footer">
<div class="audio-container">
<h1>
<a href="#">audio clip</a>
</h1>
<div class="copyright-wrap">
<p>
저작권을 위반해서는 안되기 때문에 애국가를 부르시는 강사님과 함께 사이트 카피캣 <br>
저작권을 위반해서는 안되기 때문에 애국가를 부르시는 강사님과 함께 사이트 카피캣 <br>
저작권을 위반해서는 안되기 때문에 애국가를 부르시는 강사님과 함께 사이트 카피캣
</p>
</div>
<nav class="footer-nav">
<ul>
<li><a href="#">로그인</a></li>
<li><a href="#">오디오클립 소개</a></li>
<li><a href="#">공식 포스트</a></li>
<li><a href="#">콘텐츠 제안</a></li>
<li><a href="#">이용약관</a></li>
<li><a href="#">개인정보처리방침</a></li>
<li><a href="#">책임의 한계와 법적고지</a></li>
<li><a href="#">결제관련문의</a></li>
<li><a href="#">고객센터</a></li>
</ul>
</nav>
<a href="#" class="footer-copyright-link">
<span class="symbol">©</span>
네이버
</a>
</div>
</footer>
css
#audio-footer {
background-color: #eaecef;
padding: 48px 0 164px;
}
#audio-footer h1 {
font-size: 25px;
}
#audio-footer h1 a {
color: #959595;
}
#audio-footer .copyright-wrap {
margin-top: 37px;
}
#audio-footer .copyright-wrap p {
letter-spacing: -.5px;
font-size: 13px;
line-height: 19px;
color: #959595;
}
#audio-footer .footer-nav {
margin-top: 47px;
}
#audio-footer .footer-nav ul {
overflow: hidden;
}
#audio-footer .footer-nav li {
float: left;
}
#audio-footer .footer-nav li a {
font-size: 13px;
color: #959595;
}
#audio-footer .footer-nav li a:after {
display: inline-block;
content: "";
width: 2px;
height: 2px;
border-radius: 50%;
background-color: #959595;
/*margin: 4px 7px;*/
vertical-align: top;
margin: 9px 7px 0;
}
#audio-footer .footer-nav li:last-child a:after {
content: none;
}
#audio-footer .footer-copyright-link {
display: block;
margin-top: 8px;
font-size: 12px;
color: #959595;
}
audio-category.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>카테고리 : 오디오클립</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<header id="audio-header">
<div class="audio-container">
<nav id="audio-nav" class="audio-flex-between">
<div class="audio-nav-left audio-flex-between">
<h1 class="audio-logo">
<a href="#">audio clip</a>
</h1>
<ul class="audio-flex-end">
<li><a href="audio.html"><span>홈</span></a></li>
<li><a href="#"><span>랭킹</span></a></li>
<li><a href="#"><span>연재 채널</span></a></li>
<li><a href="#"><span>오디오북</span></a></li>
<li><a href="audio-category.html" class="active"><span>카테고리</span></a></li>
<li><a href="#"><span>이벤트</span></a></li>
</ul>
</div>
<div class="audio-nav-right audio-flex-between">
<div class="search-wrap audio-flex-start">
<i class="icon-search"></i>
<input type="text">
</div>
<div class="profile-wrap">
<img src="https://via.placeholder.com/32" class="profile-img">
<a href="#">로그인</a>
</div>
</div>
</nav>
</div>
</header>
<main id="audio-main" class="audio-sub-main" role="main">
<div class="audio-container">
<div id="audio-category-channel" class="audio-category">
<div class="title-wrap">
<h2>채널</h2>
<p>4,997개의 채널</p>
</div>
<ul class="audio-category-lists">
<li class="category-list">
<a href="#">
<h3>예능</h3>
<p>유머, 코미디, 고민상담</p>
<img class="thumbnail" src="https://via.placeholder.com/103">
</a>
</li>
</ul>
</div>
<div id="audio-category-book" class="audio-category">
</div>
</div>
</main>
<footer id="audio-footer">
<div class="audio-container">
<h1>
<a href="#">audio clip</a>
</h1>
<div class="copyright-wrap">
<p>
저작권을 위반해서는 안되기 때문에 애국가를 부르시는 강사님과 함께 사이트 카피캣 <br>
저작권을 위반해서는 안되기 때문에 애국가를 부르시는 강사님과 함께 사이트 카피캣 <br>
저작권을 위반해서는 안되기 때문에 애국가를 부르시는 강사님과 함께 사이트 카피캣
</p>
</div>
<nav class="footer-nav">
<ul>
<li><a href="#">로그인</a></li>
<li><a href="#">오디오클립 소개</a></li>
<li><a href="#">공식 포스트</a></li>
<li><a href="#">콘텐츠 제안</a></li>
<li><a href="#">이용약관</a></li>
<li><a href="#">개인정보처리방침</a></li>
<li><a href="#">책임의 한계와 법적고지</a></li>
<li><a href="#">결제관련문의</a></li>
<li><a href="#">고객센터</a></li>
</ul>
</nav>
<a href="#" class="footer-copyright-link">
<span class="symbol">©</span>
네이버
</a>
</div>
</footer>
</body>
</html>
css
/* 오디오 카테고리 */
#audio-main.audio-sub-main {
background-color: #ffffff;
}
.audio-category {
padding-top: 71px;
}
.audio-category .title-wrap {
padding-bottom: 20px;
border-bottom: solid 1px #ececec;
}
.audio-category .title-wrap h2 {
font-size: 27px;
font-weight: 600;
letter-spacing: -1px;
}
.audio-category .title-wrap p {
font-size: 14px;
color: #959595;
margin-top: 20px;
}
.audio-category .audio-category-lists {
margin-top: 22px;
}
.audio-category .audio-category-lists .category-list {
width: 162px;
height: 164px;
}
.audio-category .audio-category-lists a {
overflow: hidden;
position: relative;
display: block;
width: 100%;
height: 100%;
background-color: rgb(230, 125, 127);
border-radius: 6px;
padding: 14px;
}
.audio-category .audio-category-lists a h3 {
font-size: 19px;
line-height: 1.3;
color: #ffffff;
}
.audio-category .audio-category-lists a p {
position: absolute;
width: 80px;
font-size: 13px;
color: #fefefe;
bottom: 14px;
}
.audio-category .audio-category-lists a .thumbnail {
position: absolute;
width: 78px;
height: 78px;
right: -13px;
bottom: 0;
transform: rotate(25deg);
}
css
.audio-category .audio-category-lists {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
align-content: stretch;
margin-top: 22px;
}
여러개를 넣으면 갯수가 맞지 않는 부분은 배열이 틀어진다.
justify-content: flex-start;
flex-start로 바꾸어주고 공백을 설정
.audio-category .audio-category-lists .category-list {
width: 162px;
height: 164px;
margin-right: 20px;
margin-bottom: 20px;
}
.audio-category .audio-category-lists .category-list:nth-child(6n) {
margin-right: 0;
}
nth:child(odd) 홀수마다
nth:child(even) 짝수마다
#audio-category-book {
padding-bottom: 120px;
}
어려웠던 점 & 해결 방법
없었다. nth:child 여러가지 설정 방법을 배웠다.
학습 소감
잘 모르는 부분이나 강사님이 새롭게 알려주시는 부분은 구글링을 하면 참고할 부분이 많을 것 같다. 배열을 설정할 때에도 다양한 방법으로 같은 모양의 배열을 할 수 있을 것 같다.