Day 19 - 네이버 쇼핑 카피캣 2

SUN·2021년 7월 22일

1. 학습 내용

세번째 박스

HTML

			<div class="list-item">
				<div class="list-half list-half-top shop-border">
					<div class="list-half-header list-half-bg">
						<div class="half-overlay">
							
						</div>
						<h3 class="shop-title-border">백화점 상품 그대로</h3>
					</div>

					<ul class="contents-lists content-lists-3">
						<li>
							<img src="https://via.placeholder.com/102px*100px">
							<h3>생활공작서 과탄산소다</h3>
							<span>1.5kg x 4</span>
						</li>
						<li>
							<img src="https://via.placeholder.com/102px*100px">
							<h3>생활공작서 과탄산소다</h3>
							<span>1.5kg x 4</span>
						</li>
						<li>
							<img src="https://via.placeholder.com/102px*100px">
							<h3>생활공작서 과탄산소다</h3>
							<span>1.5kg x 4</span>
						</li>
					</ul>
				</div>
				<div class="list-half list-half-bottom shop-border">
					<div class="list-half-header">
						<span class="headline">hot deal</span>
						<h3>백화점 상품 그대로</h3>
					</div>
					<ul class="contents-lists content-lists-2">
						<li>
							<div class="content-image-wrap">
								<img src="https://via.placeholder.com/130px*90px">
								<span class="discount">50%</span>
							</div>
							<h3>부드럽게 감기는 말랑말랑 파우치 이불</h3>
							<span class="price"><em>21,900</em>원</span>
						</li>
						<li>
							<div class="content-image-wrap">
								<img src="https://via.placeholder.com/130px*90px">
								<span class="discount">50%</span>
							</div>
							<h3>부드럽게 감기는 말랑말랑 파우치 이불</h3>
							<span class="price"><em>21,900</em>원</span>
							<!-- em 태그는 폰트의 스타일이 기본적으로 이탤릭체이다 -->
						</li>
					</ul>
				</div>
			</div>

            

- list-half-bottom/ list-half-top을 이용해 두파트로 나누고 각각의 내부 디자인을 한다.

CSS

#shop-main .list-item .list-half-top {
	position: absolute;
	left: 0;
	top: 0;}

#shop-main .list-item .list-half-bottom {
	position: absolute;
	left: 0;
	bottom: 0;}
    
    - 하나의 박스를 두개로 나누어줌

#shop-main .list-item .list-half .list-half-header {
	position: relative;

	width: 100%;
	height: 62px;
	background-color: #ffffff;

	border-bottom: solid 1px #e7e7e7;

	text-align: center;
	padding-top: 10px;}
    
    - 각각 박스의 헤더의 특징을 부여

#shop-main .list-item .list-half .list-half-header 		.headline {
	display: inline-block;
	border: solid 1px #000000;
	padding: 2px 4px;
	margin-bottom: 5px;}
   - 핫딜의 특징 적용

#shop-main .list-item .list-half .list-half-header h3 {
	font-size: 14px;}

#shop-main .list-item .list-half .list-half-header .half-overlay {
	position: absolute;
	width: 100%;
	height: 100%;

	background-color: rgba(0, 0, 0, 0.5);}
- 포지션을 이용하여 그린 영역에 오버레이를 깔아줌

#shop-main .list-item .list-half .list-half-header.list-half-bg {
	background-color: green;
	padding-top: 0;
	/*list-half-bg 패딩 적용 x*/

	border-bottom: solid 1px #ffffff;
	/*bg에는 흰색 줄을 부여*/ }

#shop-main .list-item .list-half .list-half-header.list-half-bg .shop-title-border {
	position: relative;
	display: inline-block;

	border: solid 1px #ffffff;
	color:  #ffffff;

	top: 50%;
	transform: translateY(-50%);}
    - bg 부분의 타이틀 영역을 지정

#shop-main .list-item .list-half .contents-lists {
	overflow: hidden;}

#shop-main .list-item .list-half .contents-	lists.content-lists-3 li {
	float: left;
	width: 33.33%;
	height: 177px;
	border-right: solid 1px #f0f0f0;

	text-align: center;}
    - 내부 컨텐츠의 배치와 설정을 한다.

#shop-main .list-item .list-half .contents-lists.content-lists-3 li:last-child {
	border-right: none;}

#shop-main .list-item .list-half .contents-lists.content-lists-3 li img {
	width: 100%;
	height: 100px;
	margin-bottom: 5px;}
    - 이미지 설정

#shop-main .list-item .list-half .contents-lists.content-lists-3 li h3 {
	font-size: 13px;
	margin-bottom: 5px;}

#shop-main .list-item .list-half .contents-lists.content-lists-3 li span {
	font-size: 12px;}

#shop-main .list-item .list-half .contents-lists.content-lists-2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	padding-top: 11px;}
    - 하단 컨텐츠의 위치 설정

#shop-main .list-item .list-half .contents-lists.content-lists-2 li {
	width: 130px;
	height: 150px;
	margin-right: 8px;}

#shop-main .list-item .list-half .contents-lists.content-lists-2 li:last-child {
	margin-right: 0;}

#shop-main .list-item .list-half .contents-lists.content-lists-2 li .content-image-wrap {
	position: relative;
	width: 130px;
	height: 90px;}

#shop-main .list-item .list-half .contents-lists.content-lists-2 li .content-image-wrap img {
	position: absolute;
	width: 100%;
	height: 100%;}


#shop-main .list-item .list-half .contents-lists.content-lists-2 li .content-image-wrap .discount {
	position: absolute;
	display: block;
	width: 42px;
	height: 42px;
	background-color: orange;
	border-radius: 50%;

	font-size: 14px;
	color: #ffffff;

	line-height: 42px;
	text-align: center;

	top: 6px;
	right: 5px;
    - 위치 설정
    }
    - 포지션을 주어 할인이 올라오게 하고 설정을 준다.
    

#shop-main .list-item .list-half .contents-lists.content-lists-2 li h3 {
	font-size: 13px;}

#shop-main .list-item .list-half .contents-lists.content-lists-2 li .price {
	color: #62a7ee;
	font-size: 12px;}

#shop-main .list-item .list-half .contents-lists.content-lists-2 li .price em {
	font-size: 14px;
	font-weight: 700;
	font-style: normal;}

네번째 박스

HTML

<div class="list-item">
				
				<div class="list-half shop-border">
					<div class="list-half-header">
						<span class="headline">NEWS</span>
						<h3>백화점 상품 그대로</h3>
					</div>
					<ul class="contents-lists content-lists-2">
						<li>
							<div class="content-image-wrap">
								<img src="https://via.placeholder.com/130px*90px">
								<span class="discount">50%</span>
							</div>
							<h3>부드럽게 감기는 말랑말랑 파우치 이불</h3>
							<span class="price"><em>21,900</em>원</span>
						</li>
						<li>
							<div class="content-image-wrap">
								<img src="https://via.placeholder.com/130px*90px">
								<span class="discount">50%</span>
							</div>
							<h3>부드럽게 감기는 말랑말랑 파우치 이불</h3>
							<span class="price"><em>21,900</em>원</span>
						</li>
					</ul>
				</div>
                
                
				<!-- 위에서 만든 형태를 가져와 그대로 사용 후 그에 맞게 수정을 한다. bottom 제거 -->
                
                

				<ul class="list-row-3">
					<li>
						<div class="list-image-wrap shop-border">
							<img src="https://via.placeholder.com/90px*60px">
						</div>
                  - border를 주기위해 div로 묶음
                  
						<div class="list-row-info">
							<span>멜론 티켓</span>
							<h3>흥행 돌풍 마마 돈크라이</h3>
						</div>
					</li>
					<li>
						<div class="list-image-wrap shop-border">
							<img src="https://via.placeholder.com/90px*60px">
						</div>
						<div class="list-row-info">
							<span>멜론 티켓</span>
							<h3>흥행 돌풍 마마 돈크라이</h3>
						</div>
					</li>
					<li>
						<div class="list-image-wrap shop-border">
							<img src="https://via.placeholder.com/90px*60px">
						</div>
						<div class="list-row-info">
							<span>멜론 티켓</span>
							<h3>흥행 돌풍 마마 돈크라이</h3>
						</div>
					</li>
				</ul>

			</div>
            

CSS

#shop-main .list-item .list-row-3 {
	background-color: #ffffff;
	border-top: none;}

#shop-main .list-item .list-row-3 li {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;

	border-bottom: solid 1px #f0f0f0;
	padding: 14px 19px 11px 19px;}
    - 사진과 내용을 x축으로 배치

#shop-main .list-item .list-row-3 li:last-child {
	border-bottom: none;}

#shop-main .list-item .list-row-3 li .list-image-wrap {
	width: 90px;
	height: 60px;

	margin-right: 10px;}
    - 마진을 주어 사진과 글자의 간격을 벌림

#shop-main .list-item .list-row-3 li .list-image-wrap img {
	width: 100%;
	height: 100%;}

#shop-main .list-item .list-row-3 li .list-row-info span {
	font-size: 12px;}

#shop-main .list-item .list-row-3 li .list-row-info h3 {
	font-size: 13px;}

하단 브랜드 작업

HTML

<div class="brand-wrap shop-border">
			<ul class="brand-lists">
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
				<li><img src="https://via.placeholder.com/64px*64px"></li>
			</ul>
		</div>
        

CSS

#shop-main .brand-wrap {
	background-color: #ffffff;}
- 전체적인 배경을 넣어준다

#shop-main .brand-wrap .brand-lists {

	padding: 18px 18px;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;}
    - 브랜드들을 x축으로 배치

#shop-main .brand-wrap .brand-lists li {
	width: 64px;
	height: 64px;}

#shop-main .brand-wrap .brand-lists li img {
	width: 100%;
	height: 100%;}
    
    

푸터(footer) 부분

HTML

<footer id="shop-footer">
	<div class="shop-container">
	<!-- 중앙으로 맞춰주기 위해 사용 -->
		<div class="policy-wrap">
			<span>네이버 이용약관</span>
			<span>네이버페이 이용약관</span>
			<span>개인정보처리방침</span>
			<span>법적고지 및 주의사항</span>
			<span>이용안내</span>
			<span>네이버 이용약관</span>
			<span>네이버 이용약관</span>
			<span>네이버 이용약관</span>
			<span>네이버 이용약관</span>
			<span>네이버 이용약관</span>
		</div>
		<p>네이버는 통신판매 당사자가 아닙니다. 거래에 관한 의무와 책임은 판매자에게 있습니다.</p>
	
</footer>

CSS

#shop-footer {
	padding-bottom: 27px;
	text-align: center;}
    - 바닥 공간띄워주고 가운데 정렬

#shop-footer .policy-wrap  {
	border-top: solid 2px #000000;

	padding-top: 27px;
	margin-bottom: 11px;}

#shop-footer .policy-wrap span {

	font-size: 12px;}

#shop-footer .policy-wrap span:first-child:before {
	content: initial;}
    - 맨 앞 스팬은 작대기 안줌

#shop-footer .policy-wrap span:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 11px;
	margin: 0 8px;
	background-color: #d7d7d7;
	vertical-align: -1;}
    - 스팬 사이 사이 작대기 부여

#shop-footer p {
	font-size: 12px;
	color: #888;

	margin-bottom: 11px;}
    
    

이미지 무료 다운로드 사이트

1. pixabay

2. unsplash

2. 학습 중 어려웠던 점

어제의 연장선이라서 큰 어려움은 없었다.

3. 해결방안

연습계속하기

4. 학습 소감

정해긴 기한 내 진도를 다 빼지 못하는 것이 아쉽다.

profile
안녕하세요!

0개의 댓글