별초롱언니 2025. 4. 17. 10:22
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://kit.fontawesome.com/705381df09.js" crossorigin="anonymous"></script>
  <link rel="stylesheet" href="./coza.slide.css">
  <script src="./coza.js" defer></script>
  <title>coza-conan</title>
</head>

<body>
  <header>

    <div class="top-bar">
      <div class="container">
        <div class="top-left">Free shipping for standard order over $100</div>
        <ul class="top-right">
          <li><a href="#">Help & FAQs</a></li>
          <li><a href="#">My Account</a></li>
          <li><a href="#">EN</a></li>
          <li><a href="#">USD</a></li>
        </ul>
      </div>
    </div>
  </header>
  
      <div class="wrap-menu">
        <div class="wrap-top-left"><a href=""><img src="img/logo.png"></a>
          <nav>
            <ul class="wrap-top-nav">
              <li><a class="homecolor" href="#">Home</a></li>
              <li><a href="#">Shop</a></li>
              <li><a href="#">Features</a></li>
              <li><a href="#">Blog</a></li>
              <li><a href="#">About</a></li>
              <li><a href="#">Contact</a></li>
            </ul>
          </nav>
        </div>
        <div class="wrap-top-right">
          <a class="top-icon" href="#"><i class="fa-solid fa-magnifying-glass"></i></a>
          <a class="top-icon" href="#"><i class="fa-solid fa-cart-shopping"></i></a>
          <a class="top-icon" href="#"><i class="fa-solid fa-heart"></i></a>
        </div>
      </div>

  <!-- main -->
  <div class="slidebox">
    <div class="slide">
      <div class="text-box">
        <div>
          <p>Women Collection 2018</p>
        </div>
        <div>
          <h1>NEW SEASON</h1>
        </div>
        <a href="#">SHOP NOW</a>
      </div>
      <img src="./img/slide-01.jpg">
    </div>

    <div class="slide">
      <div class="text-box">
        <div>
          <p>Men New-Season</p>
        </div>
        <div>
          <h1>JACKETS & COATS</h1>
        </div>
        <a href="#">SHOP NOW</a>
      </div>
      <img src="./img/slide-02.jpg">
    </div>

    <div class="slide">
      <div class="text-box">
        <div>
          <p>Men Collection 2018</p>
        </div>
        <div>
          <h1>NEW ARRIVALS</h1>
        </div>
        <a href="#">SHOP NOW</a>
      </div>
      <img src="./img/slide-03.jpg">
    </div>

    <div id="slidebtn">
      <i class="fa-solid fa-chevron-left left"></i>
      <i class="fa-solid fa-chevron-right right"></i>
    </div>
  </div>

  <section id="category" class="container">
    <div>
      <a class="categoryimg1" href="#">
        <h1>Women</h1>
        <p><small>Spring 2025</small></p>
      </a>
    </div>

    <div>
      <a class="categoryimg2" href="#">
        <div class="category-text">
          <h2>Men</h2>
          <p><small>Spring 2025</small></p>
        </div>
      </a>
    </div>

    <div>
      <a class="categoryimg3" href="#">
        <h2>Accessories</h2>
        <p><small>New Trend</small></p>
      </a>
    </div>
  </section>

  <section class="view-name">
    <h2>PRODUCT OVERVIEW</h2>
    <div class="view-nav">

      <!-- 탭메뉴 -->
      <ul class="view-nav-left" id="tab">
        <li id="all">All Products</li>
        <li id="women">Women</li>
        <li id="men">Men</li>
        <li id="bag">Bag</li>
        <li id="shoes">Shoes</li>
        <li id="watches">Watches</li>
      </ul>
      <div class="view-nav-right">
        <a href="#"><i class="fa-solid fa-filter"></i>Filter</a>
        <a href="#"><i class="fa-solid fa-magnifying-glass"></i>Search</a>
      </div>
    </div>
  </section>

  <section class="overview">

    <div class="overview-img all women">

      <img src="img/women1.jpg" width="300px">
      <div class="overview_content">
        <span>Esprit Ruffle Shirt</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$16.64</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women2.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Horschel supply</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$35.31</div>
    </div>

    <div class="overview-img all men">
      <div>
        <img src="img/Men1.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Esprit Ruffle Shirt</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$25.50</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women3.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Classic Trench coat</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$75.00</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women4.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Front Pocket Jumper</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$34.75</div>
    </div>

    <div class="overview-img all watches">
      <div>
        <img src="img/watches1.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Vintage Inspired Classic</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$93.20</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women5.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Shirt in Stretch Cotton</span>
        <span<i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$52.66</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women6.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Pieces Metallic Printed</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$18.96</div>
    </div>

    <div class="overview-img all shoes">
      <div>
        <img src="img/shoes.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Converse All Star Hi Plimsolls</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$75.00</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women7.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Femme T-Shirt in Stripe</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$25.85</div>
    </div>

    <div>
      <div class="overview-img all men">
        <img src="img/Men2.jpg" width="300px">
        <div class="overview_content">
          <span>Herschel supply</span>
          <span><i class="fa-solid fa-heart"></i></span>
        </div>
        <div>$63.16</div>
      </div>
    </div>

    <div>
      <div class="overview-img all men">
        <img src="img/Men3.jpg" width="300px">
        <div class="overview_content">
          <span>Herschel supply</span>
          <span><i class="fa-solid fa-heart"></i></span>
        </div>
        <div>$63.15</div>
      </div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women8.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>T-shirt with Sleeve</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$18.49</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women9.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Pretty Little Thing</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$54.79</div>
    </div>

    <div class="overview-img all watches">
      <div>
        <img src="img/watches2.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Mini silver Mesh Watch</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$86.85</div>
    </div>

    <div class="overview-img all women">
      <div>
        <img src="img/women10.jpg" width="300px">
      </div>
      <div class="overview_content">
        <span>Square Neck Back</span>
        <span><i class="fa-solid fa-heart"></i></span>
      </div>
      <div>$29.64</div>
    </div>

  </section>

  <section class="foot">
    <div class="foot-button">
      <a href="#">LOAD MORE</a>
    </div>
  </section>

  <footer>
    <section class="category">
        
        <div class="category1">
          <h4>CATEGORIES</h4>
          <ul>
            <li><a href="#">Women</a></li>
            <li><a href="#">Men</a></li>
            <li><a href="#">Shoes</a></li>
            <li><a href="#">Watches</a></li>
          </ul>
        </div>
        
      <div class="category2">
        <h4>HELP</h4>
        <ul>
          <li><a href="">Track&nbsp;Order</a></li>
          <li><a href="">Returns</a></li>
          <li><a href="">Shipping</a></li>
          <li><a href="">FAQs</a></li>
        </ul>
      </div>
    

      <div class="category3">
        <h4>GET IN TOUCH</h4>
        <div>Any questions? Let us know in store at 8th <br>
          floor. 379 Hudson St, New York, NY 10018 or<p></p>
          call us on (+1) 96 716
          6879</div>
        </div>
        
        <div class="category4">
          <h4>NEWSLETTER</h4>
          <form action="#">
            <input type="email" name="email" placeholder="email@example.com">
            <input type="submit" value="SUBSCRIBE">
          </form>
        </div>
    </section>

    <div>
      <div  class="visa">
        <div>
          <img src="img/1.png" alt="">
          <img src="img/2.png" alt="">
          <img src="img/3.png" alt="">
          <img src="img/4.png" alt="">
          <img src="img/5.png" alt="">
        </div>

        <div>Copyright &copy;2025 All rights reserved I made with &#10084; by <a class="color" href="#">Colorib</a>& distributed by  <a class="color" href="#">ThemeWagon</a></div>
      </div>
    </div>

  </footer>

</body>

</html>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
  color: inherit;
}
/* header start */
/* 
1. 큰 정렬(가로/세로) 필요한가 ?
  display : flex;
  justify-content: space-between;
  align-items: center;

2. 세부정렬이 필요한가?
  margin, padding, transform : translate();

3. 크기
4. 요소위에 요소 띄워야하는가?
  누구 기준? position: relative;
  띄우려면? position: absolute;
  top, left, right, bottom;
*/
/* .container{
  width: 70%;
  margin: 0 auto;
} */
body {
  overflow-x: hidden;
}
.top-bar {
  background-color: black;
  color: lightgray;
}

.top-bar .container {
  width: 70%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: small;
}

/* .top-bar-content {
  border-left: 1px solid gray;
  border-right: 1px solid gray;
  display: inline-block;
  padding: 10px;
  border: 1px solid gray;
  font-size: 16px;
} */

.top-bar ul{
  display: flex;
}

.top-bar ul li {
  border: 1px solid gray;
  padding: 10px 25px;
}

.wrap-menu {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  z-index: 1;
  position: sticky;
  top: 0;
  left: 0;
  background-color: white;
}

.wrap-top-left {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 290px;
}

.wrap-top-left img {
  margin: 30px 50px 30px 0;
}

.wrap-top-nav{
  display: flex;
}

.wrap-top-nav li {
  /* background-color: red; */
  /* margin: 15px; */
  padding: 15px;
}

.homecolor {
  color: #6c7ae0;
}
.wrap-top-right {
  margin-right: 290px;
}
.top-icon {
  margin: 15px;

}


/* main
  1. 큰 정렬
  2. 세부 정렬
  3. 크기
  4. 띄우기
 */

.slidebox {
  display: flex;

}

.slide {
  width: 300%;
  height: 930px;
  position: relative;
  transition: all 1s;
  /* background-repeat: no-repeat; */
}

.text-box {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 15%;
}

.slide i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30px;
  cursor: pointer;
}

.slide .left {
  left : 20px; 
}

.slide .right {
  right: 20px;
}
.slide div p {
  margin: 0 0 10px 0;
  font-size: 25px;
}

.slide div h1 {
  font-size: 50px;
  margin: 0 0 40px 0;
}

.slide a {
  display: inline-block;
  background-color: #717fe0;
  color: white;
  padding: 10px 30px;
  border-radius: 20px;
}

#slidebtn {
  width: 100%;
  position: absolute;
  top: 50%;  /*부모로 부터 50% 내려옴 중앙 아님*/
  transform: translateY(-50%); /*자신의 사이즈 만큼 50% 위로 올라감 , 중앙정렬됨*/
  display: flex; /*플렉스를 통하여 이미지 두개를 가로로 배치*/
  justify-content: space-between; /*가로로 배치된 이미지를 양끝정렬 시킴*/
}
#slidebtn i{
  position: absolute;
  font-size: 50px; /*이미지의 사이즈를 조절*/
}
#slidebtn .left {
  left: 50px;
}
#slidebtn .right {
  right: 50px;
}


/* category */
#category.container {
  display: flex;
  flex-direction: row;
  width: 800px;
  margin: 50px 250px;
}

.categoryimg1 {
  background-image: url(./img/women.jpg);
  width: 430px;
  height: 300px;
  background-repeat: no-repeat;
  background-size: 100%;
  display: block;
  border: 1px solid lightgray;
  padding: 30px;
  margin: 15px;
}

.categoryimg2 {
  background-image: url(./img/Men.jpg);
  width: 430px;
  height: 300px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  border: 1px solid lightgray;
  padding: 30px;
  margin: 15px;
}

.categoryimg3 {
  background-image: url(./img/Accessories.jpg);
  width: 430px;
  height: 300px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  border: 1px solid lightgray;
  padding: 30px;
  margin: 15px;
}

.categoryimg1:hover, .categoryimg2:hover, .categoryimg3:hover {
  opacity: 0.6;
  width: 430px;
  height: 300px;
}
 /*  */

.view-name {
  margin: 100px 300px 50px 280px
}
.view-name h2 {
  font-size: 25pt;
}
.view-nav {
  display: flex;
  justify-content: space-between;
}
.view-nav-left {
  display: flex;
}
.view-nav-left li {
  padding: 20px 20px 20px 0;
  cursor: pointer;
}
.view-nav-right a {
  padding: 10px 25px;
  background-color: white;
  border: 1px solid lightgray;
  color: gray;
}

.overview div{
  color: gray;
}
.overview {
  display: flex;
  width: 1500px;
  flex-wrap: wrap;
  margin: 0 250px 100px 250px;
}

.overview-img {
  padding: 0 20px;
  display: none;
}

.overview-img.active {
  display: block;
}

.overview_content {
  display: flex;
  justify-content: space-between;
}

.foot-button {
  width: 10%;
  text-align: center;
  margin: 0 auto;
  padding: 10px 40px;
  border-radius: 20px;
  border: 1px solid #e6e6e6;
  background-color: #e6e6e6;
}

.foot {
  padding: 0 0 100px 0;
}

footer {
  background-color: #222;
  color: white;
}

.category {
  display: flex;
  justify-content: space-between;
  padding: 50px 250px;
}

.category1 ul li a, .category2 ul li a {
  color: grey;
  font-size: small;
}

.category3 div {
  color: gray;
}

.visa {
  text-align: center;
  color: lightgray;
}

.visa div {
  padding: 10px;
}

.visa div .color {
  color: lightpink;
}

.category4 form [type="submit"] {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 30px;
  background-color: #717fe0;
  border-radius: 20px;
}

.category4 form [type="email"]{
  width: 100%;
  padding: 10px 0;
  margin-bottom: 10px;

  background-color: #222;
  border-bottom: 1px solid white;
  border-right: none;
  outline: none;
}
// headerTop높이를 얻어서 headerBottom의 top 속성의 값을 바꿔줄 에정
// position:absolute -> position : fixed 로 바꿔줄 예정
let headerTop = document.querySelector('.wrap-top-left');
let headerBottom = document.querySelector('.wrap-top-right');
let offset = headerTop.offsetHeight;

window.addEventListener('scroll', function() {
  if (this.window.scrollY > offset) {
    headerBottom.classList.add('scrolled');
    headerBottom.style.top = 0;
  } else {
    headerBottom.classList.remove('scrolled');
    headerBottom.style.top = offset+"px";
  }
});

// tab 
// Step1. 요소 선택하기
let tabs = document.querySelectorAll('.view-nav-left li');
let contents = document.querySelectorAll('.overview-img');
console.log(tabs);
console.log(contents);

// Step2. 이벤트 할당하기 
for (let i = 0; i < tabs.length; i++) {
  tabs[i].addEventListener('click', tabIdCalculator);
}

// Step3. 함수 선언하기
function tabIdCalculator() {
  let tabId = this.id;
  console.log("tabId : " + tabId);

  showTabContent(tabId);
}

//클릭 이벤트가 발생한 버튼과 관련된 콘텐츠 나타내기
//this와의 관련성 : 교집합 만들어주기
function showTabContent(tabId) {
  for (let i = 0; i < contents.length; i++) {
    contents[i].classList.remove('active');
  }

  let activeContent = document.querySelectorAll("." + tabId);
  console.log("tabId", tabId);

  if (activeContent) {
    for (let i = 0; i < activeContent.length; i++) {
      activeContent[i].classList.add('active');
    }
  }
}



// slide
// step1. selector
// 좌우 icon에 클래스 .left .right 먼저 할당하기! 
let left = document.querySelector(".left");
let right = document.querySelector(".right");
console.log(left);
console.log(right);

let lis = document.querySelectorAll('.slide');
console.log(lis);

left.addEventListener("click",leftsliding);
right.addEventListener("click",rightsliding);

let index = 0;

function leftsliding() {
  index--;
  // 음수값이되면 안되므로 li의 갯수 값을 넣어줌 현재는 2
  console.log(lis.length);
  if (index < 0) {
      index = (lis.length - 1); //2을 입력
  }
  console.log("왼쪽 슬라이딩함수");
  console.log(index);
  lis.forEach(function (slide) {
      slide.style.transform = `translateX(${index * (-100)}%)`;
  });  
}
function rightsliding() {
  index++;
  // 마지막 슬라이더 번호보다 크면 안됨
  if (index >= (lis.length)) {
      index = 0; 
  }
  console.log("오른쪽 슬라이딩함수");
  console.log(index);
  lis.forEach(function (slide) {
      slide.style.transform = `translateX(${index * (-100)}%)`;
  }); 
}

좌우 버튼 클릭시 slide구현 

스크롤 내릴때 위 네비쪽 고정되어있음