다크 모드에서 Razorpay Iframe 흰색 배경 수정

발행: (2026년 1월 31일 오전 06:34 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

Problem

다크 모드가 활성화된 페이지에 Razorpay Checkout을 삽입하면, iframe이 반투명 배경 대신 불투명한 흰색 배경으로 표시됩니다. 이 때문에 다크 테마 페이지에 모달이 흰색 박스로 나타나 시각적으로 어색합니다.

  • 이는 브라우저 동작이며 Razorpay 버그가 아닙니다.
  • 삽입 페이지가 color-scheme(예: dark)을 정의하면, 브라우저는 iframe에도 일치하는 배경을 적용하려고 합니다. Razorpay Checkout이 다크 모드를 기본적으로 지원하지 않기 때문에, 브라우저가 iframe 내용에 불투명한 밝은 배경을 강제합니다.

Solution

iframe에 color-scheme: light;를 명시적으로 설정합니다. 이렇게 하면 브라우저가 부모 페이지의 다크 모드 추론을 무시하고, iframe을 항상 밝은 색 구성표로 렌더링하도록 강제합니다.

Global stylesheet rule

/* Prevent the browser from forcing a dark‑mode background on iframe content */
iframe {
  color-scheme: light;
}

Inline style on the iframe element

Scoped to Razorpay iframes only

iframe[src*="razorpay"] {
  color-scheme: light;
}

Why it works

color-scheme CSS 속성은 브라우저가 요소에 대해 기본 UI와 배경을 어떻게 렌더링할지를 제어합니다. iframe에 color-scheme: light;를 설정하면:

  • 브라우저가 부모 페이지로부터 다크 색 구성표를 상속받는 것을 중단합니다.
  • iframe이 의도된 라이트 모드 스타일로 렌더링됩니다.
  • 반투명 배경이 정상적으로 표시됩니다.

Razorpay Affordability Widget의 경우 공식 설정 옵션을 통해 다크 모드를 활성화할 수 있습니다. 일반 Razorpay Checkout에서는 이 CSS 규칙이 권장되는 해결 방법이며, 시각적 렌더링에만 영향을 주고 결제 기능에는 영향을 주지 않습니다.

References

  • CSS color-scheme and iframes – Sergeyski
  • Transparent iframes and dark mode – fvsch
  • Tailwind CSS iframe dark mode discussion
Back to Blog

관련 글

더 보기 »

9. Flexbox

BootCamp by Dr. Angela 디스플레이: Flex css / 예시 / .container { display: flex; gap: 10px; } - display: flex가 적용되면 모든 자식 요소가 …

내 2026 개발자 포트폴리오

소개 안녕하세요! 저는 Python, AI, web development 분야에 열정적인 개발자이자 교육자인 Ahmed Anter Elsayed입니다. Live Portfolio 제 Live Portfolio를 확인해 보세요.

CSS 선택자 101: 요소를 정밀하게 타깃팅

소개: 선택자가 없는 CSS는 단지 잡음일 뿐이다 HTML은 웹페이지에 구조를 제공합니다. 하지만 여기 초보자들이 일찍은 충분히 깨닫지 못하는 불편한 진실이 있습니다...