재미로 읽는 정오의 뒹굴신 일기📓
<!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: 471,
frontText: "속 태우지 마.",
backText: "Don't sweat it.",
audioSrc: "https://blog.kakaocdn.net/dn/KuBrT/btsJtd8h2y3/fvZ7ckPEez8IYQJSQPOHY0/tfile.mp4"
},
{
number: 472,
frontText: "다음엔 더<br>잘할 거야.",
backText: "You'll do better next time.",
audioSrc: "https://blog.kakaocdn.net/dn/pER3e/btsJsO8XCJE/Q1h5iPj4j6RZZ7kOCYFro0/tfile.mp4"
},
{
number: 473,
frontText: "그거 오타야.",
backText: "That's a typo.",
audioSrc: "https://blog.kakaocdn.net/dn/baTLsl/btsJrZXC04N/UezV5QSaBoSWOZf74KOhR0/tfile.mp4"
},
{
number: 474,
frontText: "그건<br>타협할 수 없어.",
backText: "It's non-negotiable.",
audioSrc: "https://blog.kakaocdn.net/dn/lBcnZ/btsJqSSMqaR/8vhOz3oVH2DsWpJn6FxtaK/tfile.mp4"
},
{
number: 475,
frontText: "시간을 갖고<br>기다려봐.",
backText: "Give it time.",
audioSrc: "https://blog.kakaocdn.net/dn/cBo6Uf/btsJrl79WF2/7A3bHyOfiKQ82eHFyxHiyK/tfile.mp4"
},
{
number: 476,
frontText: "지금 시간<br>곤란해?",
backText: "Is this a bad time?",
audioSrc: "https://blog.kakaocdn.net/dn/banyO0/btsJsQTd58M/7ssmznqVtmLQxSUskwNal0/tfile.mp4"
},
{
number: 477,
frontText: "그때그때 달라.",
backText: "It depends.",
audioSrc: "https://blog.kakaocdn.net/dn/dt2fIo/btsJsmdP7C0/ufVqkkxETmqwn33G9ILUjK/tfile.mp4"
},
{
number: 478,
frontText: "얼마든지요.",
backText: "Be my guest.",
audioSrc: "https://blog.kakaocdn.net/dn/bpGgKF/btsJrPHzpAW/LkwrF8NJRMzDlKhy52XOEK/tfile.mp4"
},
{
number: 479,
frontText: "본네트 좀<br>열어봐.",
backText: "Pop the hood.",
audioSrc: "https://blog.kakaocdn.net/dn/bAD8b5/btsJrsF7Eb3/5dKUBPTsJayZO9WaIerWRk/tfile.mp4"
},
{
number: 480,
frontText: "다 컸네.<br>(어른이 다 됐네.)",
backText: "You're all grown up.",
audioSrc: "https://blog.kakaocdn.net/dn/bAwxWG/btsJrAjOcNg/FmFxIDPV6pTtSaUV8kuRa1/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
'영어 한 줄 일기' 카테고리의 다른 글
영어 일기 I got home and found my cat sleeping right at the edge.. (0) | 2024.09.10 |
---|---|
영어 일기 I got a new stainless steel sink strainer, because.. (0) | 2024.09.09 |
영어 일기 I like to keep everything off the floor and hung on the.. (0) | 2024.09.08 |
영어 일기 Finally, it's Friday. I have a two-day part-time job.. (0) | 2024.09.07 |
영어 일기 I made myself some cold buckwheat noodles and.. (0) | 2024.09.06 |
영어 일기 Before work, I go to a gym near my office. As soon as I.. (0) | 2024.09.04 |
영어 일기 I sometimes talk to the moon. She never answers, but.. (0) | 2024.09.03 |
영어 일기 I’ve been spotting so many mantises these days. (0) | 2024.09.02 |
영어 일기 I used to be bad at swimming and 431-440 floating in the water.. (0) | 2024.09.01 |
영어 일기 It's been forever since I last went to a café without my.. (0) | 2024.08.31 |
댓글