๐ŸŽƒ๐Ÿฆ‡ HTMLoween ๐Ÿฆ‡๐ŸŽƒ - ํ”ผ๋ฅผ ๋“๊ฒŒ ๋งŒ๋“œ๋Š” HTML, JS ๋ฐ CSS! ๐Ÿ˜ฑ

26035 ๋‹จ์–ด csswebdevhtmljavascript
Muuwwwaaahhhhhhhaha ๊ทธ๊ฒƒ์€ ๋ฌด์„œ์šด ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ Ghoulish ์ฝ”๋“œ(๋น„๋ช…์„ ์ง€๋ฅด๊ฒŒ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค!)๋กœ ๊ฐ€๋“ ์ฐฌ ์žฌ๋ฏธ์žˆ๋Š” ๊ฒŒ์‹œ๋ฌผ๊ณผ ์นœ๊ตฌ์™€ ํ•จ๊ป˜ ์กฐ๊ฐํ•œ ํ˜ธ๋ฐ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ์œผ์Šค์Šคํ•œ ์ฆ๊ฑฐ์šด ํ•˜๋ฃจ๋ฅผ ๋ณด๋‚ด๊ณ  ์ด ๋”์ฐํ•œ ์ฝ”๋“œ๊ฐ€ ๋‹น์‹ ์„ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ดด๋กญํžˆ์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค!

๋‚ด์šฉ๋ฌผ


  • HTML Horrors
  • JavaCrypt

  • CSScooby doo !
  • Some pumpkin carvings to cheer you up!

  • HTML ๊ณตํฌ



    1๋…„์— ํ•œ ๋ฒˆ ํ• ๋กœ์œˆ์—์„œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์ง€๋งŒ, ์ด ๊ณตํฌ๋Š” ์ผ ๋…„ ๋‚ด๋‚ด ๋„์‚ฌ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

    18์„ธ ๋ฏธ๋งŒ์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์œผ๋ฉฐ R๋“ฑ๊ธ‰(์“ฐ๋ ˆ๊ธฐ์šฉ!)

    ๋ถ„๋ช…ํžˆ 7 ๋ ˆ๋ฒจ ์ด์ƒ์˜ ์ง€์˜ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค




    <img src="../../../../../../../../../../../../../../../../../../../../../../../../assets/logo.bmp" /> 
    


    ์•…๋งˆ ๊ฐ™์€ ๋ถ„๋ฐฐ๊ธฐ




    <center>-------------------------------------------</center>
    


    *๊ณ ์ „์ ์ธ* ๊ณตํฌ!




    <p class="hover:bg-light-blue-200
      hover:text-light-blue-800 
      group 
      flex 
      items-center 
      rounded-md 
      bg-light-blue-100 
      text-light-blue-600 
      text-sm 
      font-medium 
      px-4 
      py-2">
        Hi
    </p>
    


    ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ •์ƒ์ ์ธ ๋ฐœ๊ตด ์ž‘์—…์„ ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค!

    ์˜ค๋Š˜ ๋ฐค ์šฐ๋ฆฌ๋Š” ์ง€์˜ฅ์—์„œ (๋ˆˆ๋ฌผ์˜ ์‹ํƒ์—์„œ) ๋งŒ์ฐฌ์„ ํ•ฉ๋‹ˆ๋‹ค!




    <table id="body">
       <tr id="wrapper">
         <td id="main">
           <table id="row-wrapper">
             <tr id="body_row">
               <td id="body_left">
                 <table id="nav">
                   <tr href="home.html" onclick="nav()">Home</tr>    
                   <tr href="about.html" onclick="nav()">About</tr>  
                   <tr href="contact.html" onclick="nav()">Contact</tr>  
                 </table>
               </td>
               <td id="body_main"></td>
               <td id="body_aside"></td>
             </tr>
           </table>
         </td>
       </tr>
     </table>
    


    ์ž๋ฐ”ํฌ๋ฆฝํŠธ



    ์˜ค, ๋‹น์‹ ์€ HTML์ด ๋‚˜์˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž”ํ˜นํ•œ JavaScript๋ฅผ ๋ณผ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์‹ญ์‹œ์˜ค!

    ์‹ฌ์žฅ์ด ์•ฝํ•œ ์‚ฌ๋žŒ๋“ค์€ ์ง€๊ธˆ ์™ธ๋ฉดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ์‹ ์€ ์—†๋‹ค




    const allowed = {
        '1': true,
        '2': true,
        '3': true,
        '4': true,
        '5': true,
        '6': true,
        '7': true,
        '8': true,
        '9': true,
        '0': true,
        'a': true,
        'b': true,
        'c': true,
        'e': true,
        'f': true,
        'h': true,
        'i': true,
        'j': true,
        'k': true,
        'l': true,
        'm': true,
        'n': true,
        'p': true,
        'q': true,
        'r': true,
        's': true,
        't': true,
        'u': true,
        'v': true,
        'w': true,
        'x': true,
        'y': true,
        'z': true
    }
    
    var isValidInput = function(key){
       return allowed[key];
    }
    


    ๊ทธ๋ฆฌ๊ณ  ์ง„๋ฆฌ๊ฐ€ ๋„ˆํฌ๋ฅผ ์ž์œ ์ผ€ ํ•˜๋ฆฌ๋ผ!




    var helpers = {};
    helpers.returnTrue = function() {
        return true;
    }
    


    ๋„์™€๋“œ๋ฆด๊นŒ์š”, ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ ๋‘˜๋Ÿฌ๋ณด๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ?




     var u = "Browser";
      if (this.isIPad) {
        u = "iPad"
      } else {
      if (this.isDDGIgnore) {
        u = "Ignore"
      } else {
      if (/seamonkey/.test(x)) {
        u = "SeaMonkey"
      } else {
      if (/iceape/.test(x)) {
        u = "Iceape"
      } else {
      if (/palemoon/.test(x)) {
        u = "PaleMoon"
      } else {
      if (this.isFirefox) {
        u = "Firefox"
      } else {
      if (this.isAndroid) {
        u = "Android"
      } else {
      if (/xbox/.test(x)) {
        u = "xBox"
      } else {
      if (/midori/.test(x)) {
        u = "Midori"
      } else {
      if (/opr/.test(x)) {
        u = "Opera"
      } else {
      if (/maxthon/.test(x)) {
        u = "Maxthon"
      } else {
      if (this.isYandex) {
        u = "Yandex"
      } else {
      if (/vivaldi/.test(x)) {
        u = "Vivaldi"
      } else {
      if (this.isChrome) {
        u = "Chrome"
      } else {
      if (/fennec/.test(x)) {
        u = "Fennec"
      } else {
      if (/epiphany/.test(x)) {
        u = "Epiphany"
      } else {
      if (/uzbl/.test(x)) {
        u = "Uzbl"
      } else {
      if (this.isEdge) {
       u = "Edge"                                                                             
      } else {                                                                                 
      if (this.isIE && navigator.platform === "Win64"
          && !k() && Modernizr.touch 
          && document.documentElement.clientWidth == screen.width) {                                                                                       
        u = "IEMetro"
      } else {
      if (this.isIE) {
        u = "IE"
      } else {
      if (this.isOpera) {
        u = "Opera"
      } else {
      if (this.isIPhone) {
        u = "iPhone"
      } else {
      if (/arora/.test(x)) {
        u = "Arora"
      } else {
      if (this.isSafari) {
        u = "Safari"
      } else {
      if (this.isKonqueror) {
        u = "Konqueror"
      } else {
      if (this.isBlackberry) {
        u = "Blackberry"
      } else {
      if (/phantomjs/.test(x)) {
        u = "PhantomJS"
      } else {
      if (this.isIDevice) {
        u = "iOS"
      }}}}}}}}}}}}}}}}}}}}}}}}}}}}
    


    ์Šค์ฟ ๋น„ ๋‘!



    ์‚ฌ๋žŒ๋“ค์ด CSS์˜ "C"๊ฐ€ "Cascading"์„ ์˜๋ฏธํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ–ˆ๋‹ค๋ฉด ์•„๋งˆ๋„ ๊ทธ๋ ‡๊ฒŒ ํ˜•ํŽธ์—†๋Š” CSS๋ฅผ ๋‹ค๋ฃฐ ํ•„์š”๊ฐ€ ์—†์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ํ•˜์ง€๋งŒ ์ €๋Š” ์˜ค๋Š˜ ์„ธ์ƒ์„ ๊ณ ์น˜๋Ÿฌ ์˜จ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋Œ€์‹ ์— ์•„์ฃผ ๋”์ฐํ•œ CSS ์•„์ด๋””์–ด์— ๊ฒฝํƒ„ํ•ฉ์‹œ๋‹ค!

    ์‚ฌ์•…ํ•œ ํŽธ์ง‘์ž!



    ์ž, ์ด๊ฒƒ์ด...์‹ค์ œ๋กœ ์œ ์šฉํ• ๊นŒ์š”? ๊ทธ๋ž˜๋„ ๋„ˆ๋ฌด ์ž˜๋ชป๋œ ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค!

    ๋ผ์ด๋ธŒ CSS ํŽธ์ง‘๊ธฐ...์ˆœ์ˆ˜ํ•œ CSS์ธ๊ฐ€์š”?

    ์˜ค์ง ํ• ๋กœ์œˆ์—๋งŒ!



    ์Šค์œ™!



    ์ด๊ฒƒ์„ ๋ชจ๋“  ํŽ˜์ด์ง€์— ์ถ”๊ฐ€ํ•˜๊ณ  ๊ณ ํ†ต์˜ ์„ธ๊ณ„๋ฅผ ์ค€๋น„ํ•˜์‹ญ์‹œ์˜ค!

    *:hover{
      zoom:99%;
    }
    


    ๋‹น์‹ ์„ ์‘์›ํ•˜๋Š” ํ˜ธ๋ฐ• ์กฐ๊ฐ!



    ๋‚ด๊ฐ€ ๋‹น์‹ ์—๊ฒŒ ํ‰์ƒ ์ƒ์ฒ˜๋ฅผ ์คฌ์„์ง€๋„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๊ธฐ ์ œ ์นœ๊ตฌ๋“ค๊ณผ ์ œ๊ฐ€ ์–ด์ ฏ๋ฐค์— ์กฐ๊ฐํ•œ ํ˜ธ๋ฐ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ˜ธ๋ฐ• ๋ช‡๊ฐœ





    ๊ตฌ๋‹ˆ์Šค์˜ ์™ธ๋ˆˆ๋ฐ•์ด ์œŒ๋ฆฌ





    ๊ฐ€๋””์–ธ์ฆˆ ์˜ค๋ธŒ ๊ฐค๋Ÿญ์‹œ์˜ ๋กœ์ผ“





    ์šฐ๋ฆฌ๋Š”...๋ฒ ๋†ˆ์ด๋‹ค!









    ํ•ดํ”ผ ํ• ๋กœ์œˆ!



    ์˜๊ฒฌ์— ํ• ๋กœ์œˆ ์‚ฌ์ง„์„ ๊ณต์œ ํ•˜์‹ญ์‹œ์˜ค!

    ์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ