Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- fe
- useRecoilState()
- Cookie
- ag-Grid 체크박스
- react 파일명 깨짐
- React Excel
- useRecoilStateLoadable()
- React 그리드
- React srcSet
- useResetREcoilState()
- 리액트 엑셀다운로드
- 리액트 엑셀다운
- Recoil 상태
- atom()
- useRecoilValue()
- React XLSX
- Typescript
- React ExcelDownload
- javascript
- react mac 파일명 깨짐
- React file-saver
- React
- React FileSaver
- Next.js
- js mac에서 파일 첨부시 파일명이 깨짐
- selector()
- js 파일명 꺠짐
- React AgGrid
- useSetRecoilState()
- React ag-Grid
Archives
- Today
- Total
나만의 개발 공간
React img srcSet과 a태그 스크롤 본문
이미지가 사이즈별로 뿌옇게 보이거나 깨지는 경우가 있다. 고정된 이미지 width, height값에서 사이즈를 조정하려고 해서 발생하는 것같은데 해상도별로 이미지를 다른 사이즈로 보여주고 싶었다.
포토샵을 할 줄 몰라 이미지를 부탁드려서 preview, 2000w, 1800w, 1600w, 1400w, 1200w, 1000w, 860w, 640w으로 각 하나에 해당하는 이미지를 해상도마다 같은 폴더로 저장 시켜서 구현했다.
이미지 폴더를 생성해 아래와 같이 구현하였다.
아래는 실제 코드로 구현한 내용들이다. React로 구현한 코드는 아래와 같다.
도움말 페이지를 아래와 같이 구현하였으며, 간략하게 작성한다.
import Layout from '....';
import ExHelpImgPreview from '....'; // ....은 img가 있는 경로
import ExHelpImg2000 from '....';
import ExHelpImg1800 from '....';
import ExHelpImg1600 from '....';
.....
const Help = () => {
const helpPageData = [
{
id: 1,
title: '도움말 첫번째',
img: <img src={`${ExHelpImgPreview`}
srcSet={`${ExHelpImg2000} 2000w,
${ExHelpImg1800} 2000w,
${ExHelpImg1600} 1800w,
..... // 640w까지 있으면 동일하게 작성
`}
alt=""
/>,
content: '도움말 첫번째 내용'
}, {
id: 2,
title: '도움말 두번째',
img: <img src={`${ExHelpImgPreview`}
srcSet={`${ExHelpImg2000} 2000w,
${ExHelpImg1800} 2000w,
${ExHelpImg1600} 1800w,
..... // 640w까지 있으면 동일하게 작성
`}
alt=""
/>,
content: '도움말 두번째 내용'
}
];
// 비슷하게 컴포넌트로 사용하기 위해 생성
const HelpComponent = () => {
return (
<div>
{helpPageData.map((list: any, index: number) => {
return (
<div key={index}>
<div id={'help_title'+ list.id}> // id를 준 이유는 스크롤 시 우측에 제목만 보여주게끔해서 클릭시 해당 제목으로 이동되게 구현하기 위해
<div>
{list.img}
</div>
</div>
<div>
{list.content}
</div>
</div>
);
}
</div>
);
};
return (
<Layout>
<div style={{display: 'flex'}}>
<div style={{width: '1100px', paddingRight: '80px', paddingLeft: '80px'}}>
<div style={{fontSize: '40px', borderBottom: '1px solid #eee', paddingBottom: '10px', fontWeight: '700'}}>도움말 안내</div>
<OrderHelpComponent />
</div>
<div style={{paddingTop: '67px'}}>
<div style={{position: 'fixed', paddingLeft: '10px', borderLeft: '1px solid #eee', color: '#807b7b'}}>
<div style={{marginBottom: '15px'}}>
<span>CONTENTS</span>
</div>
<div style={{marginBottom: '10px'}}><a href="#order_help_title_1">도움말 첫번째</a></div> // 클릭시 해당 id가 있는 부분으로 이동
<div style={{marginBottom: '10px'}}><a href="#order_help_title_2">도움말 두번째</a></div>
</div>
</div>
</div>
</Layout>
);
};
export default Help;
'React' 카테고리의 다른 글
Recoil 래퍼런스 API 상태 정리 (0) | 2023.09.06 |
---|---|
React Mac에서 파일 첨부시 파일명이 ㅎㅏㄴㄱㅡㄹ처럼 나온다면 (0) | 2023.01.12 |
React 엑셀 다운로드 (0) | 2022.05.20 |
React ag-Grid 사용하기 (0) | 2022.05.20 |
React react-cookie (0) | 2022.03.25 |
Comments