Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
In the opening lesson of this chapter, I mentioned that it's possible for a definition list to have multiple data definitions, as coded with the DD tag. In this lesson, I'll show you a number of techniques for styling multiple definitions. Let me start, by showing you the end result of our styling. You might think, that the series of artworks shown here in the recent work section, were laid out with a number of divs or, if you want to go old school, a table. But as you probably suspect, this is all done with definition lists.
The title of each artwork is a data term, and all the information, the image, artists, medium and year, and price, are all data definitions. Best of all, the styling is done by working with just the basic tags, no classes or IDs are used. Before we start with this CSS, I want to show you what the definition list looks like unstyled. As you can see, everything is in the standard definition default appearance.
My art tiles are flush left, and all the data terms, including the images, are indented and placed one right after the other. Pretty boring, right? Let's see what we can do about that. I'll scroll to the bottom of my CSS file, and start with the first rule. We're going to move the entire definition list, over to about the middle of our white space. So I'll target main content, dl, and then set in a margin of 000 10m. Next let's style the data terms.
Again, I'm going to make them bold and uppercase. (SOUND). So I'll set the font weight, to bold, and use text transform, to uppercase the terms. Next, I'll add some separation, between the data terms, with a padding top property. Finally, although it's not in place yet, we are going to float the images, so I'll need to clear the float for every data term. We're ready to tackle the dd tag.
To get where we want to go, it'll take three rules. First, we'll zero out the margin on the basic dd tag. Next, let's float the image within the dd tags. So we'll target main content, dd, image, and enter in a float, left property. I also want to put a little separation between the image and my text, so I'll use margin right. And I'll set the value to 2 m's.
All that's left is to highlight the price, by coloring it green. To target a specific dd tag in a series of them, we can use the Nth of type pseudo selector. I want to select every fourth one, so I'll enter in a formula that allows me to do that. First let's hit the selector, main content, dd, and this is a pseudo selector, so you enter in a colon, and it's nth of type.
And then you follow that with a set of parentheses, and you enter in the formula. If I want every fourth one, of 4 n plus 0. Okay, that's the selector. Let's put in our curly braces, and simple property, we'll color it green. That's it. So, let's save CSS file first, and back to the browser, click refresh, looks good. Let's scroll down and see how it carries through.
Everything looks fine. Keep in mind that the nth of type pseudo selector, which targeted the fourth of our dd terms, can only be used when the definition list follows a very rigid structure, as with our example.
Get unlimited access to all courses for just $25/month.Become a member