재미로 읽는 정오의 뒹굴신 일기📓
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>플래시 카드</title>
<style>
body {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Arial, sans-serif;
background-color: #f0f0f0;
}
.container {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
min-height: 100vh;
background-color: #f8f9fa;
position: relative;
z-index: 1;
}
.card {
width: 90%;
max-width: 400px;
height: 300px;
perspective: 1000px;
position: relative;
margin: 10px;
z-index: 2;
}
.card__face {
width: 100%;
height: 100%;
position: absolute;
backface-visibility: hidden;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-size: 1.4em;
text-align: center;
border: 1px solid #ccc;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.6s;
background-color: #ffffff;
padding: 20px;
box-sizing: border-box;
}
.card__face--front {
background-color: #e6c27b;
}
.card__face--back {
background-color: #c4d8d2;
transform: rotateY(180deg);
}
.card.is-flipped .card__face--front {
transform: rotateY(180deg);
}
.card.is-flipped .card__face--back {
transform: rotateY(0deg);
}
.speaker-icon {
margin-top: 20px;
cursor: pointer;
font-size: 1.4em;
}
.logo {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
width: 50px;
}
.card-number {
position: absolute;
top: 10px;
left: 50%;
transform: translateX(-50%);
font-size: 0.98em;
}
.text-line {
display: block;
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="container" id="card-container">
<!-- 카드가 여기에 동적으로 추가됩니다 -->
</div>
<script>
const cardData = [
{
number: 681,
frontText: "재밌는 책이야,<br>술술 읽혀.",
backText: "It's a real page-turner.",
audioSrc: "https://blog.kakaocdn.net/dn/V7Bkl/btsJLYLCIut/ESnjDkpJS9AqhJ99bBjIzk/tfile.mp4"
},
{
number: 682,
frontText: "나 너무<br>스트레스받아.",
backText: "I'm so stressed out.",
audioSrc: "https://blog.kakaocdn.net/dn/yLg0t/btsJMwVd5wV/kyM0KJpBM2G8Nd8apEyA8k/tfile.mp4"
},
{
number: 683,
frontText: "일부러<br>그러지 않았어.",
backText: "I didn't do it on purpose.",
audioSrc: "https://blog.kakaocdn.net/dn/bnmfVU/btsJMCgLrSu/yn74eItYP82xzawbpnx7kK/tfile.mp4"
},
{
number: 684,
frontText: "난 그거<br>감당 못해.",
backText: "I can't afford it.",
audioSrc: "https://blog.kakaocdn.net/dn/seNIY/btsJNBO2HWa/m3PxyFF4RVeDSJJi48T3LK/tfile.mp4"
},
{
number: 685,
frontText: "서비스예요.",
backText: "It’s on the house.",
audioSrc: "https://blog.kakaocdn.net/dn/T77vV/btsJLWG80fP/z3g71dk3OSuaOGqYgB8BR0/tfile.mp4"
},
{
number: 686,
frontText: "나 오늘<br>제정신 아냐.",
backText: "I’m not myself today.",
audioSrc: "https://blog.kakaocdn.net/dn/dqzEE1/btsJM4KWyMp/5lbLo8REVMLpPJYyTRG6F0/tfile.mp4"
},
{
number: 687,
frontText: "너 이거<br>어떻게 그렇게 잘해?",
backText: "How are you so good at this?",
audioSrc: "https://blog.kakaocdn.net/dn/RFAXP/btsJL8tLwb4/tSH8kv1c1SpAFDm85tjhdk/tfile.mp4"
},
{
number: 688,
frontText: "네가 정<br>그렇게 말한다면 뭐.",
backText: "If you say so.",
audioSrc: "https://blog.kakaocdn.net/dn/cch4tx/btsJLYybrkL/77GvKIOTl6RrSKu2bsWeAK/tfile.mp4"
},
{
number: 689,
frontText: "그건<br>문젯거리가 아냐.",
backText: "It's not an issue.",
audioSrc: "https://blog.kakaocdn.net/dn/nhKte/btsJNAP6P2I/VjAejRjkFtF5MLMAS8GURK/tfile.mp4"
},
{
number: 690,
frontText: "나 자제가<br>안돼.",
backText: "I'm out of control.",
audioSrc: "https://blog.kakaocdn.net/dn/bdnE9P/btsJL1VUbgQ/RlrMGeO9gDP92PcQdIkYM0/tfile.mp4"
}
];
const container = document.getElementById('card-container');
cardData.forEach((data, index) => {
const card = document.createElement('div');
card.className = 'card';
card.id = `card${index + 1}`;
card.innerHTML = `
<div class="card__face card__face--front">
<div class="card-number">${data.number}</div>
${data.frontText.split('<br>').map(line => `<span class="text-line">${line}</span>`).join('')}
<img src="https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqWKHV%2FbtsIxkWWSCQ%2FH5ebr5KfDdnjvtA7y43if0%2Fimg.png" class="logo" alt="로고">
</div>
<div class="card__face card__face--back">
<div class="card-number">${data.number}</div>
${data.backText}
<div class="speaker-icon speaker-icon${index + 1}">🎧</div>
<audio id="audio${index + 1}" src="${data.audioSrc}"></audio>
<img src="https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqWKHV%2FbtsIxkWWSCQ%2FH5ebr5KfDdnjvtA7y43if0%2Fimg.png" class="logo" alt="로고">
</div>
`;
container.appendChild(card);
});
function setupCard(cardId, audioId, speakerIconClass) {
document.querySelector(cardId).addEventListener('click', function() {
this.classList.toggle('is-flipped');
});
document.querySelector(speakerIconClass).addEventListener('click', function(event) {
event.stopPropagation();
var audio = document.querySelector(audioId);
audio.play();
});
}
cardData.forEach((_, index) => {
setupCard(`#card${index + 1}`, `#audio${index + 1}`, `.speaker-icon${index + 1}`);
});
</script>
</body>
</html>
🎧 영어 왕초보 기초 문법 강의 10강
https://www.youtube.com/playlist?list=PLaCVhPj5LHe6jILV8bE_C2LvqgFR7NbmS
🎧 1000문장 1탄(빈칸채우기)
🎧 1000문장 2탄(설명, 한글발음 有)
🔥뒹굴신 매운맛 영어회화 중급자용 재생목록
https://www.youtube.com/playlist?list=PLaCVhPj5LHe4QVKdVfhrKVhnryvRFCotk
'영어 한 줄 일기' 카테고리의 다른 글
영어 일기 The fall sky is so clear these days, and the sharp.. (0) | 2024.10.01 |
---|---|
영어 일기 I can’t go to the movies without my neck pillow! (0) | 2024.09.30 |
영어 일기 I just saw the new Transformers a nimated movie! I loved.. (0) | 2024.09.29 |
영어 일기 I get cold so easily, and I’m already in my microfiber PJs. (0) | 2024.09.28 |
영어 일기 I guess Stanley tumblers are everywhere these days. (0) | 2024.09.27 |
영어 일기 Now that fall's here, my skin is getting super dry. (0) | 2024.09.25 |
영어 일기 I checked the October calendar today, This year, the.. (0) | 2024.09.24 |
영어 일기 I saw them cutting down a dead tree in my apartment.. (0) | 2024.09.23 |
영어 일기 I haven’t watched any dating reali 641-650ty shows since We.. (0) | 2024.09.22 |
영어 일기 It rained a lot overnight, and the temperature dropped.. (0) | 2024.09.21 |
댓글