본문 바로가기

개발 일지/코딩네컷

[개발일지] 코딩네컷 _ 1주차

https://laluniax.github.io/cording-4-cut/

 

Maru's Daily life

엄청! 귀여운! 마루 'ㅅ'!

laluniax.github.io

↗완성본↖

 

 

 

사실 내 사진 넣으려고 했는데 ... 
찍은 게 거의 없기도 하고

부모님 보여드리고 싶어서 마루 사진으로 골랐다 ㅎㅅㅎ

혹시 말티즈를 모르는 사람이 있을지 모르니 

네 번째 컷은 말티즈 정보 영상으로 ! 

 

 

 

아래는 코드! 

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Maru's Daily life</title>
  <style>

   
      @font-face {
        font-family: "LeeSeoyun";
          format("woff");
        font-weight: normal;
        font-style: normal;
      }

      /* body태그 자체에 css 요소 부여 */
      body {
        font-family: "LeeSeoyun";
        margin: 0;
        display: flex;
        justify-content: center;
        background-image: url("./background.png");
      }

 .container {
        width: 390px;
        background-color: #ff9d73;
        height: 100%;
      }

      .photos {
        margin-top: 30px;
      }

      .footer {
        display: flex;
        flex-direction: column;
        align-items: center;
      }

      .f-title {
        font-size: 25px;
        font-weight: 900;
        color: white;
      }

      .f-date {
        font-size: 15px;
        font-weight: 500;
        color: white;
      }

    #image1 {
      background-image: url(IMG_5294.jpeg)
    }

    #image2 {
      background-image: url(IMG_5334.jpeg);
    }

    #image3 {
      background-image: url(IMG_5688.jpeg);
    }

    #image4 {
      background-image: url(IMG_5727.jpeg);
    }

       .video {
  width: 100%;
  height: 100%;
}

   .photo-frame {
  background-color: white;
  margin: 15px 20px;
  height: 200px;
  background-size: cover;
  position: relative;
  cursor: pointer; //마우스가 사진 위로 올라가면 포인터 아이콘으로 바뀌도록
}

 .photo-description {
      color: white;
      background-color: black;
      width: fit-content;
      padding: 0 20px;
      margin-bottom: 10px;
      border-radius: 10px;
      position: absolute;
      bottom: 0;
      transform: translate(-50%);
      left: 50%;
      opacity: 0;
    }

  .showText {
  opacity: 1;
  transition: opacity 0.5s linear;
}

/* opacity : 투명도를 의미해요! opacity는 0에 가까워 질 수록 투명하다. 즉 안보인다. */
/* transition : 나타날 때 0.5초동안 천천히 나타나는 효과를 주라는 의미에요 */
.hideText {
  opacity: 0;
}
  </style>
  <script>
    // 텍스트가 보여지는 기능
    // 1. 몇 번째 사진에 마우스가 올라갔는지 확인(if문)
    // 2. 해당 사진을 찾아 hideText class를 지워주고, showText는 삽입해줌
    function showText(number) {
      if (number === 1) {
        document.querySelector("#desc1").classList.remove("hideText");
        document.querySelector("#desc1").classList.add("showText");
      } else if (number === 2) {
        document.querySelector("#desc2").classList.remove("hideText");
        document.querySelector("#desc2").classList.add("showText");
      } else {
        document.querySelector("#desc3").classList.remove("hideText");
        document.querySelector("#desc3").classList.add("showText");
      }
    }

    // 텍스트가 감춰지는 기능
    // 1. 몇 번째 사진에서 마우스가 벗어났는지 확인(if문)
    // 2. 해당 사진을 찾아 shotText class를 지워주고, hideText는 삽입해줌
    function hideText(number) {
      if (number === 1) {
        document.querySelector("#desc1").classList.remove("showText");
        document.querySelector("#desc1").classList.add("hideText");
      } else if (number === 2) {
        document.querySelector("#desc2").classList.remove("showText");
        document.querySelector("#desc2").classList.add("hideText");
      } else {
        document.querySelector("#desc3").classList.remove("showText");
        document.querySelector("#desc3").classList.add("hideText");
      }
    }

    // 클릭 기능
    // 1. 선택된 사진의 숫자를 가진 텍스트를 alert 형태로 출력해줌
    function alertText(number) {
      alert(`${number}번째 추억이에요! 눌러주셔서 감사합니다 'ㅅ' !! `);
    }
  </script>
</head>

<body>
  <div class="container">
    <div class="photos">
      <div id="image1" class="photo-frame"
      onmouseover="showText(1)"
      onmouseout="hideText(1)"
      onclick="alertText(1)">
        <span id="desc1" class="photo-description">
          엄청!
        </span>
      </div>
      <div id="image2" class="photo-frame"
      onmouseover="showText(2)"
      onmouseout="hideText(2)"
     onclick="alertText(2)">
        <span id="desc2" class="photo-description">
          귀여운!
        </span>
      </div>
      <div id="image3" class="photo-frame"
      onmouseover="showText(3)"
      onmouseout="hideText(3)"
      onclick="alertText(3)">
        <span id="desc3" class="photo-description">
          마루 'ㅅ'!
        </span>
      </div>
      <div class="photo-frame">
        <iframe src="https://www.youtube.com/embed/yihK9xcf-zo" frameborder="0" class="video"></iframe>
      </div>
    </div>
    <div class="footer">
      <p class="f-title">Maru's Daily Life</p>
      <p class="f-date">2023.05.17</p>
    </div>
  </div>
</body>

</html>

 

사실 처음에 마우스 커서를 사진 위에 올리면 텍스트가 나오는 기능을 넣었는데, 

작동을 하지 않길래... 30분 넘게 삽질하다 튜터님께 도움 요청했다. 

알려주신 대로 하니까 성공....!!! 

 

처음 했을 때 보다 코드 보는 시각이 넓어진 것 같아서 기분이 좋다!