force browsers to print background colors of elements

Most browsers won’t print background colors, and print-only CSS can (or should) be set to force all text to be black so it looks good on a white background. But what about images? What if you have a logo with white text and a transparent background that’s normally displayed over a dark background? Webkit browsers support the -webkit-print-color-adjust: exact style, but that still leaves out Firefox. Continue reading

Autocomplete forms

The easier it is to fill out forms automatically, the more likely you are to get users to submit them. But nobody likes filling out forms, and autocomplete is getting smarter and smarter — but in my experience, it’s rarely perfect. So it’s nice to know that the HTML standard has added an autocomplete attribute to form fields that makes it easier for browsers to guess what data goes where.

Google has announced that Chrome now fully supports this spec, and there’s another page for developers that talks about how to make forms friendlier.

multi-select with checkboxes

If you have a very long list of options, neither <select multiple> nor <input type=”checkbox”> is quite ideal. This combines the two using jQuery.

When an option is selected, a checkbox (with label) is automatically created using the same “name” and “value” attributes. When the checkbox is un-checked, it fades away (after a brief delay) and is re-attached to the single-select.

Note that this uses progressive enhancement; if JavaScript is disabled, an ordinary <select multiple> will be provided. If some options are already selected in the HTML, those are extracted as checkboxes automatically. The “required” attribute is also passed along to the checkboxes, if set in the <select>.

Using CSS to “count” elements in a group

A List Apart has an article today about how you can use CSS selectors creatively to “count” the number of elements inside another element. This would be useful if, for instance, you wanted to style elements of a list differently when there’s more than six of them in the list.

Here’s the CodePen if you just want to see it in action.

Parallax done “right”

I put “right” in quotes because, well, I’m opposed to gimmicky animations in web pages on principle. However, if you have to use them, they should be done efficiently.

To that end, I found this article on Medium from May 2014 that has a series of tips, at least four of which I’ve put into effect just this morning and one of which I never even knew existed before today.

Trident is dead, long live Spartan

The part I wanted to understand most about the new browser coming in Windows 10 is explained:

“In order to ensure that we also retain backwards compatibility, we will not be getting rid of Trident [the IE rendering engine]. Instead, we designed and implemented a dual-engine approach, where either the new modern [EdgeHTML] rendering engine or Trident can be loaded. This switch happens transparently to the user. Windows 10 will use EdgeHTML for the web (so no more worrying about doc modes) and only load Trident for legacy enterprise sites. “