| The problem is that the light emitted by the background "eats up" the light emitted by the foreground object because there is, simply, more of it. The background is larger than the foreground and the intensity is higher. Ironically, the effect is easier to visualize with a light foreground against a dark background: that halo around white lines and text is also produced by a light background. The light halo eats up its darker neighbors. So there are basically two ways to mitigate that effect: make the foreground elements larger or reduce the delta in intensity. We can make lines thicker, boxes a little bit larger, and use bold text. We can reduce the intensity of the background, from pure white to rgb(246, 246, 239), for example. We can choose brighter colors in a kind of arms race against the background. All three options have inherent limits, though. Thick lines and large boxes kill details and bold text lack nuance, darkening the background is not always possible, and the catalogue of bright-enough-colors is pretty small. One of the reasons why we, colorscheme authors, tend to default to dark backgrounds is that doing so gives us more colors to play with and thus more creative leeway. |