Notice
Recent Posts
Recent Comments
Link
05-07 05:04
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

<<개발일지>>

img 형태별로 나누어서 태일윈드 적용하기 -작성중- 본문

프로젝트1

img 형태별로 나누어서 태일윈드 적용하기 -작성중-

개발하는지호 2024. 4. 15. 15:04
import React, { useState, useEffect } from 'react';

function ImageComponent({ src, card_benefit_title, card_benefit_summary }) {
    const [imageClass, setImageClass] = useState('');
    const [imageGapTop, setImageGapTop] = useState('');
    const [titleSum, setTitleSum] = useState('');

    useEffect(() => {
        const img = new Image();
        img.src = src;
        img.onload = () => {
            if (img.width > img.height) {
                // 이미지가 가로형일 때
                setImageClass('h-[80px] md:h-[100px] mt-[1px] md:mt-[30px]');
                setImageGapTop('gap-[30px] md:gap-[100px] top-[50px] md:top-[40px]')
                setTitleSum('mt-[30px]')
            } else {
                // 이미지가 세로형 또는 정사각형일 때
                setImageClass(' ml-[25px] md:ml-[30px] h-[120px] md:h-[150px]');
                setImageGapTop('gap-[55px] md:gap-[130px] top-[25px] md:top-[40px]')
                setTitleSum('mt-[50px]')
            }
        };
    }, [src]);

    return (
        <div className={`absolute md:left-[30px] ${imageGapTop}  p-4 m-2 flex justify-around`}>
            <img src={src} className={`${imageClass} rounded-lg shadow-lg`} alt="Dynamic styled image" />
            <div className={`md:flex md:gap-[100px] ${titleSum} md:mt-0`}>
                <p className='md:mt-[50px] md:mb-0 mb-[10px] '><div></div><div className='flex relative'><span className='hidden md:absolute md:block md:text-[50px] md:font-thin md:text-gray-200 md:top-[-15px] md:left-[-10px]'>|</span><span ><span className='font-bold'>제목 </span> <span className='md:hidden'>: </span><br className='hidden md:block ' />{card_benefit_title}</span></div></p>
                <p className='md:mt-[50px] md:mb-0 mb-[10px] '><div></div><div className='flex relative'><span className='hidden md:absolute md:block md:text-[50px] md:font-thin md:text-gray-200 md:top-[-15px] md:left-[-10px]'>|</span><span><span className='font-bold'>요약 </span><span className='md:hidden'>: </span><br className='hidden md:block ' />{card_benefit_summary}</span></div></p>
            </div>
        </div>
    );
}

export default ImageComponent;

'프로젝트1' 카테고리의 다른 글

aws EC2 활용 중 nginx 설정 및 권한 이슈  (1) 2024.05.04
jenkins 프론트앤드 순서 -작성중-  (1) 2024.05.03
.map is not a function 에러  (1) 2024.04.30
qrcode -작성중-  (1) 2024.04.16
더보기 기능 패지징 -작성중-  (1) 2024.04.15