Treehouse: Grow your CSS skills. Land your dream job.

Article Archives

60 comments

Yay! CSS-Tricks Shirts!

I know what you were just thinking. You were thinking, man, I love CSS-Tricks so much but nothing in my wardrobe helps me publicly display that. Right‽ …

FitVids.js

Super lightweight jQuery plugin to make all videos fluid width, while maintaining their original aspect ratio. Explanation, video, and discussion on Dave's site.…

Why Browsers Read Selectors Right to Left

When I first learned that browsers read CSS selectors from right to left it felt kinda weird and confusing. Boris Zbarsky explains why it's done that way in a way that makes perfect sense. Part of the reason:

...most of …

steps()

Lea Verou makes a "typing" animation with the CSS3 sub-property steps which allows you to specify how many keyframes an animation uses. Knowing the number of keyframes means you can know exactly that the CSS will be like at that …

54 comments

Tabs with Round Out Borders

A technique for a rounded tabs where the top corners are rounded, but also the bottom corners are rounded where they attach to the content area. "Round out" or "flared" borders, if you will.

Adaptive Images

Project from Matt Wilcox for serving the right images to the right devices (i.e. small images to small browser windows, large images to large browser windows). Small browser windows, regardless of bandwidth considerations, shouldn't get a giant image scaled down …

52 comments

Fold Out Popups

A rich HTML popup content area that works when you click a link/button (rather than hover like tooltips work). This uses a bunch of CSS3 and the functionality is also handled purely with CSS, although we discuss that at the end.
57 comments

Sideways Headers

Christian Heilmann had an interesting CSS predicament the other day. The idea was to make header tags rotated 90-degrees and align along the left of a blog of content rather than at the top. …

51 comments

Pop From Top Notification

Have you seen that design pattern where a notification pops down from the top of the browser window, then slides away? We can rock that in pure CSS. …

45 comments

When (and when not to) use an anchor tag?

Question from a reader on when using the anchor tag is the right choice and when it's possibly OK to use another element for behavioral stuff.
69 comments

Functional CSS Tabs Revisited

Functional tabbed area with just CSS. The backstory, where we are now, and the awesome theoretical future.

Bootstrap

HTML/CSS framework from Twitter (Mark Otto and Jacob Thornton). Pretty comprehensive: nice clean design and typography, grid system (fluid or fixed), form elements, buttons/navigation, alerts, tooltips, LESS support... I think a web app startup could do a lot worse than …

Don’t Fear the Internet

Incredibly well done set of introduction to web design tutorial videos by Jessica Hische & Russ Maschmeyer. Kinda like my The VERY Basics video, but far more professional. Will be recommending this to every single person asking me how …

46 comments

Infinite All-CSS Scrolling Slideshow

Just for kicks I wanted to see if I could make a row of images animate across a page and repeat indefinitely. Turns out it's really not that hard. The way I did it was to make one big long …

37 comments

How I Think Posting HTML In Comments Should Work

People post a good bit of HTML in the comments of articles on this site. They are trying to demonstrate something, ask for troubleshooting help, show alternate techniques, etc. This is excellent. I want to encourage this as much as …

27 comments

A Really Nice Way To Handle Popup Information

Showing additional info ("popup") when hovering over an element is a pretty easy thing to do. But there is a ton of subtle ways to improve that interaction. This articles goes over a really excellent technique for this covered by Doug Neiner at the Front End Design Conference 2011.

Blogging. You can do better.

That's my (solo) panel name for SXSW Interactive 2011. I'll love you forever if you upvote it to increase my chances of getting to do it this year. It was denied city last year. I haven't talked much about blogging …

#100

I finally shot the 100th video. No big fireworks, just more front end learnin'! In this one we look at a Photoshop design and mark it up in HTML5 as semantically as we can.…

Skin your Chrome Inspector

Darcy Clarke on how you can give the Web Inspector in Chrome a facelift (with example stylesheet). …

25 comments

Transitions and Animations on CSS Generated Content

Generated content means pseudo elements added to the page via the ::before and ::after. The support for applying transitions or animations to these in the current browser landscape is not great. I think this is a huge bummer, so …

Flip flop navigation with box-flex

Jeremy Keith shows us how to put the navigation on the bottom of the page in a vertical layout for small screens and the top of the page in a horizontal layout for large screens by fiddling with the the …

54 comments

Persistent Headers

This is some code to get the header of some content area to stay visible at the top of the screen as you scroll through that content. Then go away when you've scrolled past that relevant section.…

0 comments

Design v9

Fun fun fun, the new site design is live!

The details and summary elements

Tom Leadbetter from HTML5 doctor shows us all about the summary and details element. I think this will be a particularly useful pair of elements, especially as browser support grows, with its baked in hide/show functionality.…

Making Video Fluid Width

Me:

In a world of responsive and fluid layouts on the web one media type stands in the way of perfect harmony: video.

I wrote an article for Net Magazine where I tackle making video (from any source) work in …

48 comments

Indeterminate Checkboxes

While checkboxes can only either submit their value (checked state) or not (unchecked state), they have a third visual-only state: indeterminate. This is only settable via JavaScript and does not affect the value, only the appearance. We'll cover how it works and a simple use case.
49 comments

New Poll: Site Title Structure

The new poll is up in the sidebar of the site. This time it's about the structure of page titles. Literally, the <title></title> tag in the head of a site that gives the browser window/tab its title. I'm just asking …

Prefixr

Jeffrey Way has created an app which looks through your CSS and adds all the missing CSS3 vendor prefixes. It's smart enough to do it right no matter which ones you've added or forgotten. Cooler, it has an API which …

109 comments

What Makes For a Semantic Class Name?

Semantics in HTML is always a hot topic. Some people strive for it at all times. Some people critisize a dogmatic adherence to it. Some people don't know what the heck it is. …

The Future of CSS Layouts

Peter Gasston shows us: columns, flexbox, grid, template, positioned floats, exclusions, and regions. This stuff is going to be a big deal in a couple of years and it will be very interesting to see which of these get popular …

67 comments

Seriously, Just Make a JSFiddle

Has anyone ever asked you for help troubleshooting some combination of HTML, CSS, and JavaScript, and they copy and paste the entirety of all the files into an email or forum post? It's super common, and so consider this an …

Chosen

Super hot jQuery and Prototype plugin by the Harvest team that seriously improves the UI of <select> elements. …

CSSFrag

Shaun Inman with a Safari extension (and Firefox port) that impliments the (not real) fragment identifiers proposal. Essentially: same-page document links that don't need the ID/hash-tag thing. Alternatively, you target with a CSS selector:…

3D Cube with One Element

Pseudo elements make the two other sides needed (you can only see three sides of a cube at once). I Love the idea of making shapes without loads of extra divs (obviously) and extra love the idea of …

57 comments

Seamless Responsive Photo Grid

Let's say you have a bunch of images you want to display, and the goal is to get them edge-to-edge on the browser window with no gaps. Just because you think that would be cool. They are of all different …

Web IQ Quiz

Pretty fun, well designed, interesting quiz. You gotta cough up an email and stuff to play any of the quizzes beyond the first one so you might get some random Windows Phone emails or something, but hey it's fun.…

Classy Text Shadows

Tim Brown from Typekit shares some pretty classy CSS text shadows and drops some painter's terminology.

The Typekit blog exemplifies an idea I've been telling any company I've been involved with for years and years. Publish lots of interesting articles …

Everything About Radial Gradients

John Allsopp with a comprehensive article and updated tool for creating them. Funny how the vast majority of radial gradient examples are super in-your-face eye-seizure colors. I think it's because the "real world" uses for them are few. Subtle lighting …

119 comments

Little CSS Stuff Newcomers Get Confused About

Nobody was born understanding CSS. We all struggled our way through the confusion. Good times, good times. Let's think back on those confusing moments, that are probably confusing people as we speak. I'll list some that I remember and you list yours.
62 comments

Convert a Menu to a Dropdown for Small Screens

Create a menu that, on smaller screens, changes into a dropdown menu. A dropdown takes up much less screen real estate and can be easier to use. This tutorial shows you how and discusses the ups and downs.

Identity at Mozilla

New project from Mozilla team to tackle the long-standing issue of single-signon (not needing a unique login/pass for every single app in the world). I love it when apps have "Sign in with Twitter", but I'm not sure Twitter should …

28 comments

The Actual Browser Problems with Unquoted Attributes

There are rules when it comes to leaving your attribute values unquoted in HTML. Then there are the actual problems that are caused by breaking them. Then there are problems that can happen outside of those rules. Yeah it's kinda complicated but I've tried to document it here.