
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
마우스를 내리면 설명글이 사라져야하는데 안사라지고 계속 있어요
보고 계신 화면 전체<!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>Document</title>
<style>
/* 이서윤체 폰트 적용을 위한 코드 */
@font-face {
font-family: "LeeSeoyun";
src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2202-2@1.0/LeeSeoyun.woff")
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");
}
/* 너비는 390픽셀이구, 배경색이 좀 필요하고 부모(body) 높이 전체를 쓸거야 */
.container {
width: 390px;
background-color: #ff9d73;
height: 100%;
}
/* 위로 여유가 30픽셀 정도 있었으면 좋겠네 */
.photos {
margin-top: 30px;
}
/* 배경은 알아보기 쉽게 흰색으로 해주고, 좌우 마진은 20픽셀 */
/* 상하 마진은 15픽셀로 해줘. 높이는 각 사진마다 200 픽셀로!*/
.photo-frame {
background-color: white;
margin: 15px 20px;
height: 200px;
background-size: cover;
position: relative;
cursor:pointer;
}
/* 아래 영역 전체는, flexible하게 하되 그 내부 아이템들은 세로로 쌓을거야 */
/* 근데 모두 가운데 정렬 했으면 좋겠어! */
.footer {
display: flex;
flex-direction: column;
align-items: center;
}
/* 아래 영역의 제목 부분은 폰트가 좀 두껍고, 사이즈는 25픽셀! 흰색으로 */
.f-title {
font-size: 25px;
font-weight: 900;
color: white;
}
/* 아래 영역의 날짜 부분은 폰트가 중간 두께고, 사이즈는 15픽셀! 흰색으로 */
.f-date {
font-size: 15px;
font-weight: 500;
color: white;
}
#image1{
background-image : url('./KakaoTalk_20230423_165122281_03.jpg');
}
#image2{
background-image : url('./KakaoTalk_20230423_165122281_02.jpg');
}
#image3{
background-image : url('./KakaoTalk_20230423_165122281.jpg');
}
#image4{
background-image : url('./KakaoTalk_20230423_165122281_01.jpg');
}
.photo_discription {
/*배경은 흰색, 글자는 검은 색으로 */
color: black;
background-color : white;
/*가로 너비는 내부 콘텐츠에 딱 맞게! */
width : fit-content;
padding : 0 20px;
margin-bottom:10px;
border-radius: 10px;
position: absolute;
bottom :85%;
transform: translate(-0% );
left : 58%;
opacity:0;
}
.video {
width : 100%;
height : 100%;
}
/*opacity(불투명함)이 0이면 0%투명하다. 즉 다보인다. */
.showText{
opacity: 0;
}
/*opacity(불투명함)이 1이면 하나도 안 보인다. */
/*transition : opacity 0.5s linear; = 비로 텍스트가 나왔다 사라졌다 */
.hideText{
opacity: 1;
transition : opacity 0.5s linear;
}
</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_discription">
무지개 해안도로
</span>
</div>
<div id="image2" class="photo-frame"
onmouseover="showText(2)"
onmouseout="hideText(2)"
onclick="alertText(2)"
>
<span id="desc2" class="photo_discription">
갈대밭 성해은st
</span>
</div>
<div id="image3" class="photo-frame"
onmouseover="showText(3)"
onmouseout="hideText(3)"
onclick="alertText(3)">
<span id="desc3" class="photo_discription">
다 찍었다 가야지
</span>
</div>
<div id="image4" class="photo-frame"
onmouseover="showText(4)"
onmouseout="hideText(4)"
onclick="alertText(4)">
<!-- src : source, 즉 자료의 원천이 어디있는지를 의미해요! -->
<iframe src="제주도.mp4" frameborder="0" class="video">
</iframe>
</div>
</div>
</div>
<div class = "footer">
<p class="f-title">Happy Time</p>
<p class="f-date">2023.04.02</p>
</div>
</div>
</body>
</html>를 캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.
