<div class="audio-main-left">
<div id="audio-today" class="audio-section">
<div class="audio-header">
<h2>오늘의 오디오 클립</h2>
</div>
<div class="audio-body">
<div class="audio-slide-wrap">
<div class="audio-slide audio-flex-between">
<img src="https://via.placeholder.com/415px*198px">
<div class="txt-wrap">
<h3>[재혼황후]오디오 드라마</h3>
<p>오디오 드라마로 만나는 레전드 웹소설</p>
</div>
</div>
<button type="button" class="btn btn-left"></button>
<button type="button" class="btn btn-right"></button>
</div>
</div>
</div>
<div id="audio-original" 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/120px">
<h3>Title</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/120px">
<h3>Title</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/120px">
<h3>Title</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/120px">
<h3>Title</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<img src="https://via.placeholder.com/120px">
<h3>Title</h3>
<span class="author">저자 이름</span>
</a>
</li>
</ul>
<button type="button" class="btn-right"></button>
</div>
</div>
<div id="audio-playlist" class="audio-section">
<div class="audio-header">
<h2>나를 위한 Playlists</h2>
<p>당신을 위해 매일 새롭게 업데이트 됩니다.</p>
<a href="#" class="link-total">전체보기</a>
</div>
<div class="audio-body">
<ul class="audio-flex-between">
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/152px">
<i class="icon-play"></i>
</div>
<h3>이번주 베스트 추천</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/152px">
<i class="icon-play"></i>
</div>
<h3>이번주 베스트 추천</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/152px">
<i class="icon-play"></i>
</div>
<h3>이번주 베스트 추천</h3>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/152px">
<i class="icon-play"></i>
</div>
<h3>이번주 베스트 추천</h3>
</a>
</li>
</ul>
<button type="button" class="btn btn-right"></button>
</div>
</div>
<div id="audio-live" class="audio-section">
<div class="audio-header">
<h2>라이브 ON</h2>
</div>
<div class="audio-body">
<ul class="audio-flex-between">
<li class="active">
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<div class="live-state">
<span class="live">LIVE</span>
</div>
</div>
<h3>[LIVE]퇴근길 라이브</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<div class="live-state">
<span class="live">LIVE</span>
</div>
</div>
<h3>[LIVE]퇴근길 라이브</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<div class="live-state">
<span class="live">LIVE</span>
</div>
</div>
<h3>[LIVE]퇴근길 라이브</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<div class="live-state">
<span class="live">LIVE</span>
</div>
</div>
<h3>[LIVE]퇴근길 라이브</h3>
<span class="author">저자 이름</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<div class="live-state">
<span class="live">LIVE</span>
</div>
</div>
<h3>[LIVE]퇴근길 라이브</h3>
<span class="author">저자 이름</span>
</a>
</li>
</ul>
<button type="button" class="btn-right"></button>
</div>
</div>
<div id="audio-book" class="audio-section">
<div class="audio-header">
<h2>주간 베스트 오디오북 TOP 100</h2>
</div>
<div class="audio-body">
<ul class="audio-flex-between">
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<span class="time">2h 30min</span>
</div>
<h3>법륜스님의 행복을 찾아서 떠나는 여행</h3>
<span class="author-1">저자 이름</span>
<span class="author-2">김태희 낭독</span>
<span class="price">대여 390원</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<span class="time">2h 30min</span>
</div>
<h3>법륜스님의 행복을 찾아서 떠나는 여행</h3>
<span class="author-1">저자 이름</span>
<span class="author-2">김태희 낭독</span>
<span class="price">대여 390원</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<span class="time">2h 30min</span>
</div>
<h3>법륜스님의 행복을 찾아서 떠나는 여행</h3>
<span class="author-1">저자 이름</span>
<span class="author-2">김태희 낭독</span>
<span class="price">대여 390원</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<span class="time">2h 30min</span>
</div>
<h3>법륜스님의 행복을 찾아서 떠나는 여행</h3>
<span class="author-1">저자 이름</span>
<span class="author-2">김태희 낭독</span>
<span class="price">대여 390원</span>
</a>
</li>
<li>
<a href="#">
<div class="image-wrap">
<img src="https://via.placeholder.com/120px">
<span class="time">2h 30min</span>
</div>
<h3>법륜스님의 행복을 찾아서 떠나는 여행</h3>
<span class="author-1">저자 이름</span>
<span class="author-2">김태희 낭독</span>
<span class="price">대여 390원</span>
</a>
</li>
</ul>
<button type="button" class="btn-right"></button>
</div>
</div>
</div>
- 재활용이 가능한 코드는 재활용하기
#audio-main {
background-color: #f6f8fa;
width: 100%;
padding-top: 61px;}
#audio-main .audio-container {
/*overflow: hidden;*/
align-items: flex-start;
/* overflow hidden을 사용하면 좌우 버튼의 일부분이
사라지게 되어 사용할 수 없음 */}
#audio-main .audio-main-left {
/*float: left;*/
width: 660px;}
#audio-main .audio-main-right {
/*float: right;*/
width: 330px;}
/* 각 섹셜별 공통 디자인 */
.audio-section {
padding: 32px 0;}
.audio-section .audio-header h2 {
font-size: 22px;
font-weight: 500;
letter-spacing: -0.8px;
/* 글자간 좌우 간격 설정 */}
.audio-section .audio-body {
position: relative;
padding-top: 19px;}
.audio-section .audio-body .btn-right {
position: absolute;
width: 35px;
height: 35px;
background-color: yellow;
border-radius: 50%;
right: -17px;}
/* 오늘의 오디오 클립 */
#audio-main .audio-main-left #audio-today .audio-slide {
align-items: flex-start;}
#audio-today .audio-slide img {
width: 380px;
height: 198px;}
#audio-today .audio-slide .txt-wrap h3 {
font-size: 18px;
padding-top: 2px;}
#audio-today .audio-slide .txt-wrap p {
margin-top: 12px;}
#audio-today .audio-slide-wrap{
position: relative;}
#audio-today .audio-slide-wrap .btn {
position: absolute;
width: 35px;
height: 35px;
background-color: yellow;
border-radius: 50%;
top: 75px;
/* 높이를 설정 */}
#audio-today .audio-slide-wrap .btn-left {
left: -17px;}
#audio-today .audio-slide-wrap .btn-right {
right: -17px;}
#audio-original .audio-body ul {
align-items: flex-start;}
#audio-original .audio-body ul li {
width: 120px;}
#audio-original .audio-body li a img {
border-radius: 10px;}
#audio-original .audio-body li a h3 {
font-size: 13px;
margin-top: 10px;}
#audio-original .audio-body li a .author {
font-size: 12px;
margin-top: 6px;
color: #959595;}
#audio-original .audio-body .btn-right {
top: 60px;}
#audio-playlist .audio-header {
position: relative;}
#audio-playlist .audio-header p {
font-size: 13px;
margin-top: 8px;
color: #888888;
font-weight: 400;}
#audio-playlist .audio-header .link-total {
display: block;
position: absolute;
padding: 10px 18px 10px;
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: 0;}
- 전체보기는 포지션을 주어 직접 좌우로 배치
#audio-playlist .audio-body ul {
align-items: flex-start;}
#audio-playlist .audio-body ul li {
width: 152px;
border: solid 1px rgba(0, 0, 0, 0.1);
border-radius: 4px;}
#audio-playlist .audio-body li .image-wrap {
position: relative;
width: 151px;
height: 150px;}
#audio-playlist .audio-body li .image-wrap img {
position: absolute;
width: 100%;
height: 100%;}
#audio-playlist .audio-body li .image-wrap .icon-play {
position: absolute;
width: 32px;
height: 32px;
background-color: yellow;
border-radius: 50%;
bottom: -16px;
right: 10px;}
#audio-playlist .audio-body li a h3 {
background-color: #ffffff;
padding: 17px 11px;
font-size: 13px;}
#audio-playlist .audio-body .btn-right {
top: 90px;}
#audio-live .audio-body ul {
align-items: flex-start;}
#audio-live .audio-body li {
width: 120px;}
#audio-live .audio-body li .image-wrap {
position: relative;
width: 120px;
height: 120px;
border: solid 2px grey;
border-radius: 50%;}
#audio-live .audio-body li.active .image-wrap {
border: solid 2px red;}
#audio-live .audio-body li .image-wrap img {
position: absolute;
width: 100%;
height: 100%;
border: solid 2px #ffffff;
border-radius: 50%;}
#audio-live .audio-body li .image-wrap .live-state {
position: absolute;
padding: 2px;
border: solid 2px #ffffff;
border-radius: 3px;
background-color: #ffffff;
bottom: -15px;
left: 50%;
transform: translateX(-50%);}
#audio-live .audio-body li .image-wrap .live-state .live {
display: block;
padding: 4px 5px;
color: red;
border: solid 2px red;
border-radius: 3px;
background-color: #ffffff;
font-size: 10px;}
#audio-live .audio-body li.active .image-wrap .live-state .live {
border: solid 2px red;
border-radius: 3px;
background-color: red;
color: #ffffff;}
#audio-live .audio-body li h3 {
margin-top: 16px;
font-size: 13px;}
#audio-live .audio-body li .author {
margin-top: 6px;
font-size: 12px;
color: #959595;}
#audio-live .audio-body .btn-right {
top: 65px;}
#audio-book .audio-body ul {
align-items: flex-start;}
#audio-book .audio-body ul li {
width: 120px;}
#audio-book .audio-body .image-wrap {
position: relative;
width: 100%;}
#audio-book .audio-body .image-wrap img {
width: 100%;}
#audio-book .audio-body .image-wrap .time {
position: absolute;
padding: 2px 5px 0;
background-color: rgba(17, 17, 17, 0.75);
font-size: 11px;
color: #ffffff;
right: 0;
bottom: 0;}
#audio-book .audio-body h3 {
font-size: 13px;
margin-top: 11px;}
#audio-book .audio-body li .author-1 {
display: block;
font-size: 12px;
margin-top: 4px;
color: #959595;}
#audio-book .audio-body li .author-2 {
display: block;
font-size: 12px;
color: #959595;}
#audio-book .audio-body li .price {
display: block;
font-size: 12px;
margin-top: 4px;
font-weight: 500;}
#audio-book .audio-body .btn-right {
top: 65px;}
새로운 디자인이 나왔지만 크게 달라진 점은 없었다.
과거 했던 디자인을 잘 생각해보면서 한다.
복잡해보이지만 해보면 쉬운 것들이 있어 재미있었다.