원리는 단순합니다 — 이미지를 아주 작은 크기(예: 16×10px)로 그린 뒤 CSS 로 원래 크기까지 늘리면서 image-rendering: pixelated 를 줘서 브라우저의 기본 보간(스무딩)을 끕니다. 그러면 확대된 낱개 픽셀이 네모 블록으로 그대로 보입니다.
캔버스에 drawImage 로 작게 그린 뒤 그 캔버스를 CSS 로 확대하는 방식이 사진에 흔히 쓰입니다. 모자이크 강도는 축소 해상도로 조절합니다 — 해상도가 낮을수록 블록이 커집니다.
언제 쓰나
민감 정보 가리기(모자이크), 레트로 게임 그래픽, 로딩 중 저해상도 프리뷰(LQIP)에 씁니다. 정보 은닉이 목적이면 블록을 충분히 크게 설정하세요 — 약하면 원본을 추정할 수 있습니다.