[๐Ÿ’ป] ์‹ค์Šต - earth

J-silverยท2023๋…„ 3์›” 15์ผ

web-project

๋ชฉ๋ก ๋ณด๊ธฐ
17/18

๐Ÿ“– Overview

์‚ฌ์ดํŠธ๋ช…: earth
์ž‘์—… ๊ธฐ๊ฐ„: 3.5์ผ ์†Œ์š”
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: swiper, jQuery
์œ ํ˜•: ๋ฐ˜์‘ํ˜•, ํด๋ก  ์ฝ”๋”ฉ
์ฐธ์—ฌ๋„: 100%

๐Ÿ“Œ svg ๋งˆ์Šคํ‚น

mask-image๋ฅผ ์ด์šฉํ•ด์•ผํ•œ๋‹ค.
background-image์ฒ˜๋Ÿผ url์„ ์ด์šฉํ•ด์•ผํ•œ๋‹ค.

id์—ฐ๊ฒฐ

<mask id="mask">
      <rect fill="#000000" x="0" y="0" width="400" height="300"></rect>
      <circle fill="#FFFFFF" cx="150" cy="150" r="100" />
      <circle fill="#FFFFFF" cx="50" cy="50" r="150" />
</mask>
  -webkit-mask-image: url(#mask);
  mask-image: url(#mask);

๋จผ์ € ํ•„์š”ํ•œ๊ฑด <defs></defs>์ด๋‹ค
defs๋ž€??

definitions ์ •์˜
๊ทธ๋ž˜ํ”ฝ ์˜ค๋ธŒ์ ํŠธ๋“ค์€ ์–ด๋””์„œ๋“  ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ์—˜๋ฆฌ๋จผํŠธ ์•ˆ์˜ ์ด๋Ÿฌํ•œ ์˜ค๋ธŒ์ ํŠธ๋“ค์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ svg ์ปจํ…์ธ ์˜ ์ดํ•ด๋ฅผ ๋†’์ด๊ณ , ๋ฌธ์„œ์˜ ์ „๋ฐ˜์ ์ธ ์ ‘๊ทผ์— ์œ ์ตํ•˜๋‹ค.

์‰ฝ๊ฒŒ๋งํ•ด
๋‚˜์ค‘์— ์ฐธ์กฐํ•  ๊ทธ๋ž˜ํ”ฝ ์š”์†Œ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๋‹ด์•„๋†“๋Š” ๊ณต๊ฐ„.

https://nyjchoi.tistory.com/15

โœ ์‚ฌ์šฉ๋ฒ•

  1. <mask> <mask/>์— id๋ฅผ ์ง€์ •ํ•˜์ž.
    • <mask id="mask_a">

2.<g></g> ์•ˆ ์Šคํƒ€์ผ์— mask: url(#mask_a); id๊ฐ’์„ ์—ฐ๊ฒฐํ•˜์ž.

๐Ÿ“Œ columns

๋‹ค๋‹จ(multi-column) ๋ ˆ์ด์•„์›ƒ

columns: 2;
column-gap: 48px;

๊ทธ๋ฆฌ๋“œ ์˜์—ญ ์„ค์ •
https://sorto.me/docs/Web/CSS/grid-template-areas
https://velog.io/@forest0501/CSS-Grid-Grid-Template-Areas%EC%99%80-Grid-Row-Grid-Column

grid-area๋กœ ์ด๋ฆ„์„ค์ •
grid-template-areas๋กœ ์ˆœ์„œ


์ฒ˜์Œ ์•Œ๊ณ ์žˆ๋Š”๋Œ€๋กœ columns์„ ์คฌ์ง€๋งŒ ์ „ํ˜€ ์›ํ•˜๋Š” ์นธ๋งŒํผ ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹ค.
๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ grid-column-end๊ฐ€ ํ•„์š”ํ•จ!!

grid-column-end: span 9;๋ž€ ์ˆซ์ž๋งŒํผ ๋ผ์ธ์„ ํ™•์žฅํ•˜๋Š”(+) ๊ฐœ๋… 9์นธ์„ ํ•œ์นธ์œผ๋กœ ์นœ๋‹ค๋Š”๋œป

grid ์ฐธ๊ณ 


์˜ค๋‹ต

์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ์ž‘์‹œ ์ €๋ถ€๋ถ„์ด ์ œ์ผ ๋งˆ์ง€๋ง‰์— ์‹คํ–‰๋˜์–ด์•ผํ•˜๋Š”๋ฐ ์‹œ์ž‘๋ถ€ํ„ฐ ๋‚˜์™€์žˆ์Œ
-> animation-fill-mode๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๊ฒฐ

  • animation-fill-mode๋ž€
    ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋๋‚œ ํ›„์˜ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ์†์„ฑ -> both
    ์• ๋‹ˆ๋ฉ”์ด์…˜์ด์˜ ์•ž ๋’ค ๊ฒฐ๊ณผ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.


ํ˜ธ๋ฒ„์‹œ ์ž๊พธ ๋‹ค์Œ๊บผ๊ฐ€ ๋ฐ”๋€Œ๊ณ  ๋œ์ปน๊ฑฐ๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊น€

$('.swiper-pagination-bullet').hover(function() {
        $( this ).trigger( "click" );
     });

์Šค์™€์ดํผ ๋ฃจํ”„๊ธฐ๋Šฅ์ด ๋“ค์–ด๊ฐ„๋‹ค๋ฉด $( this ).trigger( "click" );์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๋‹ค.

โœ slide2.slideToLoop()๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

ํ˜ธ๋ฒ„ํ–ˆ์„๋•Œ ๋ฃจํ”„๋˜๋ผ๋Š” ๋œป
๋‚ด๊ฐ€ ์ˆซ์ž 2๋ฅผ ๋„ฃ์œผ๋ฉด ์–ด๋””๋ฅผ ํ˜ธ๋ฒ„ํ•ด๋„ 2๋ฒˆ์งธ๋กœ ๊ฐ„๋‹ค.

slide2.slideToLoop($(this).index())

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ˜ธ๋ฒ„ํ•˜๋ ค๋Š” this์˜ ๊ธธ์ด(index)๋กœ ๊ฐ€๋ผ ํ•˜๋ฉด ๋œ๋‹ค.


ํ˜ธ๋ฒ„ํ–‡์„๋•Œ ๋‚˜์˜จ ์ž์‹๋“ค์—๊ฒŒ ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„๋ฅผ ํ•  ์ˆ˜ ์—†๋Š” ์ผ ์ด ๋ฐœ์ƒ;;

โ†’ ๋ถ€๋ชจ์— ํ˜ธ๋ฒ„๋ฅผ ํ•œ๋‹ค๊ณ  ์จ์ค˜์•ผํ•˜๊ณ  ๋ถ€๋ชจ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ ์ฃผ๋ฉด ์•ˆ๋๋‹ค

์™œ๋ƒ ์ € ๋ถ€๋ถ„์— ๊ฐ€์ง€๋„ ์•Š์•˜๋Š”๋ฐ ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์กŒ๋‹ค ํ•˜๊ธฐ๋•Œ๋ฌธ์—

์œ„์น˜๋ฅผ ์˜ค๋ฅธ์ชฝ์—์„œ ์‹œ์ž‘ํ•˜๊ฒŒ ํ•˜๊ณ  width: 0;๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๊ฒฐ!

profile
๋‹ฌ๋ฆฌ๋Š” ๊ฑฐ๋ถ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€