[React] 메일 템플릿 만들기

2023. 8. 7. 14:50·React/실험실
반응형

프론트엔드 개발하다보면 메일로 HTML 코드를 보내야하는 경우가 있다. 

간단한 디자인의 경우 문제가 없는데 복잡한 디자인의 경우 깨지는 일이 빈번하다...

 

사용할 수 있는 css 속성에 제한이 있고 반응형 작업 등에도 곤란함을 느끼는 매우 귀찮은 작업이다. 

 

그래서 이번에 몇가지 보편적인 작업을 위한 방식을 정리하려고 한다. 

 

display : flex

레이아웃을 구성할 때 가장 많이 사용하는 것 중 하나가 display : flex 일 것이다. 

해당 스타일 자체는 인라인 태그로 설정해도 문제가 없다. 

 

하지만 Google Gmail에게 html 코드로 flex 속성 중 하나인 justify-content / align-item을 사용하면 

스타일이 적용되지 않는 문제를 확인했다. 

 

네이버에서의 justify-content

네이버에서는 정상적으로 작동한다. 

하지만 메일로 사용했을 때 당연히 gmail 역시 무시할 수 없기 때문에 해당 속성을 사용하는 것은 포기해야했다. 

 

margin : 0 auto 

좀 더 원시적인 (?) 이라고 하면 그렇고 편안함을 포기한 방식을 사용했다. 

margin의 auto 속성을 사용해서 가운데 정렬을 해줬다. 

네이버는 물론 구글도 문제없이 가운데 정렬이 되는 것을 확인했다. 

 

a 태그 width / height

a 태그를 block 속성으로 바꾸고 width 값을 줬는데 네이버에서는 스타일이 적용되지 않았다. 

이게 참 신기한데, 정확하게 width와 height 텍스트 위치가 뻥 뚤려있다 ㅋㅋㅋ

 

a 태그에서 max-width / min-width 등 몇가지 방법을 시도해봤지만 width가 들어가면 모두 "" 값으로 변경되었다. 

하지만 display 속성은 통해서 display 속성을 block으로 주고 부모 태그에서 width 값을 줘서 문제를 해결했다.

하지만 아직 한가지 문제가 남았다. 

width 값을 /7을 했다는 것은 한 줄에 7개씩 나열하길 원한다는 건데 그부분을 해결해야 했다. 

 

부모 태그에게 inline-block 속성을 줘서 해결했다. 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'React > 실험실' 카테고리의 다른 글

[React] Swiper 잘 쓰기 - AutoPlay Pause Resume  (1) 2023.11.04
[React] 빌어먹을 iOS - vh 편  (0) 2023.08.29
[React] day.js vs moment.js  (0) 2023.06.22
[React] dayjs  (0) 2023.06.13
[React] MSW 잘 사용해보기  (0) 2023.06.08
'React/실험실' 카테고리의 다른 글
  • [React] Swiper 잘 쓰기 - AutoPlay Pause Resume
  • [React] 빌어먹을 iOS - vh 편
  • [React] day.js vs moment.js
  • [React] dayjs
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    CSS
    타일러영어
    덤프
    식물
    타입스크립트
    Node.js
    Docker
    javascript
    CCNA
    영어회화
    다이소
    next.js
    알고리즘
    네트워크
    redux
    네이버 부스트캠프
    ReactNative
    리얼학습일기
    Babel
    영어독학
    자바스크립트
    바질 키우기
    typescript
    ChatGPT
    webpack
    프로그래머스
    리액트
    리얼클래스
    바질
    react
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[React] 메일 템플릿 만들기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.