1 00:00:00,000 --> 00:00:02,990 Now that we have a better handle on how to keep track of what's going on with 2 00:00:03,000 --> 00:00:09,990 CSS, let's narrow our focus a bit on how to explore and read CSS specifications. 3 00:00:10,000 --> 00:00:14,990 The CSS modules are technical documents, and learning from them can be a bit of a 4 00:00:15,000 --> 00:00:17,990 chore if you're not familiar with their format. 5 00:00:18,000 --> 00:00:22,990 So in this movie, I want to walk you through the process of using the W3C's site 6 00:00:23,000 --> 00:00:27,990 to learn more about a specific subject, and how to use the specifications as 7 00:00:28,000 --> 00:00:31,990 reference documents as you are learning and authoring CSS. 8 00:00:32,000 --> 00:00:36,990 Let's start with the subject we've already discussed in some detail, CSS selectors. 9 00:00:37,000 --> 00:00:41,990 If we go back to the W3C's Current Work page, we can see that the Selectors 10 00:00:42,000 --> 00:00:46,990 Level 3 module is currently a proposed recommendation. 11 00:00:47,000 --> 00:00:50,990 Clicking on the link in the latest version should take you to the most recent 12 00:00:51,000 --> 00:00:52,990 version of the specification. 13 00:00:53,000 --> 00:00:56,990 Now, there are ways other than the CSS Current Work Page to find 14 00:00:57,000 --> 00:00:57,990 CSS specifications. 15 00:00:58,000 --> 00:01:03,990 For example, if we go back up to our URL here, and we just take off the css 16 00:01:04,000 --> 00:01:08,990 selectors and leave the w3.org/TR, 17 00:01:09,000 --> 00:01:12,990 that's going to give us a complete list of all standards and drafts. 18 00:01:13,000 --> 00:01:18,990 If I scroll down a little bit and click on CSS, I am going to see all of the CSS work. 19 00:01:19,000 --> 00:01:24,990 Now here the work is categorized as belonging to either Completed Work, Drafts 20 00:01:25,000 --> 00:01:30,990 or as Obsolete--and we only have a few of those in CSS. 21 00:01:31,000 --> 00:01:35,990 Now drafts in the Obsolete category are specifications that either never got 22 00:01:36,000 --> 00:01:39,990 adopted or whose charter was pulled by the W3C. 23 00:01:40,000 --> 00:01:43,990 Now the Drafts, which is considerably longer--let me go up to the very top 24 00:01:44,000 --> 00:01:47,990 of those--you'll notice that the drafts are ordered by the date of their 25 00:01:48,000 --> 00:01:48,990 last published draft. 26 00:01:49,000 --> 00:01:52,990 So they're not in alphabetical order, and sometimes it can be pretty difficult to 27 00:01:53,000 --> 00:01:55,990 find one if it hasn't been published for a while. 28 00:01:56,000 --> 00:02:00,990 So if I scroll down a little bit more, I can find, right there, Selectors Level 29 00:02:01,000 --> 00:02:03,990 3. So, same specification, just a different way of finding it. 30 00:02:04,000 --> 00:02:08,990 Okay, so if I click on this, it takes me back to that specification. 31 00:02:09,000 --> 00:02:12,990 Okay, so no matter really how you get to a specification, once you're 32 00:02:13,000 --> 00:02:15,990 exploring it, it's going to help you understand what's going on if you 33 00:02:16,000 --> 00:02:19,990 understand how the specifications are structured. 34 00:02:20,000 --> 00:02:22,990 All specifications follow the same basic template and format. 35 00:02:23,000 --> 00:02:26,990 So if you learn how the document structure work, it's going to be a lot easier 36 00:02:27,000 --> 00:02:29,990 to find what you are looking for within the spec. 37 00:02:30,000 --> 00:02:32,990 The first thing that you need to do is to make sure you're reading the 38 00:02:33,000 --> 00:02:34,990 most recent version. 39 00:02:35,000 --> 00:02:37,990 Now notice that at the very top here, you are going to see links to This 40 00:02:38,000 --> 00:02:42,990 Version, the Latest Version, and the Previous Version. Don't assume that you're 41 00:02:43,000 --> 00:02:47,990 looking at the most recent version, even if you clicked on the link from the W3C site. 42 00:02:48,000 --> 00:02:51,990 Now the first thing I do is always click right here on this Latest Version link 43 00:02:52,000 --> 00:02:53,990 to make sure I'm not reading an older version. 44 00:02:54,000 --> 00:02:58,990 I also need to mention here that often there will be an editor's draft as well, 45 00:02:59,000 --> 00:03:01,990 that's a little bit more recent than the latest version of the 46 00:03:02,000 --> 00:03:02,990 published specification. 47 00:03:03,000 --> 00:03:07,990 The editor's drafts allow editors to work on specs and try out revisions before 48 00:03:08,000 --> 00:03:09,990 actually publishing them. 49 00:03:10,000 --> 00:03:14,990 So often an editor's draft will actually give you insight into how a process is 50 00:03:15,000 --> 00:03:18,990 evolving, but from a reference standpoint, it's better to go ahead and stick 51 00:03:19,000 --> 00:03:19,990 with the published draft. 52 00:03:20,000 --> 00:03:22,990 Now let's talk about the structure of the specifications. 53 00:03:23,000 --> 00:03:27,990 At the very top of every specification, you're going to find this Abstract section. 54 00:03:28,000 --> 00:03:32,990 The abstract is going to give you a brief, if not overly technical, overview of 55 00:03:33,000 --> 00:03:34,990 the purpose for this specification. 56 00:03:35,000 --> 00:03:39,990 You'll also likely see the Status of this document section, which will detail 57 00:03:40,000 --> 00:03:41,990 the current state of the specification. 58 00:03:42,000 --> 00:03:46,990 And that is typically followed by a very detailed Table of Contents. 59 00:03:47,000 --> 00:03:51,990 Thankfully, all of the TOCs in Specifications are extremely organized and detailed. 60 00:03:52,000 --> 00:03:55,990 They are structured in a very consistently logical way, and usually they can help 61 00:03:56,000 --> 00:03:57,990 you find what you are looking for. 62 00:03:58,000 --> 00:04:01,990 You know, most the time, I can zero in on exactly what I'm looking for simply 63 00:04:02,000 --> 00:04:02,990 by skimming the TOC, 64 00:04:03,000 --> 00:04:08,990 so I always recommend starting in the Table of Contents of any specification. 65 00:04:09,000 --> 00:04:12,990 Okay, so in the case of CSS selectors, it was pretty easy for us to go to their 66 00:04:13,000 --> 00:04:16,990 current work page and scan it, or go to Standards and Drafts page and find what 67 00:04:17,000 --> 00:04:17,990 you are looking for. 68 00:04:18,000 --> 00:04:21,990 I mean, selectors is right there in the title of specification. 69 00:04:22,000 --> 00:04:25,990 However, how do find what you are looking for if you're not exactly sure which 70 00:04:26,000 --> 00:04:30,990 specification it's covered in? And after all, there are ton of modules and specs 71 00:04:31,000 --> 00:04:32,990 in the CSS space alone. 72 00:04:33,000 --> 00:04:36,990 Well, most of time you can scan the titles of the modules to get a good idea as 73 00:04:37,000 --> 00:04:40,990 to what's being covered, or you can click to read the description of the module. 74 00:04:41,000 --> 00:04:45,990 Now if I go back to the CSS Current Work page, I can scan through all these 75 00:04:46,000 --> 00:04:49,990 titles and sort of see if that's what I am looking for, or I can click the 76 00:04:50,000 --> 00:04:52,990 actual title itself. I get just a little brief description. 77 00:04:53,000 --> 00:04:54,990 That's going to help you narrow your focus on occasion. 78 00:04:55,000 --> 00:04:56,990 You know, I will be honest with you though, 79 00:04:57,000 --> 00:04:59,990 there are times you are just going to need to dig. 80 00:05:00,000 --> 00:05:04,990 In any case, I always recommend actually starting out with the CSS 2.1 81 00:05:05,000 --> 00:05:09,990 Specification. Reading through and familiarizing yourself with the 2.1 82 00:05:10,000 --> 00:05:13,990 Specification is going to give a good idea as to how CSS is organized and which 83 00:05:14,000 --> 00:05:16,990 modules to check for any new information. 84 00:05:17,000 --> 00:05:21,990 Notice, for example, here in the CSS 2.1 Table of Contents, we see sections for 85 00:05:22,000 --> 00:05:27,990 things like Box model, Paged media, Fonts, Text, and if you were to go over the 86 00:05:28,000 --> 00:05:31,990 Current Work page, you can find modules for each one of those sections. 87 00:05:32,000 --> 00:05:36,990 So in that sense, it's pretty easy to monitor the status of these modules to see 88 00:05:37,000 --> 00:05:37,990 how they're changing. 89 00:05:38,000 --> 00:05:42,990 Now I also wish the W3C had a better way of searching through its specs, but 90 00:05:43,000 --> 00:05:46,990 honestly, the search feature on the W3C's homepage doesn't work all that well. 91 00:05:47,000 --> 00:05:49,990 Of course, the upside of having to search through all those multiple 92 00:05:50,000 --> 00:05:55,990 specifications is that you will familiarize yourself with the CSS landscape and 93 00:05:56,000 --> 00:05:58,990 gain a greater understanding of how it all fits together and how it all works. 94 00:05:59,000 --> 00:06:03,990 With that in mind, I do have one final W3C resource to show you. 95 00:06:04,000 --> 00:06:07,990 If you're looking to find something quickly, you may want to take a quick look 96 00:06:08,000 --> 00:06:10,990 at the CSS Snapshot. 97 00:06:11,000 --> 00:06:15,990 This document gives a quick overview of the current state of CSS and provides a 98 00:06:16,000 --> 00:06:20,990 list of all the current CSS properties, and index of selectors and index of 99 00:06:21,000 --> 00:06:21,990 the available at-rules. 100 00:06:22,000 --> 00:06:25,990 Let me show you what I am talking about. So you can get a quick status and 101 00:06:26,000 --> 00:06:29,990 revision on Level 1, Level 2, and Level 3 of the CSS specification. 102 00:06:30,000 --> 00:06:32,990 Now if you are looking for something in particular, notice that I can click 103 00:06:33,000 --> 00:06:36,990 down here on this Property index and I'm taken to an index of all the 104 00:06:37,000 --> 00:06:38,990 properties that CSS has. 105 00:06:39,000 --> 00:06:43,990 If I click on the Selector index, I get a nice little list of every single 106 00:06:44,000 --> 00:06:48,990 selector that CSS has available to me. And if we keep going down, we can see an 107 00:06:49,000 --> 00:06:53,990 At-Rule index at the bottom that shows us all of the @rules like @media, @import, 108 00:06:54,000 --> 00:06:57,990 and almost all of these have more information that's available simple by 109 00:06:58,000 --> 00:07:00,990 clicking on a link, so you can learn more about these as well as reading 110 00:07:01,000 --> 00:07:01,990 through the brief description. 111 00:07:02,000 --> 00:07:05,990 So this is a really great resource; I recommend bookmarking this page. 112 00:07:06,000 --> 00:07:09,990 Now I should mention that finding what you're looking for is only part of the equation. 113 00:07:10,000 --> 00:07:12,990 Now once you've found it, you are going to need to make sense of it. 114 00:07:13,000 --> 00:07:17,990 CSS specifications are by their very nature technical documents, and it can be 115 00:07:18,000 --> 00:07:19,990 extremely confusing to try to read through them. 116 00:07:20,000 --> 00:07:23,990 So in the next movie we are going to take some time to explore how CSS 117 00:07:24,000 --> 00:07:24,990 specifications are structured 118 00:07:25,000 --> 00:07:35,000 and how to read through them to get the information that you need.