At the most basic level, why even use CSS
? What does it do for us, as compared to the 'old' way of coding? I'm looking for a theoretical understanding of the separation between a document's markup/content and its styling.
What's the difference between an inline element and a block element?
What are some ways you might target IE
) only, without affecting other browsers?
How do CSS
precedence/cascading rules work? How does the
directive affect the rules?
Have you ever used a CSS
reset? (e.g. the * reset, or the YUI Reset
)? Why are they useful?
Have you ever played with any of the advanced selectors (e.g. selecting children or selecting siblings)? Or with any of the psuedo-selectors (
:hover, etc.)? Note that these are only supported in modern browsers, and so it is not common for people to be familiar with them, but if they are it's a good sign.
What are some different ways for specifying a color (e.g.
What about different lengths? Pixels, ems, & pts are all common.
It's frequently worth asking some basic text questions; e.g. how to increase/decrease text size, make a font bold (without using the
<b> tag!), adjust line-height, etc.
Explain how the CSS
box model works. Draw a box and then explain what the border is, what the margin is, what the padding is, etc.? If you assign a
to something, what specifically does that refer to?
Explain vertical margin collapsing.
How do you float an element, and what does that mean? What's clearing?
What's the difference between
position: fixed &
What does z-index do? Advanced question: what are some of the issues with IE6
What does it mean for your CSS
to 'gracefully degrade' across browsers? What are some techniques for achieving graceful degradation? Have you had any experience with newer CSS
versions, such as CSS3?