INHA(T.C)/Web_Programming

WebProgramming_Middle_Assignment_Cyworld

awspspgh 2025. 5. 29. 16:50
목차
1. 소스 코드
2. 실행 결과
3. 참고 자료

 

1. 소스 코드

◈ 파일 구조

WebMiddleAssignment/
├── html/
├── css/
├── js/
├── img/
└── audio/

 

◈ html

▣ home,html

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <title>2025 MY MINI HOMEPAGE</title>
    <link rel="stylesheet" href="../CSS/layout.css" />
    <link rel="stylesheet" href="../CSS/font.css" />
    <link rel="stylesheet" href="../CSS/home.css" />
    <link rel="stylesheet" href="../CSS/cursor.css" />
    
</head>
<body>
  <div class="bookcover">
    <div class="bookdot">
      <div class="page">
        <div class="profile-container">
          <div class="header profile-title font-neo">
            TODAY&nbsp;<span id="today-date" class="violet"></span>&nbsp;| TOTAL 234918
          </div>
          <div class="box profile-box">
            <div class="profile-image">
              <img
                class="profile-image-img"
                src="../img/me.jpg"
                alt="프로필 이미지"
              />
            </div>
            <div class="profile-text font-kyobohand">
              ㄴr는.. 오늘도.. 눈물을.. 흘린ㄷr..★
            </div>
            <div class="profile-subtext font-kyobohand red">
              21살
            </div>
            <div class="profile-subtext font-kyobohand blue">
              남자
            </div>
            <div class="profile-subtext font-kyobohand">
              박건희
            </div>
            <div class="profile-subtext font-kyobohand">
              인하공전 다니는 중..★
            </div>
            <div class="profile-username font-kyobohand">
              <span style="color: #0f1b5c">거니</span> (♪♬)
            </div>
            <div class="profile-dropdown">
              <div class="dropdown-button">
                <div class="dropdown-title">더 알아보기</div>
                <div class="triangle-down"></div>
              </div>
              <div class="dropdown-content">
                <a href="https://awspspgh.tistory.com/" target="_blank">블로그 바로가기</a>
                <a href="https://github.com/Zi90" target="_blank">깃허브 바로가기</a>
                <a href="https://www.instagram.com/zi90.322?igsh=MWJzOWpxYzRuNWh6NA==" target="_blank">인스타그램 바로가기</a>
              </div>
            </div>
          </div>
        </div>
        <div class="content-container">
          <div class="header content-title">
             <div class="content-title-name">
              <span class="wave">거</span>
              <span class="wave">니</span>
              <span class="wave">의</span>
              <span class="wave">&nbsp;</span>
              <span class="wave">추</span>
              <span class="wave">억</span>
              <span class="wave">&nbsp;</span>
              <span class="wave">상</span>
              <span class="wave">ㅈ</span>
              <span class="wave">r</span>
              <span class="wave">.</span>
              <span class="wave">.</span>
              <span class="wave">.</span>
              <span class="wave">&nbsp;</span>
              <span class="wave">(</span>
              <span class="wave">*</span>
              <span class="wave">ˊ</span>
              <span class="wave">ᵕ</span>
              <span class="wave">ˋ</span>
              <span class="wave">o</span>
              <span class="wave">💐</span>
              <span class="wave">o</span>
            </div>
            <div class="content-title-url">현재 상태: 
              <span class="online">
                <span class="wave2">수</span>
                <span class="wave2">업</span>
                <span class="wave2">중</span>
                <span class="wave2">♥</span>
              </span>
            </div>
          </div>

          <iframe id="main-frame" src="my.html" width="100%" height="600px" style="border: none;" title="Updated News and Miniroom"></iframe>
        
        </div>
        <div class="menu-container">
          <div class="menu-button">
            <a href="#" onclick="loadPage('my.html')"><button>홈</button></a>
            <a href="#" onclick="loadPage('diary.html')"><button>여행</button></a>
            <a href="#" onclick="loadPage('picture.html')"><button>일상</button></a>
            <a href="#" onclick="loadPage('music.html')"><button>노래</button></a>
            <a href="#" onclick="loadPage('guestbook.html')"><button>방명록</button></a>
          </div>
        </div>
      </div>
    </div>
  </div>
  
  <img src="../img/rainbow.png" alt="무지개" class="fixed-img rainbow wiggle1" />
  <img src="../img/heart.png" alt="하트" class="fixed-img heart wiggle2" />
  <img src="../img/star.png" alt="별" class="fixed-img star wiggle3" />
  <img src="../img/cloud.png" alt="구름" class="fixed-img cloud wiggle4" />

  <script src="../JS/loadPage.js"></script>
  <script src="../JS/today.js"></script>
</body>
</html>

 

my.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../CSS/box.css" />
    <link rel="stylesheet" href="../CSS/font.css" />
    <link rel="stylesheet" href="../CSS/home.css" />
    <link rel="stylesheet" href="../CSS/cursor.css" />
</head>
<body>
    <!-- content-box.html -->
<div class="box content-box">
  <div class="box-title">Updated news</div>
  <div class="news-flex-box">
    <div class="news-box">
      <div class="news-row">
        <div class="news-category category-post">관심</div>
        <div class="news-title"><a href="my.html">자기소개...♥</a></div>
      </div>
      <div class="news-row">
        <div class="news-category category-pic">핫</div>
        <div class="news-title"><a href="diary.html">여행...♥</a></div>
      </div>
      <div class="news-row">
        <div class="news-category category-pic">핫</div>
        <div class="news-title"><a href="picture.html">일상...♥</a></div>
      </div>
      <div class="news-row">
        <div class="news-category category-pic">핫</div>
        <div class="news-title"><a href="music.html">내 노래...♥</a></div>
      </div>
      <div class="news-row">
        <div class="news-category category-post">관심</div>
        <div class="news-title"><a href="guestbook.html">방명록...♥</a></div>
      </div>
    </div>
    <div class="update-box">
      <div class="menu-row">
        <div class="menu-item">인기<span class="menu-num">23/25</span></div>
        <div class="menu-item">매력<span class="menu-num">25/25</span></div>
      </div>
      <div class="menu-row">
        <div class="menu-item">성실<span class="menu-num">24/25</span></div>
        <div class="menu-item">감성<span class="menu-num">100/25</span></div>
      </div>
    </div>
  </div>
  <div class="miniroom">
    <div class="box-title">Miniroom</div>
    <div class="miniroom-gif-box">
      <img src="../img/myroom.jpg" alt="거니의 미니룸" />
    </div>
  </div>
</div>

</body>
</html>

 

diary.html

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <title>2025 MY MINI HOMEPAGE</title>
    <link rel="stylesheet" href="../CSS/box.css" />
    <link rel="stylesheet" href="../CSS/font.css" />
    <link rel="stylesheet" href="../CSS/diary.css" />
    <link rel="stylesheet" href="../CSS/cursor.css" />
  </head>
  <body>
    <div class="box content-box">
      <div class="calendar">
          <div class="date-today">02.28<br/>FRI</div>
          <div class="date-list">
              <div class="date"><span class="blue">1</span></div>
              <div class="date"><span class="red">2</span></div>
              <div class="date">3</div>
              <div class="date">4</div>
              <div class="date">5</div>
              <div class="date">6</div>
              <div class="date">7</div>
              <div class="date"><span class="blue">8</span></div>
              <div class="date"><span class="red">9</span></div>
              <div class="date">10</div>
              <div class="date">11</div>
              <div class="date">12</div>
              <div class="date">13</div>
              <div class="date">14</div>
              <div class="date"><span class="blue">15</span></div>
              <div class="date"><span class="red">16</span></div>
              <div class="date">17</div>
              <div class="date">18</div>
              <div class="date">19</div>
              <div class="date">20</div>
              <div class="date"><span class="violet">21</span></div>
              <div class="date"><span class="violet">22</span></div>
              <div class="date"><span class="violet">23</span></div>
              <div class="date"><span class="violet">24</span></div>
              <div class="date"><span class="violet">25</span></div>
              <div class="date">26</div>
              <div class="date">27</div>
              <div class="date">28</div>
          </div>
      </div>
      <div class="diary-scrollbox">
          <div class="diary">
              <div class="diary-date">2025.02.21. 금 08:51</div>
              <img class="photo" src="../img/diary1.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>Łй 인생 첫 일본 øㅕ행! <br>ㅇr침 6んı? <br>㉥ㅣ행ブl를 ㅌŀブl 우ιぁĦnㅓ <br>전날 막ㅊr ズl㈛철을 ㅌŀヱ <br>노숙 했ㄸr...</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.21. 금 12:08</div>
              <img class="photo" src="../img/diary2.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>오バrㅋΓøłl 있는 んıㅈБøłlnㅓ ㄹΓ멘을 먹つㅓl 되는더l!!<br> パㅔバ6øłl 맛있는 つㅓ임!!<br> 국은 걸쭉㈛ヱ ㄹΓ면으l 굵ブl오ŀ 식감○l 적ㄷб㈛ヱ<br> 
                    위으l バr진과 같○l 口ざ원 정도으l ㄱr격으로<br> ヱブl 3덩○lㄱr 있으며 ㅂĿ숙 계란 1개ㄱr<br> ㅇr주 ○F무ズlつㅓl 조己lㄱr 된 つㅓ임!!!<br>
                     또ㅎŁ 같○l 있는 갈릭 건て┤ブl?己б 같○l 먹는더l<br> 갈릭을 좋ㅇr㈛는 ㄴr으l 갠취 저격을 ぁĦ버림.... <br>
                     먹ㅈΓㅁトㅈΓ øㅕブlㄱr 일본○l구ㄴr...<br> ㄹΓヱ ㅁト음○l 외침;; </p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.21. 금 19:49</div>
              <img class="photo" src="../img/diary3.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>오バrㅋΓøłl 있는 숙소로 ㄱrブl 우ιぁĦnㅓ<br> ズl㈛철을 탔는더l ㅎŁ국 ズl㈛철과는 ⊂ト른 점○l 확실ぁı 보였음.<br> 
                    ㅂΓ로 안전문으l 높○lㄱr 낮つㅓㄴr 없⊂ト는 점!!<br> ュ己lヱ ズl㈛철○l ㅎŁ국과는 ⊂ト르つㅓl<br> 
                    개인 회バr로 각ㅈΓ ⊂ト르つㅓl 운영○l 되ヱ 있øłnㅓ<br> 교통㉥ㅣㄱr ㉥ㅣᄊトヱ 환승○l 복잡㈛つㅓl<br> ○l루øł진 곳○l 있ブl도 했음.</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.22. 토 10:05</div>
              <img class="photo" src="../img/diary4.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>감성 100%</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.22. 토 10:47</div>
              <img class="photo" src="../img/diary5.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>ㅇr름답⊂ト</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.22. 토 15:00</div>
              <img class="photo" src="../img/diary6.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>Łй 인생도 초코 ㄹΓ떼ㅊł럼 달았으면..</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.22. 토 17:07</div>
              <img class="photo" src="../img/diary7.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>오늘도 Łй 인생으l ㅎŁ 페○lズl를 적었⊂ト..</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.23. 일 09:17</div>
              <img class="photo" src="../img/diary8.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>○l곳○l 재팬으l 유LI버셜?!?!</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.24. 월 15:33</div>
              <img class="photo" src="../img/diary9.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>ㅋΓ츠 맛있땅</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.24. 월 22:06</div>
              <img class="photo" src="../img/diary10.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>Łй 첫 일본 노천탕.. 좋았⊂ト</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.25. 화 13:43</div>
              <img class="photo" src="../img/diary11.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>규ㅋΓ츠 ㉥ㅣᄊトズl口ざ <br>○l 맛을 우ιぁĦnㅓ는<br> 돈을 ㅂΓ칠 수 있⊂トㅠ</p>
              </div>
          </div>
          <div class="diary">
              <div class="diary-date">2025.02.26. 수 17:52</div>
              <img class="photo" src="../img/diary12.jpg" alt="사진첩 이미지"/>
              <div class="diary-contents">
                  <p><br>난..ㄱr끔.. 눈물을 흘린 ㄷㅏ.. <br>ㄱㅏ끔은 눈물을 참을 수 없는 ㄴㅐ가 별루ㄷㅏ..<br>소ㄹㅣ치며.. 울 수 있ㄷㅏ는건...<br>좋은ㄱㅓ..ㅇㅑ..</p>
              </div>
          </div>
      </div>
    </div>
  </body>
</html>

 

pricture.html

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <title>다이어리</title>
    <link rel="stylesheet" href="../CSS/box.css" />
    <link rel="stylesheet" href="../CSS/font.css" />
    <link rel="stylesheet" href="../CSS/picture.css" />
    <link rel="stylesheet" href="../CSS/cursor.css" />
  </head>
  <body>
    <div class="box content-box">
      <div class="content-photo">
        <div class="photo-title font-neo">교수님이.. 너무.. 벅차ㄷr..</div>
        <div class="photo-image">
          <img
            class="photo-image-img"
            src="../img/pic1.jpg"
            alt="사진첩 이미지"
          />
        </div>
        <div class="photo-title font-neo">나의.. 이zㅅro..★☆</div>
        <div class="photo-image">
          <img
            class="photo-image-img"
            src="../img/pic2.jpg"
            alt="사진첩 이미지"
          />
        </div>
        <div class="photo-title font-neo">양ㅍr같은 남ㅈr..</div>
        <div class="photo-image">
          <img
            class="photo-image-img"
            src="../img/pic3.jpg"
            alt="사진첩 이미지"
          />
        </div>
      </div>
    </div>
  </body>
</html>

 

 

music.html

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <title>2025 MY MINI HOMEPAGE</title>
    <link rel="stylesheet" href="../CSS/box.css" />
    <link rel="stylesheet" href="../CSS/font.css" />
    <link rel="stylesheet" href="../CSS/diary.css" />
    <link rel="stylesheet" href="../CSS/cursor.css" />
  </head>
  <body>
    <div class="box content-box">
      <div class="diary-scrollbox">
          <div class="diary">
              <div class="diary-date">2025.02.22. 토 10:06</div>
              <div class="diary-contents">
                <img class="music" src="../img/Love119.jpg" alt="사진첩 이미지"/>
                <audio 
                  controls
                  src="../audio/RIIZE (라이즈) 'Love 119' Lyrics (Color Coded Lyrics).mp3" 
                  type="audio/mpeg">
                  브라우저가 audio 태그를 지원하지 않을 때 표시되는 문장
                </audio>
                  <p><br>뺏긴 My ħёarŧ ŧħaŧ girl's a killёr<br> ŁØvё sØ gØØđ fёёls likё a ŧħrillёr<br> んı작됐ズl ○l건 ёmёrgёncy<br>-라이즈, LOVE 119</p>
              </div>
          </div>
          <div class="diary">
            <div class="diary-date">2025.02.23. 일 09:18</div>
            <div class="diary-contents">
              <img class="music" src="../img/Magnetic.jpg" alt="사진첩 이미지"/>
                <audio 
                  controls
                  src="../audio/ILLIT 'Magnetic' Lyrics (아일릿 Magnetic 가사) (Color Coded Lyrics).mp3" 
                  type="audio/mpeg">
                  브라우저가 audio 태그를 지원하지 않을 때 표시되는 문장
                </audio>
                  <p><br>Шaiŧ a minцŧё, ○lつㅓl 뭐ズl?<br> Łй 심ㅈБ○l lØvё-đцb ㅈΓ꾸口ざ 뛰øł<br> 저 멀己lnㅓ도 Øħ my gØsħ 끌øł댱겨<br> yØц'rё my crцsħ 초능력ㅊł럼<br>-아일릿, Magnetic</p>
              </div>
          </div>
          <div class="diary">
            <div class="diary-date">2025.02.24. 월 15:34</div>
            <div class="diary-contents">
              <img class="music" src="../img/LoveAttack.jpg" alt="사진첩 이미지"/>
                <audio 
                  controls
                  src="../audio/[UPDATED] RESCENE LOVE ATTACK Lyrics (Color Coded Lyrics).mp3" 
                  type="audio/mpeg">
                  브라우저가 audio 태그를 지원하지 않을 때 표시되는 문장
                </audio>
                  <p><br>ㅎŁ 번도 빛난 적 없었던 ㅁıズl으l 향으로<br> 온 パㅔバ6을 물들øㅕ<br> 새로워진 ㅈБ면øłl 두 눈앞은 황홀ぁĦ<br> 너으l 손을 잡을 땐 너오ŀ øł우러질 땐<br>-리센느, Love Attack</p>
              </div>
          </div>
          <div class="diary">
            <div class="diary-date">2025.02.25. 화 13:44</div>
            <div class="diary-contents">
              <img class="music" src="../img/Sign.png" alt="사진첩 이미지"/>
              <audio 
                    controls
                    src="../audio/izna (이즈나) 'Sign' (Color Coded Lyrics).mp3" 
                    type="audio/mpeg">
                    브라우저가 audio 태그를 지원하지 않을 때 표시되는 문장
                  </audio>
              <p><br>Sŧarligħŧ ㅇr㉣łı ㄴr란ぁı 앉ㅇrnㅓ 두근두근 얘ブl할 ㄸĦ<br> MØØnligħŧ 우ιøłlnㅓ 너오ŀ 춤을 추듯<br> yØц anđ i arё цp in ŧħё sky<br>-이즈나, Sign</p>
            </div>
          </div>
          <div class="diary">
            <div class="diary-date">2025.02.26. 수 17:53</div>
            <div class="diary-contents">
              <img class="music" src="../img/airplane.jpg" alt="사진첩 이미지"/>
                <audio 
                  controls
                  src="../audio/Airplane.mp3" 
                  type="audio/mpeg">
                  브라우저가 audio 태그를 지원하지 않을 때 표시되는 문장
                </audio>
                  <p><br>ㅇrㅊr, 겁○l 났었øł 날ㅇr오르는 つㅓl<br> ズl금 우릴 실은 バr己б○lㄹΓ는 planё<br> ○lㅁı 알ヱ 있øł, 머잖ㅇr 추락㈛己l란 걸<br>
                     감춰ズlズl 않ㅇr 떠오르는 □占<br> 멈출 수도 없øł øł디까질까?<br> Łйㄱr 알 수 있는 전부란 너오ŀ ㅎ古께란 것<br>-에프엑스, airplane</p>
              </div>
          </div>
      </div>
    </div>
  </body>
</html>

 

guestbook.html

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <title>2025 MY MINI HOMEPAGE</title>
    <link rel="stylesheet" href="../CSS/box.css" />
    <link rel="stylesheet" href="../CSS/font.css" />
    <link rel="stylesheet" href="../CSS/guestbook.css" />
    <link rel="stylesheet" href="../CSS/cursor.css" />
  </head>
  <body>
    <div class="box content-box">
      <div class="guestbook-scrollbox">
          <div class="guestbook-box">
              <div class="guestbook-title">No. 258 
                  <span style = "color :#5c3ccf">&nbsp;ღ별빛에_묻은_예빈ღ&nbsp;</span>
                  <i class="fas fa-home"></i>
              <div class="guestbook-date">(2025.02.21 01:31)</div>
              </div>
              <div class="guestbook-contents">
                  <div class="guestbook-image background-1">
                      <img src="../img/human1.jpg" alt="프로필 사진" />
                  </div>
                  <div class="guestbook-text">
                      <p>오빠으l バr진 속 ㅁı소ㄱr<br> 진ㅉr 행복○l었으면 좋겠⊂ト<br><br><br> ㅇr, ュ己lヱ Łйㄱr 빌려줬던<br> 도토己l 돌려줘○F 해</p>
                  </div>
              </div>
          </div>

          <div class="guestbook-box">
          <div class="guestbook-title">No. 8282 
              <span style = "color : #5c3ccf">&nbsp;인천 지존얼짱 ㅎr은&nbsp;</span>
              <i class="fas fa-home"></i>
          <div class="guestbook-date">(2025.02.22. 16:05)</div>
          </div>
          <div class="guestbook-contents">
              <div class="guestbook-image background-2">
                  <img src="../img/human2.jpg" alt="프로필 사진" />
              </div>
              <div class="guestbook-text">
                  <p>이런 웹사이트라니 폭풍 눈물..☆<br>뽀대간지 박건희 폼 미쳤ㄷr…</p>
              </div>
          </div>
          </div>

          <div class="guestbook-box">
          <div class="guestbook-title">No. 5899 
              <span style = "color :#5c3ccf">&nbsp;(재윤ゝ∀・)☆&nbsp;</span>
              <i class="fas fa-home"></i>
          <div class="guestbook-date">(2025.02.23. 10:24)</div>
          </div>
          <div class="guestbook-contents">
              <div class="guestbook-image background-3">
                  <img src="../img/human3.jpg" alt="프로필 사진" />
              </div>
              <div class="guestbook-text">
                  <p>(재윤ゝ∀・)☆ 출동~ 거니 (♪♬)<br>감성 스팟øłl 댓글 남긴⊂ト</p>
              </div>
          </div>
          </div>

          <div class="guestbook-box">
          <div class="guestbook-title">No. 7753 
              <span style = "color :#5c3ccf">&nbsp;『달빛 조각사 오주녀기』&nbsp;</span>
              <i class="fas fa-home"></i>
          <div class="guestbook-date">(2025.02.24. 23:47)</div>
          </div>
          <div class="guestbook-contents">
              <div class="guestbook-image background-4">
                  <img src="../img/human4.jpg" alt="프로필 사진" />
              </div>
              <div class="guestbook-text">
                  <p>집øłl...<br> ㄱrヱ 싶⊂ト...ㅜ</p>
              </div>
          </div>
          </div>

          <div class="guestbook-box">
          <div class="guestbook-title">No. 9941 
              <span style = "color :#5c3ccf">&nbsp;서희곤듀♥&nbsp;</span>
              <i class="fas fa-home"></i>
          <div class="guestbook-date">(2025.02.25. 15:31)</div>
          </div>
          <div class="guestbook-contents">
              <div class="guestbook-image background-4">
                  <img src="../img/human5.jpg" alt="프로필 사진" />
              </div>
              <div class="guestbook-text">
                  <p>ㅇr~~ 연0H ㈛ヱ 싶⊂ト...<br><br><br> つㅓLI○F 좋은 남ㅈΓ 소개んı켜주ㄹΓ</p>
              </div>
          </div>
          </div>

          <div class="guestbook-box">
          <div class="guestbook-title">No. 1270 
              <span style = "color :#5c3ccf">&nbsp;조랭ㅇiS2쥰&nbsp;</span>
              <i class="fas fa-home"></i>
          <div class="guestbook-date">(2025.02.26. 15:21)</div>
          </div>
          <div class="guestbook-contents">
              <div class="guestbook-image background-4">
                  <img src="../img/human6.jpg" alt="프로필 사진" />
              </div>
              <div class="guestbook-text">
                  <p>Łй일 ㅁトㄹΓ탕?</p>
              </div>
          </div>
          </div>
      </div>  
  </div>
</body>
</html>

 

 

css

layout.css

body {
  background-color: #a3a3a3;
  background-image: url("../img/pattern.png");
  background-size: 100px;

  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  font-size: 16px;

  /** 기본 폰트 설정 */
  font-family: "Noto Sans KR", sans-serif;
}

.bookcover {
  background-color: #c3b4da;
  border-radius: 9px;
  border: 1px solid #738186;
  width: 960px;
  height: 660px;
  margin: 100px auto;
  position: relative;
}

.bookdot {
  border-radius: 9px;
  border: 2px dashed #ffffff;
  padding: 15px;
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
}

.page {
  background-color: #eeeeee;
  border-radius: 9px;
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: flex;
  padding: 15px;
}

.profile-container {
  flex: 0.4;
  margin-right: 1.5rem;

  display: flex;
  flex-direction: column;
}

.content-container {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.menu-container {
  flex: 0.15;
}

.header {
  flex: 0.1;
}

.box {
  background-color: white;
  flex: 3;
  border-radius: 10px;
  border: 1px solid #cdcdcd;
}

.content-title {
  display: flex;
  align-items: center;
}

.content-title-name {
  flex: 1;
}

.content-title-url {
  flex: 1;
  font-size: 0.8rem; /* 적용한 폰트 특성 상 사이즈가 커서 font-size 조정 */
  text-align: end; /* 텍스트 우측 정렬 */
}

.profile-title {
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-box {
  display: flex;
  flex-direction: column;
  padding: 2rem;
}

.profile-image {
  flex: none;
}

.profile-image-img {
  width: 100%;
  height: 100%;
}

.profile-text {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.7;
  flex: 1;
  font-size: 12x;
}

.profile-subtext {
  margin-top: 0.3rem;
  font-size: 0.75rem;
  line-height: 1.7;
  flex: 1;
  font-size: 12x;
}

.profile-username {
  flex: 0;
}

.content-box{
  display: flex;
  flex-direction: column;
  padding: 1rem;
  overflow: auto;
}

.menu-button button{
  width: 80px;
  text-align: left;
  margin-bottom: 0.9rem;
  font-size: 1rem;
  font-family: "NeoDunggeunmo";
  padding: 0.4rem;
  background-color: #3B87AB;
  color: white;
  border-radius: 0 5px 5px 0;
  border: 1px solid grey;
  cursor: pointer;
}

.menu-button:first-child{
  margin-top: 3rem;
}

a button:hover {
  background-color: #6B66FF;
  color: white;
}

.profile-dropdown{
  flex: 0;
  border: 1px solid #c9d4da;
  padding: 5px;
  margin-top: 10px;
  font-size: 0.8rem;
  position: relative;
}

.triangle-down{
  width: 0;
  height: 0;
  border-left: 4.5px solid transparent;
  border-right: 4.5px solid transparent;
  border-top: 5px solid #838383;
}

.dropdown-button{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dropdown-content{
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.profile-dropdown:hover > .dropdown-content{
  display: block;
}

.dropdown-content > a{
  display: block;
  background-color: #f9f9f9;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  width: 100%;
  padding: 6px;
  color: black;
  text-decoration: none;
}

.dropdown-content > a:hover{
  background-color: #f1f1f1;
}

.red{
    color: red;
}

.blue{
    color: blue;
}

.violet{
    color: #af1cd4;
}

 

font.css

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;700&display=swap");

@font-face {
  font-family: "NeoDunggeunmo";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.3/NeoDunggeunmo.woff")
    format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "KOTRA_BOLD-Bold";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10-21@1.1/KOTRA_BOLD-Bold.woff")
    format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "KyoboHand";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@1.0/KyoboHand.woff")
    format("woff");
  font-weight: normal;
  font-style: normal;
}

.font-kotra {
  font-family: "KOTRA_BOLD-Bold";
}

.font-kyobohand {
  font-family: "KyoboHand";
}

.font-neo {
  font-family: "NeoDunggeunmo";
}

 

home.css

.news-flex-box {
    flex: 0 0 auto;
    margin-bottom: 2rem;
    display: flex;
    font-size: 0.8rem;
  }
  
  .news-box {
    flex: 1;
  }
  
  .update-box {
    flex: 1;
  }
  
  .miniroom {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  
  .box-title {
    font-family: "KOTRA_BOLD-Bold";
    border-bottom: 1px solid grey;
    color: #c3b4da;
  }
  
  .news-row {
    display: flex;
    font-size: 0.85rem;
    margin: 3px 0;
  }
  
  .news-category {
    padding: 0 6px;
    margin-right: 6px;
    color: white;
    border-radius: 3px;
  }
  
  .category-pic {
    background-color: #f15f5f;
  }
  
  .category-post {
    background-color: #617dc1;
  }
  
  .menu-row {
    display: flex;
    border-bottom: 1px dashed grey;
    margin: 3px 0;
  }
  
  .menu-item {
    flex: 1;
  }
  
  .menu-num {
    font-family: "NeoDunggeunmo";
    padding-left: 6px;
    color: #003399;
  }
  
  .miniroom-gif-box {
    border: 1px solid #808080;
    flex: 1;
    display: flex;
  }

  .miniroom-gif-box img{
    width: 514px;
  }

  .online{
    color: rgb(29, 190, 29);
    font-weight: 700;
  }

  .content-title-name {
  display: flex;
  gap: 0.1rem;
  font-family: "NeoDunggeunmo", sans-serif;
}

.wave {
  display: inline-block;
  animation: waveUpDown 5s ease-in-out infinite;
}

.wave2 {
  display: inline-block;
  animation: waveUpDown2 1.5s ease-in-out infinite;
}

@keyframes waveUpDown {
  0%   { transform: translateY(0); }
  14.3% { transform: translateY(-10px); }  /* ↑ 올라감 (약 1초) */
  28.6% { transform: translateY(0); }      /* ↓ 내려감 (약 1초) */
  100%  { transform: translateY(0); }      /* 나머지 3초 멈춘 것처럼 보이게 유지 */
}

@keyframes waveUpDown2 {
   0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.wave:nth-child(1)  { animation-delay: 0s; }
.wave:nth-child(2)  { animation-delay: 0.1s; }
.wave:nth-child(3)  { animation-delay: 0.2s; }
.wave:nth-child(4)  { animation-delay: 0.3s; }
.wave:nth-child(5)  { animation-delay: 0.4s; }
.wave:nth-child(6)  { animation-delay: 0.5s; }
.wave:nth-child(7)  { animation-delay: 0.6s; }
.wave:nth-child(8)  { animation-delay: 0.7s; }
.wave:nth-child(9)  { animation-delay: 0.8s; }
.wave:nth-child(10) { animation-delay: 0.9s; }
.wave:nth-child(11) { animation-delay: 1.0s; }
.wave:nth-child(12) { animation-delay: 1.1s; }
.wave:nth-child(13) { animation-delay: 1.2s; }
.wave:nth-child(14) { animation-delay: 1.3s; }
.wave:nth-child(15) { animation-delay: 1.4s; }
.wave:nth-child(16) { animation-delay: 1.5s; }
.wave:nth-child(17) { animation-delay: 1.6s; }
.wave:nth-child(18) { animation-delay: 1.7s; }
.wave:nth-child(19) { animation-delay: 1.8s; }
.wave:nth-child(20) { animation-delay: 1.9s; }
.wave:nth-child(21) { animation-delay: 2.0s; }
.wave:nth-child(22) { animation-delay: 2.1s; }

.wave2:nth-child(1)  { animation-delay: 0s; }
.wave2:nth-child(2)  { animation-delay: 0.1s; }
.wave2:nth-child(3)  { animation-delay: 0.2s; }
.wave2:nth-child(4)  { animation-delay: 0.3s; }
.wave2:nth-child(5)  { animation-delay: 0.4s; }
.wave2:nth-child(6)  { animation-delay: 0.5s; }
.wave2:nth-child(7)  { animation-delay: 0.6s; }
.wave2:nth-child(8)  { animation-delay: 0.7s; }
.wave2:nth-child(9)  { animation-delay: 0.8s; }
.wave2:nth-child(10) { animation-delay: 0.9s; }
.wave2:nth-child(11) { animation-delay: 1.0s; }
.wave2:nth-child(12) { animation-delay: 1.1s; }
.wave2:nth-child(13) { animation-delay: 1.2s; }
.wave2:nth-child(14) { animation-delay: 1.3s; }
.wave2:nth-child(15) { animation-delay: 1.4s; }
.wave2:nth-child(16) { animation-delay: 1.5s; }
.wave2:nth-child(17) { animation-delay: 1.6s; }
.wave2:nth-child(18) { animation-delay: 1.7s; }
.wave2:nth-child(19) { animation-delay: 1.8s; }
.wave2:nth-child(20) { animation-delay: 1.9s; }
.wave2:nth-child(21) { animation-delay: 2.0s; }
.wave2:nth-child(22) { animation-delay: 2.1s; }

.news-title a{
  text-decoration: none;
  color:#000000;
}

 

diary.css

.content-box{
    position: relative;
}

.calendar{
    display: flex;
    align-items: center;
    height: 3rem;
    font-family: "NeoDunggeunmo";
    border: 1px solid #EDEDF0;
}

.date-today{
    flex: 0;
    align-items: center;
    text-align: center;
    padding: 0.5rem 0.8rem;
    margin-right: 0.8rem;
    color: #5c3ccf;
}

.date-list{
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: start;
}

.date{
    margin-right: 10px;
}

.diary-scrollbox{
    top: 100px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    overflow: auto;
}

.diary{
    border: 1px solid #EDEDF0;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.diary-date{
    flex: 0;
    font-family: "NeoDunggeunmo";
    color: #5c3ccf;
    padding: 1rem;
}

.diary-contents{
    flex: 1;
    font-size:20px;
    font-family: "KyoboHand";
    text-align: center;
}

.fa-lock{
    font-size: 0.5rem;
    color: white;
    margin-right: 0.5rem;
}

.button-box{
    display: flex;
    justify-content: center;
}

.diary-button{
    display: block;
    border: none;
    padding: 1rem;
    margin-right: auto;
    margin-left: auto;
    font-size: 1rem;
    font-family: "NeoDunggeunmo";
    color: white;
    background-color: white;
    cursor: pointer;

}

#secret-box{
    display: none;
}

.red{
    color: red;
}

.blue{
    color: blue;
}

.violet{
    color: #af1cd4;
}

 

picture.css

.content-photo{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.photo-title{
  flex: 1;
  padding: 0.5rem;
  margin-top: 10px;
  margin-bottom: 20px;
  background-color: #c7c9ca;
  border-radius: 9px;
  width: 100%;
}

.photo-image{
  flex: 1 auto;
  padding: 1rem;
}

.photo-image-img{
  max-width: 450px;
  max-height: 550px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

 

guestbook.css

    .content-box{
        position: relative;
        height: 90vh; /* 혹은 고정 height 값 */
    }

    .guestbook-scrollbox{
        position: absolute;
        top: 15px;
        left: 15px;
        right: 15px;
        bottom: 15px;
        overflow: auto;
    }

    .guestbook-box{
        margin-bottom: 20px;
    }

    .guestbook-title{
        height: 2rem;
        background-color: #D1F0F8;
        display: flex;
        align-items: center;
        padding: 0 1rem;
        font-family:"NeoDunggeunmo";
        background-color: rgba(216, 216, 216, 0.932);
    }

    .guestbook-date{
        font-size: 0.8rem;
    }

    .guestbook-contents{
        padding: 1rem;
        display: flex;
        align-items: center;
    }

    .guestbook-image{
        flex: 0 0 10rem;
        height: 10rem;
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .background-1{
        background-image: url("images/background1.jpeg")
    }

    .background-2{
        background-image: url("images/background2.jpeg")
    }

    .background-3{
        background-image: url("images/background3.png")
    }

    .background-4{
        background-image: url("images/background4.jpeg")
    }

    .guestbook-image > img{
        width: 70%;
    }

    .guestbook-text{
        flex: 1;
        font-size: 1rem;
        font-family: "KyoboHand";
        padding: 1rem;
    }

 

box.css

.box {
  background-color: white;
  flex: 3;
  border-radius: 10px;
  border: 1px solid #cdcdcd;
  padding: 16px;
}


.photo{
    max-width: 400px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
}

.music{
    width: 225px;
    height: 225px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    border-radius: 5px;
}

 

cursor.css

* {
  margin: 0;
  cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDA2IDc5LjE2NDc1MywgMjAyMS8wMi8xNS0xMTo1MjoxMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjMgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDE1MzlFMUEwRTZFMTFGMDk1QjBCNjAzQTc0REU0QkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDE1MzlFMUIwRTZFMTFGMDk1QjBCNjAzQTc0REU0QkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MTUzOUUxODBFNkUxMUYwOTVCMEI2MDNBNzRERTRCRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0MTUzOUUxOTBFNkUxMUYwOTVCMEI2MDNBNzRERTRCRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpZdxf4AAAmtSURBVHjaxFd5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), auto !important;
}

/* 네 구석에 고정된 이미지 스타일 */
.fixed-img {
  position: fixed;
  width: 240px; 
  z-index: 999;
  pointer-events: none;
}

/* 각각의 위치에서 약간 안쪽으로 이동 (예: 40px → 80px) */
.fixed-img.rainbow {
  top: 100px;
  left: 80px;
  width: 320px;
}

.fixed-img.heart {
  bottom: 200px;
  left: 120px;
}

.fixed-img.star {
  top: 200px;
  right: 200px;
  width: 200px;
}

.fixed-img.cloud {
  bottom: 300px;
  right: 80px;
}

/* 공통 애니메이션 스타일 */
@keyframes wiggle1 {
  0%, 100% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
}

@keyframes wiggle2 {
  0%, 100% { transform: rotate(3deg); }
  50% { transform: rotate(-3deg); }
}

@keyframes wiggle3 {
  0%, 100% { transform: rotate(-1.5deg); }
  50% { transform: rotate(1.5deg); }
}

@keyframes wiggle4 {
  0%, 100% { transform: rotate(2.5deg); }
  50% { transform: rotate(-2.5deg); }
}

.wiggle1 {
  animation: wiggle1 2s infinite ease-in-out;
}
.wiggle2 {
  animation: wiggle2 3s infinite ease-in-out;
}
.wiggle3 {
  animation: wiggle3 2.5s infinite ease-in-out;
}
.wiggle4 {
  animation: wiggle4 3.2s infinite ease-in-out;
}

 

 

◈ javascript

loadPage.js

function loadPage(pageUrl) {
    document.getElementById("main-frame").src = pageUrl;
}

today.js

// 현재 날짜 가져오기
const today = new Date();
const month = String(today.getMonth() + 1).padStart(2, '0'); // 월 (0부터 시작하므로 +1)
const day = String(today.getDate()).padStart(2, '0'); // 일

// 날짜 표시
document.getElementById('today-date').textContent = `${month}.${day}`;

 

 

2. 실행 결과

Cyworld.mp4
15.83MB

 

 

3. 참고 자료

싸이월드

https://sujin-dev.tistory.com/377

 

[ Visual Studio Code ] 싸이월드 페이지 만들기 - ①

body { background-color: #a3a3a3; /** body에 배경이미지 적용 */ background-image: url("../static/images/pattern.png"); /** 고정된 사이즈로 설정 */ background-size: 100px; /** 기본 body 사이즈를 화면 크기로 고정 */ position: fi

sujin-dev.tistory.com

 

마우스 커스텀 커서

https://sereni-ty.tistory.com/134#google_vignette

 

웹사이트 마우스 커서 바꾸기 커스터마이징 - CSS와 JavaScript 방법 총정리 (Custom Cursor Tips)

1. 서론오늘은 웹사이트에서 마우스 커서를 JavaScript와 CSS를 이용해 바꾸는 방법에 대해 자세히 알아보겠습니다.웹사이트를 더 감각적으로 만들고 싶거나, 게임/이벤트 페이지 등에서 사용자 경

sereni-ty.tistory.com