전체 글
// 스와이퍼 클래스.swiper { width: 100%; height: 100%; padding: 16px 0;}// 슬라이드 클래스.swiper-slide { transition: all 0.3s ease;}// 활성화(정면) 슬라이드 클래스.swiper-slide-active { transform: scale(1) !important; z-index: 10;}// 이전,다음 슬라이드 클래스 .swiper-slide-prev, .swiper-slide-next { transform: scale(0.9) !important; opacity: 0.7;}
box-shadow: 0 0 10px 0 ${({ theme }) => alpha(theme.palette.primary.main, 0.3)};
import { useScroll } from 'framer-motion';import { useState, useEffect } from 'react';// 블로그용 스크롤 감지 훅const ExampleComponent = () => { const { scrollY } = useScroll(); const [isScrolling, setIsScrolling] = useState(false); useEffect(() => { const unsubscribe = scrollY.on("change", () => { setIsScrolling(true); setTimeout(() => setIsScrolling(false), 150); }); return unsubsc..
async function handleDownload() { // 요소 선택 const card = document.querySelector(".className") as HTMLElement; // 요소가 없으면 종료 if (!card) return; // 요소를 캔버스로 변환 const canvas = await html2canvas(card, { scale: 2, backgroundColor: "#ffffff", logging: false, }); // 이미지 데이터 추출 const imageData = canvas.toDataURL("image/png").split(",")[1]; // 파일명 설정 const f..
팍 사라지는게 아니고 스르륵 사라져벌임import { motion, AnimatePresence } from "motion/react";import { useState } from "react";const FadeExample = () => { const [isVisible, setIsVisible] = useState(false); const fadeVariants = { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 } }; return ( setIsVisible(!isVisible)}> {isVisible ? "숨기기" : "보이기"} ..
npx create-expo-app@latest .npm install exponpm install @react-navigation/native @react-navigation/native-stacknpx expo install react-native-screens react-native-safe-area-contextnpm install -D @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-plugin-react eslint-plugin-react-native prettiernpx expo start