Melin's Blog

Latest posts

See all posts
  • JS Methods for Detecting Whether a Browser Supports a CSS Property
    CSS feature detection is most useful when you are about to rely on a property or value that may not exist everywhere. The right approach is not browser sniffing. Instead, ask th...
  • How to Use JavaScript to Turn a Relative URL Into an Absolute URL
    In real project development, you will often receive a relative URL and need to normalize it into a full absolute URL. For example: This is useful when processing links, normaliz...
  • How I Pass Parameters from CSS to JavaScript
    CSS is often better than JavaScript at answering environment questions. It can detect viewport size, dark mode, pointer behavior, hover support, reduced motion preferences, and...
  • Understanding 3D LUT Color Mapping: From Color Cubes to a JavaScript Demo Shell
    3D LUT filters are one of the core tools behind cinematic color grading. At a high level, a 3D LUT is a lookup table that remaps one RGB color to another RGB color. Instead of c...
  • Detecting DOM Size Changes: A Brief Introduction to JavaScript’s `ResizeObserver`
    MutationObserver is useful when you need to detect changes to DOM nodes, attributes, or text content. But for a long time, detecting size changes was less direct. Developers oft...
© 2026 • Melin
Press Esc or click anywhere to close