Chris Coyier
Founder, writer, designer, spam-deleter, email personality
Centering in the Unknown
When it comes to centering things in web design, the more information you have about the element being centered and its parent element, the easier it is. So what if you don’t know anything? It’s still kinda doable.…
Lots of Ipsum
There is just too many awesome Lorem Ipsum (placeholder) text generators going around lately not to round them up. …
Five Questions with Paul Irish
Paul probably doesn’t need an introduction around here. …
Results of Group Design Project on Rating Three Candy Bars
Last week I proposed a little design challenge: design a small part of an interface which allowed a user to rate three candy bars in order of how much they liked them. Quite a few folks took a stab …
How CSS Animations Work on Sales Page for iPhone 4S
Impressed by the CSS animations on the Apple 4S sales page? I am. John B. Hall makes it clear by showing a miniaturized version where we can see all the off-screen elements.…
HTML5 for Web Designers Website
The content of HTML5 for Web Designers, the first A Book Apart book by Jeremy Keith, is online. Under the hood, the title bar at the top of the page is actually the <title>
element, unhidden and styled up. …
What We Don’t Know
Abbr’s for Web Nerd Acronyms
I’m really lazy about using <abbr></abbr>
tags for acronyms. Most people who read a techy blog like this probably understand them, but surely there are some visitors who don’t where a simple tooltip explanation would be beneficial. Maybe with this …
Group Design Project: Rate Three Candy Bars In Order
Last time we did a group design project, we did a list with functions and we got lots of interesting ideas. Then the other day I linked to a video of Ryan Singer, a tiny part of which …
Make Archives.php Include Custom Post Types
Archives.php only shows content of type ‘post’, but you can alter it to include custom post types. Add this filter to your functions.php file:
function namespace_add_custom_types( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set(
…