½ÃÀÛÆäÀÌÁö·Î Áñ°Üã±âÃß°¡
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ l Ã⼮üũ l ¸¶ÀÌÆäÀÌÁö l CGIMALL
½ºÅ©·Ñ ÀÎÅÍ·¢¼Ç È®ÀåÇü À̹ÌÁö °¶·¯¸® UI : happycgi
ÀÚ·á½Ç »çÀÌÆ®µî·Ï ·©Å·100 ÇÁ·Î±×·¥¸®ºä °ü¸®ÀÚÃßõÀÚ·á Ãʺ¸°¡À̵å
Ä¿¹Â´ÏƼ
Àüü ÆîÃ帱â
Äü¸Þ´º¸µÅ© jquery , CSS , PHP , Javascript , ¹«·áÆùÆ® , ASP
»ó¼¼°Ë»ö
Ȩ > CSS > ±âº» ¼Ò½º > ½ºÅ©·Ñ ÀÎÅÍ·¢¼Ç È®ÀåÇü À̹ÌÁö °¶·¯¸® UI »ó¼¼Á¤º¸
»çÀÌÆ®µî·Ï
Ŭ¶ó¿ìµåű×
javascript
HTML
PHP
CSS
Api
ASP
mysql
2022
jquery
Slide
¸ðµâ
¸ÞÀϸµ
À¥¸ÞÀÏ
ÇöÀçÁ¢¼ÓÀÚ ¸í »õ·Î°íħ
½ºÅ©·Ñ ÀÎÅÍ·¢¼Ç È®ÀåÇü À̹ÌÁö °¶·¯¸® UI
¼Ò½ºÅë°èÁ¤º¸ ¿À·ù½Å°í ¹× ¹®ÀÇ
ÇØÇÇÆÀ
³×ƼÁð
Æ®À§ÅÍ·Î º¸³»±â ÆäÀ̽ººÏÀ¸·Î º¸³»±â
¼Ò½ººÐ·ù ±âº» ¼Ò½º
´Ù¿î·Îµå Ƚ¼ö 10 ȸ
°£´Ü¼³¸í ½ºÅ©·Ñ ¹× hover ÀÎÅÍ·¢¼Ç¿¡ ¹ÝÀÀÇÏ¿© À̹ÌÁö ¿µ¿ªÀÌ È®ÀåµÇ´Â °¶·¯¸® UI. CSS Grid¿Í :has() ¼±ÅÃÀÚ¸¦ Ȱ¿ëÇÑ Çö´ëÀûÀÎ ÀÎÅÍ·¢¼Ç ±¸Çö.
Æò°¡Çϱâ ÈǸ¢ÇÔ ¸Å¿ìÁÁÀ½ ÁÁÀ½ ±¦ÂúÀ½ º¸Åë º°·Î
ȨÆäÀÌÁö¹Ù·Î°¡±â ¼Ò½º´Ù¿î·Îµå µ¥¸ð ¹Ì¸®º¸±â ½ºÅ©·¦Çϱâ

CSS Grid ±â¹ÝÀ¸·Î ±¸¼ºµÈ À̹ÌÁö °¶·¯¸®¿¡¼­ ƯÁ¤ ¿ä¼Ò hover ½Ã ÇØ´ç ¿µ¿ªÀÌ È®ÀåµÇµµ·Ï ±¸ÇöµÈ ÀÎÅÍ·¢¼ÇÀÌ´Ù.
:has() ¼±ÅÃÀÚ¸¦ Ȱ¿ëÇÏ¿© ºÎ¸ð ¿ä¼Ò¿¡¼­ ÀÚ½Ä hover »óŸ¦ °¨ÁöÇÏ°í ·¹À̾ƿôÀ» µ¿ÀûÀ¸·Î º¯°æÇÑ´Ù.
À̹ÌÁö´Â °ãÄ¡´Â grid ±¸Á¶¿Í ºñÀ² º¯È­¸¦ ÅëÇØ ÀÚ¿¬½º·´°Ô È®ÀåµÇ¸ç ½Ã°¢ÀûÀÎ ¸ôÀÔ°¨À» Á¦°øÇÑ´Ù.
º°µµÀÇ JavaScript ¾øÀÌ ¼ø¼ö CSS¸¸À¸·Î ±¸ÇöµÈ ±¸Á¶·Î, ÃֽŠºê¶ó¿ìÀú ȯ°æ¿¡¼­ Ȱ¿ë °¡´ÉÇÑ UI ÆÐÅÏÀÌ´Ù.

HTML ±¸Á¶

<div class="wrapper">

<div style="--bg-img:url(https://images.unsplash.com/photo-1518005020951-eccb494ad742?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wzMjM4NDZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3Njg0MjEyODh8&ixlib=rb-4.1.0&q=80&w=400)"></div>

<div style="--bg-img:url(https://images.unsplash.com/photo-1479839672679-a46483c0e7c8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wzMjM4NDZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3Njg0MjA1MDB8&ixlib=rb-4.1.0&q=80&w=400)"></div>

<div style="--bg-img:url(https://images.unsplash.com/photo-1493397212122-2b85dda8106b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wzMjM4NDZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3Njg0MjA4MTB8&ixlib=rb-4.1.0&q=80&w=400)"></div>

<div style="--bg-img:url(https://images.unsplash.com/photo-1524126675694-1efa3488b7c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wzMjM4NDZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3Njg0MjA1MjR8&ixlib=rb-4.1.0&q=80&w=400)"></div>

</div>



CSS ¼Ò½º

@import url(https://fonts.bunny.net/css?family=jura:300,500);

@layer base, demo;


@layer demo {


  /* demo code goes here */

  .wrapper{

--border-size: 5px;

--border-color: var(--bg-light);

/* default gid columns - note, to animatbale we need to defined them individually */

    --grid-cols: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr ;

    

    display: grid;

    grid-template-columns: var(--grid-cols);

    width:min(100%,800px);

    margin-inline: auto;

    aspect-ratio: 2/1;

    transition: grid 300ms ease-in-out;

    counter-reset: --card-counter;

    /* define grid columns according to which one has hover */

    &:has(:nth-child(1):hover){ --grid-cols: 6fr 1fr 1fr  1fr 1fr 1fr  1fr 1fr 1fr; }

    &:has(:nth-child(2):hover){ --grid-cols: 1fr 1fr 1fr  6fr 1fr 1fr  1fr 1fr 1fr; }

    &:has(:nth-child(3):hover){ --grid-cols: 1fr 1fr 1fr  1fr 1fr 6fr  1fr 1fr 1fr; }

    &:has(:nth-child(4):hover){ --grid-cols: 1fr 1fr 1fr  1fr 1fr 1fr  1fr 6fr 1fr; }

   

    

    & > *{

      position: relative;

      overflow: hidden;

      border-radius: 0 0 0 30%/ 0 0 0 50% ;


      &:first-child{

        border-radius: 0 0 0 0/ 0 0 0 200px ;

      }

      corner-shape:notch;

      transition: all 300ms ease-in-out;

      border: var(--border-size) solid var(--border-color);

      background-image: var(--bg-img);

      background-size: 450px 100%; /* requires fixed width to maintain size and aspect */

      

/* remove notch from current and next sibling on hover*/

      &:hover,

      &:hover + div{

        border-radius: 0 0 0 0;

      }

    /* define grid position - each element overlaps by 1 column */

      grid-row: 1;

      &:nth-child(1){ grid-column: 1  / span 3; }

      &:nth-child(2){ grid-column: 3  / span 3; }

      &:nth-child(3){ grid-column: 5  / span 3; }

      &:nth-child(4){ grid-column: 7  / span 3; }


     

      /* image counter - could easily be a title */

     &::after{

       content: counter(--card-counter) ".";

       counter-increment: --card-counter;


       position: absolute;

       top: .5rem;

       left: 1rem;

       font-size: 2rem;

       transition: scale 150ms ease-in-out;

      scale: 0;

     }

      &:hover::after{

        scale: 1;

      }

    }

  }

}

  

  

 /* general styling not relevant for this demo */

@layer base {

* {

box-sizing: border-box;

}

:root {

color-scheme: light dark;

--bg-dark: rgb(16, 24, 40);

--bg-light: rgb(248, 244, 238);

--txt-light: rgb(10, 10, 10);

--txt-dark: rgb(245, 245, 245););

--line-light: rgba(0 0 0 / .25);

--line-dark: rgba(255 255 255 / .25);

    

    --clr-bg: light-dark(var(--bg-light), var(--bg-dark));

    --clr-txt: light-dark(var(--txt-light), var(--txt-dark));

    --clr-lines: light-dark(var(--line-light), var(--line-dark));

}

 

body {

background-color: var(--clr-bg);

color: var(--clr-txt);

min-height: 100svh;

margin: 0;

padding: 2rem;

font-family: "Jura", sans-serif;

font-size: 1rem;

line-height: 1.5;

    display: grid;

    place-items: center;

    gap: 2rem;


}

}

 


³×ƼÁð ÀÇ°ß   ÀÌ¿ëÇϽŠÀÚ·áÀÇ Èı⸦ ÀÚÀ¯·Ó°Ô ÀÛ¼ºÇϼ¼¿ä. (»ó¾÷ÀûÀÎ ±¤°í ¹× µµ¹è¼º ±Û µîÀº »çÀüÅ뺸¾øÀÌ »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù.)
³»¿ë ¾ÆÀ̵ð Àǰ߳²±â±â
µî·ÏµÈ ÀǰßÀÌ ¾ø½À´Ï´Ù.
1
À̸§
³»¿ë
:³×¸Â¾Æ¿ä: :È­³ª´Â±º¿ä: :Àá¿Í: :¿ì¿ïÇØ: :À̰ǾƳÄ: :¿ÕÇÏÇÏ: ¿Õ¿ôÀ½~ ³î·¥~
Æò°¡Çϱâ ÈǸ¢ÇÔ ¸Å¿ìÁÁÀ½ ÁÁÀ½ ±¦ÂúÀ½ º¸Åë º°·Î
µµ¹è¹æÁöŰ
 22261876 º¸ÀÌ´Â µµ¹è¹æÁö۸¦ ÀÔ·ÂÇϼ¼¿ä.