Beginner’s guide to CSS
In the chat channel I'm in, I get to talk to people on a daily basis that have never used CSS before, or are at the very beginning of learning it.. This article teaches all the basics you need to make your first CSS powered website. It is aimed at people that know a little HTML, and maybe have made a few websites themselves. Let's get started.
What is CSS?
CSS is a language that adds style (colors, images, borders, margins…) to your site. It's really that simple. CSS is not used to put any content on your site, it's just there to take the content you have and make it pretty. First thing you do is link a CSS-file to your HTML document. Do this by adding this line:
<link rel="stylesheet" href="style.css" type="text/css">
The line should be placed in between your <head>
tags. If you have several pages you could add the exact same line to all of them and they will all use the same stylesheet, but more about that later. Let's look inside the file "style.css" we just linked to.
h1 {
font-size: 40px;
height: 200px;
}
.warning {
color: red;
font-weight: bold;
}
#footer {
background-color: gray;
}
You have three selectors up there, h1
, .warning
and #footer
. A selector simply points to somewhere in your HTML document. It can be built in many ways and can be a combination of the following building blocks:
- Element
- Class
- Id
I'm going to go through all three of them and explain what they do.
An element points at a HTML-tag somewhere on your page. In the example above we want to style the <h1>
-tag. Note that using an element like that affects all tags with that name, so using p
gives all p
-tags a left-margin.
Using a class is just as simple. When writing .your_class
you style all tags with a class with the name "your_class". In the example above we have .warning
which will style e.g. <div class="warning">
and <em class="warning">
, that is, any element with the class warning. Classes are used when you want to style just a few of your tags in a way, perhaps you want some of your links red? Add a class to all those links.
You need one more building block: the id. This time you style an element with the attribute "id" set to the id you have chosen. Ids work exactly like classes except for one thing; you can only have one id with a certain name in each of your HTML documents. In the example above we style <div id="footer">
. If you look at the example it does make sense: a HTML document may contain several warnings but only one footer. Ids should be used when you want to style just one specific tag.
Using those three building blocks will take you far but when you get to more advanced layouts you might want to combine the building blocks into more advanced selectors. Just to give you two examples of what you can do: em.warning
to style only those <em>
-tags with the class .warning
set. You can also use #footer a
to style only the links that are nested inside the tag with id "footer". Pretty nice, isn't it?
I could go on forever about the advanced uses of selectors but this is a beginner tutorial so I won't. If you want all the finer details, go have a look at the excellent Maxdesigns Selectutorial.
Let's go on explaining the code above. Each of the selectors has a set of declarations tied to them. Each declaration has a property, describing what we want to change and a value, what we should change it to. Too many terms there? Are you still with me? Let me explain with an example: a
. You have the selector a
there, so all links in your document will be styled. We have two declarations: color: Blue
and font-size: 3em;
. Lastly each declaration consists of two parts: the property color
and the value Blue
. Phew! Well done for making it this far. The terms above are good to know since it gives you a way to talk about your CSS. If you join a CSS-channel asking for help with your code and they tell you "You have an error in your a-selector in the second declaration" you know exactly where! Right? :)
Now you will probably ask what properties there are. You have seen font-size
and color
but what else is there? The answer is that there are a LOT of things you can style and play with. Additionally (close to) all tags are equal in CSS, so you can set e.g. borders and colors of any element just like you could with a table if you used only HTML. Starting to see the possibilities?
I won't go through all the properties here, it would just bore you to death. Instead I'll point you to another great resource: w3schools section about CSS. Just select one of the menu options to the left to start exploring what CSS can do.
But don't you leave me all alone here, there is more to learn! Next we will talk about good and bad coding and there will be a lot of colorful examples for you. Sounds good?
CSS is all about separation
One of the least followed parts of CSS is the very idea behind it, the idea of separation of content and design. The idea here is that all sites contain two major parts, the content: all your articles, text and photos and the design: rounded corners, colors and effects. Usually those two are made in different parts of a webpage's lifetime. The design is determined at the beginning and then you start filling it with content and keep the design fixed. So if you just want to add content to your site you don't want to be forced to mess around with the design, do you? The same thing is true the other way around, if you decide on a redesign, why should you have to mess around with the content, making sure it fits in the new layout?
In CSS you just add the nifty <link>
-tag I've told you about to the head of your HTML document and you have created a link to your design. In the HTML document you put content only, and that link of yours makes sure it looks right. You can also use the exact same link on many of your pages, giving them all of them the same design. You want to add content? Just write a plain HTML document and think about marking things up like "header" instead of "big blue header" and use CSS to make all headers look the way you want!
This is a different way of thinking about webpages, and it's something that took a while for me to understand. To help you I have written some examples of good and bad coding. What's wrong with this?
<font size="3">Welcome to my page</font>
Comment: The font-tag is design and design shouldn't be in the HTML document. All design should be in the CSS-file! Instead do this:
In the HTML:
<h1>Welcome to my page</h1>
In the CSS:
h1 { font-size: 2em; }
One more example:
<b>An error occurred</b>
Comment: This looks right doesn't it? But if you look up what <b>
stands for you quickly find bold. But bold is certainly design, so it still doesn't belong in the HTML document. A better choice is <em>
that stands for emphasis or simply "this piece of text is important". So instead of saying "this text looks like this" you are saying "this text is important" and you let the looks be decided by the CSS. Seems like a minor change, but it illustrates how to select your tags. Use this instead:
In the HTML:
<em>An error occured</em>
In the CSS:
em {
font-weight: bold;
color: Red;
}
One last example:
<table>
<tr>
<td><a href="">first link</a></td>
</tr>
<tr>
<td><a href="">second link</a></td>
</tr>
...
</table>
Comment: Lots of people format their navigation menu like the above example. But is a navigation menu really a table? If you look up the definition of a table you see that it's made for tabular data, the same kind of data you would put in an Excel sheet. The example has only one column of data, and no headers… Some people state that they use tables because that means that they can get borders and a background color on their navigation, but that's exactly what your CSS file is for (not the HTML document). So what should we do? Look deep in the list of HTML elements at w3schools and you'll find something called an unordered list, <ul>
. Have a look at this:
In the HTML:
<ul>
<li><a href="">first link</a></li>
<li><a href="">second link</a></li>
...
</ul>
In the CSS:
li {
border: 1px solid;
}
This is probably a different way of thinking about HTML than you're used to but trust me, when you've worked with it for a while you'll see the power of it. Not only does this way of coding give you a more logical structure, there is also proof that this improves your ranking in search engines and makes it easier for accessibility devices to read your site. This way of designing is great.
Next we will build a simple HTML template to use as a start when building a new page. Like to see it?
Building a standards based HTML template
We have talked a lot about the theory behind CSS and HTML working together to form a site with good structure that is separated from the design. But the first parts of building pages are always the same, you type
<!doctype html>
<html>
<body>
<div id="header">
<!-- Header here! -->
</div>
<div id="navigation">
<!-- Navigaiton here! -->
</div>
<div id="content">
<!-- Content here -->
</div>
</body>
</html>
Ok, there might be some new stuff there so let's go through the lines one by one. First we state this document's doctype: what language we use. You might have heard of XHTML, another similar web language, but for a first page we don't need the features that gives us access to, keep it simple, just go with HTML. Also, the <!doctype html>
above sets the document to use Strict HTML. To understand that you need to know that there are two kinds of rendering in a browser. One that follows the standards set up by the W3C, "standards mode", and one for older pages, called "quirks mode". Standards mode is what we want to use. It makes the pages render (almost) the same in modern browsers and it frees us from being dependent on a specific browser, we'll just follow the standard. Quirks mode is something of a bug mode. It's there to keep old pages looking the same as they did before browsers started trying to follow the standards and is therefore intentionally filled with strange bugs. A browser determines which rendering mode to use based on what doctype we use, so make sure you use the right one!
Ok. That's a lot of explaining for a single line of code, I'll be swifter now, next line. You have probably written <html>
before in the beginning of your documents. My line is almost like that except that I have added lang="en"
there. That line tells the browser which language we will use. Why does it matter what language we use? you ask… Well, there is assistive technology that read webpages to people out loud called screen readers. Those have to know what language it is to be able to pronounce the words. It's so easy for you to add those few characters so why not do it? If you don't plan on making an English page you can find your own language code by visiting WAIs Language Codes and check out the two-letter names there (Note: language codes are in lowercase).
Next we have the head of the document. The head contains a some of meta-information about the page, like character encoding, title and what stylesheet (CSS file) to use. The charset there is the trickiest one so let's take that first. There are a lot of different letters in a language. When computers where first constructed the engineers only thought about the American/English language, they didn't even think about the swedish letters å, ä, ö or the deutsch umlaut ü or what about the &-sign? There are a lot of characters and at first there was no general consensus on how to handle them. Then someone came up with the smart idea of grouping them into sets, groups of characters that are used in certain parts of the world. So, what the meta-tag does is simply to state: "This person wants to input western characters (latin-1 characters)", and this tells the browser what character set to use. A more genaral approach is to use the utf-8 character set but that quickly gets tricky. Finally we have a text/html there that simply tells the server to send the document as a HTML, not like an image or something like that. The <title>
and <link>
you should be familiar with, if not, google it :)
That was a lot of info on just a few lines of code, I hope I didn't give the impression that this stuff is hard, because it's not. To use the stuff above you just copy and paste it and start filling it with content.
The body of the document consists of a bunch of divisions, let's add some content to them:
...
<div id="header">
<h1>The name of this page</h1>
</div>
<div id="navigation">
<h2>Navigation</h2>
<ul>
<li><a href="first.html">First</a></li>
<li><a href="second.html">Second</a></li>
<li><a href="third.html">Third</a></li>
</ul>
</div>
<div id="content">
<h2>Content</h2>
Some sample content, add your own here
</div>
<div id="footer">
This page is written by [Your name] and builds on a <a href="http://friendlybit.com">Friendlybit template</a>.
</div>
...
What have we done here? First you should note that a quick overview of the document tells you quite much about the content. You can easily see that some stuff are headers (h1, h2) and some are just a list of links (ul, li, a). Let's go through the code quickly:
First we have a header. A header is something that's most often a big image and some text. Some pages don't have the header in the HTML at all, they just link to an image and have the text in that image. Problem with that is that neither search engines nor screen readers can get the title text. With the title text being the most important piece of description a visitor has to what page they have come to, you do have a problem. So trust me, keep that text there.
Next up we have the navigation. Navigation should almost always be marked up as an unordered list of links. I've seen the strangest variants of this with tables, nested tables, ``-tags after each line and so on but the only content there is a list of links, why make it something it isn't? Using a list doesn't mean it will have to look a certain way, remember that all design is handled in the CSS later on, this is just HTML we are dealing with here. Note: you can easily remove the bullet marks with list-style: none;
, that's not a reason to use some other HTML.
The most important part of your HTML document is the content. This is the reason people will visit your page and this is where you should put most of your effort. Mark your headers with appropriate header-tags and make sure they look different from the ordinary text, this makes it easier quickly get a grip of what you're are trying to say. Use paragraph tags around your paragraphs to make is easier to style your text. The CSS text-indent: 2em;
adds some space before only the first word in each paragraph, just to name one simple thing you can do with CSS when you've used good markup.
Lastly, it could be a good idea to add a footer to your page. Make sure you have some kind of contact information here or somewhere else on your site, who knows what people will want to ask you? If you want to help me you could add a link to this site somewhere on your site too. If you do, thanks alot!
On the next (and last) page of this short beginners guide we will wrap everything up and add some sample CSS to the mix. All is free for you to copy and use on your page. Ready?
Full HTML template and sample CSS
Let's start by putting the two pieces of HTML I showed you together and combine it with some sample CSS: Sample HTML + CSS. You can find all code that makes that page below. Feel free to copy the code below and experiment on your own.
<!doctype html>
<html lang="en">
<body>
<div id="header">
<h1>The name of this page</h1>
</div>
<div id="navigation">
<h2>Navigation</h2>
<ul>
<li><a href="first.html">First</a></li>
<li><a href="second.html">Second</a></li>
<li><a href="third.html">Third</a></li>
</ul>
</div>
<div id="content">
<h2>Content</h2>
Some sample content, add your own here
</div>
<div id="footer">
This page is written by [Your name] and builds on a <a href="http://friendlybit.com">Friendlybit template</a>.
</div>
</body>
</html>
You should be able to tell what each part of the HTML does by now. Let's instead have a look at some sample CSS for the structure we have above. If you want to experiment with this code you can copy it to a file named style.css (or any other filename you reference in the <link>
-tag in the HTML) and place it in the same directory as the HTML document.
body {
background-color: Green;
}
div {
border: 3px solid Black;
padding: 7px;
width: 600px;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
}
#navigation {
float: left;
width: 150px;
}
#content {
float: left;
width: 430px;
}
#footer {
clear: both;
}
Let's go through the six rules above. First we set the background-color of body, and body is the background of everything, so this will do the same as bgcolor did in HTML.
Next we set some styles on all divisions on the page. We have four of them and with this single rule we affect them all. First we set a black border to be 3 pixels wide (note that there is no space between number and unit in CSS). We then set a padding (the space between the border and content) to be 7 pixels and lastly we set the width of all divs to 600 pixels (note that margins, borders and padding are not included in the width).
The third rule selects all headers on the page and removes the margins (the space between the border and other nearby elements) from them. The commas are used between the elements to apply the same CSS to all of them.
Next we have some specific rules for three of the divisions. We position the navigation to the left of the content. This is done by using floats, a way to put things side by side. If you have used the align-attribute on images in HTML you will know how floats work, they move the element as far to the left as possible and then let the next element follow right next to it. If you want to put something below a float you need to clear it. Clearing moves the element down until it's below any floats, exactly where we want the footer. So both navigation and content are floated and given a width to match the 600 pixels wide header, and the footer is cleared.
Update: I have added some simple layouts for you to look at, and a list of tools I use when developing. Hope they help all of you out there that learn by examples.
Now it's your turn, you will learn CSS by using it and trying out how things work. So go ahead and play with the sample above. Thanks for reading, and good luck!
Any ideas of how this guide could be improved? Just leave a comment to the right.
Comments
By: Jim Berger (#1)
By: Michael Gernes (#2)
Thanks so much for providing such a friendly tutorial for those of us still learning CSS!
I'm a technical writer by trade, and I really appreciate the tone and organization of your writing. It's helped me to understand CSS a little better in the time I've taken to read it.
By: bikhod (#3)
Excellent and informative introduction. I particularly like the template page that you provided.
I think a mention of www.csszengarden.com would be good too.
By: arnab (#4)
By: leela kolluri (#5)
This is the best website I've ever seen on the introductory course for style sheets and html. It is very useful and simple and effiecient. I just liked it so much.
regards,
Leela
By: Shan (#6)
By: Bill (#7)
By: Emil Stenström (#8)
By: Ron Kolegraff (#9)
right help at the right time.
I was on the verge of going back to tables frustrated with the explainations I found for CSS.
This tutorial saved my site from that. I anticipate this summer being able to convert my site from badly coded tables to style separated from content pages.
RJK
By: Emil Stenström (#10)
By: Tobias (#11)
By: Shyam (#12)
this is good to learn CSS., i m a student from Sweden,
thanking you,
By: draco (#13)
Actually I think a site is made up of 3 parts: content, presentation, and behavior. I could be wrong, just what I thought!
Just curious, does all other browsers (except MSIE) have quirks mode rendering? (Besides the fact that they're all great tag soup parsers.)
And while I was scanning through, I was wondering why you suggested against the use of
b
and yet demonstrated the right usage ofem
instead. How aboutstrong
? With that we can really do away withfont-weight: bold;
! Well, at least to me it doesn't matter ifstrong
is a level more emphasis'd thanem
. Just some thoughts about this. I'm sure you have your reasons to do so. :)I'm not doubting you, and this is an article I'm sure alot newcomers can learn from. This comment is just me some 2 cents. Hope I'm not being too offensive.
Good job.
By: Emil Stenström (#14)
All modern browsers have quirks mode/standards mode rendering, some even have a "almost standard" mode.
I used em because that's what I think most people mean when they use the b element. Strong is another level of emphasis, something that I don't think makes it as good to start out with.
Thanks for you comments! :)
By: Martin (#15)
How to position divs using CSS position:relative? When I try to position elements in this way it behaves like position:absolute.
For example:
#something
{
position:relative;
top:50px;
left:50px;
}
this should position the element with id=something 50 pixels down and left from the previous element, yet in my case it behaves like absolute and places the element 50px down and left from the starting coordinates of a document. :(
By: Emil Stenström (#16)
By: Arthur Allison (#17)
By: Emil Stenström (#18)
By: Chad (#19)
Your article is helpful, informative, direct, and a joy to read. I look forward to reading more of your work in the future!
By: Robert (#20)
By: Chris Charlton (#21)
By: Will (#22)
Thanks for a great tutorial. This is the first tutorial I have read about CSS that is straightforward enough to understand.
By: Penny Pett (#23)
By: Trebek (#24)
By: Andrea (#25)
I've had a very little understanding to what CSS really is, even though I had a rough idea about what you can do with it. Then my Sister found a bunch of CSS sites while browsing and she shared the links with me. I clicked on yours first and I must say it is extremely helpful to my first attempts at getting a homepage based upon CSS done. Thanks a lot and keep up the good work!
Cheers,
Andrea (from Hungary)
By: vandana (#26)
Kindly give me more suggestion if you have
Thanks,
vandanag
By: Emil Stenström (#27)
By: Susan (#28)
Many, many thanks.
By: David Brooks (#29)
Why not simply write a language that allows one to write pages? All these bits & pieces html, xhtml,(yhtml), php,java,css,uncle Tom Cobbly and all. They always said that a camel was a horse designed by a committee.
By: name* (#30)
By: Emil Stenström (#31)
By: name* (#32)
Sorry if I came across as rude, wasn't meant to be.
By: Emil Stenström (#33)
[change: I've changed the word star to asterix to make the text a little clearer]
By: matt nixon (#34)
By: Carol Brannon-King (#35)
I have read numerous books trying to grasp the basic concepts and understanding of CSS and it has been difficult.
Your tutorial is Excellent!
It makes so much sense and Easy to grasp. Also, thank you for the additional resource links!
By: Kailash (#36)
It has changed a lot the way i was Creating web pages.
By: Regina (#37)
Thanks!!
By: Louise Buck (#38)
By: Matt Knight (#39)
What line? i'm viewing this on a MAC and there is no line of code visible to add. I might be being a complete numpety but I can't seem to find it. Thanks
By: Norm (#40)
By: Emil Stenström (#41)
By: Jewel (#42)
By: Josef (#43)
By: chica (#44)
By: Jim (#45)
Jim
By: li.sang (#46)
By: Matt (#47)
By: Emil Stenström (#48)
By: Anurag Soni (#49)
Thanks
Anurag Soni
By: Anurag Soni (#50)
Thanks
Anurag soni
By: Ksenya (#51)
Thx!
By: srinivas (#52)
iam new to html and css concepts but when i looked at ur site it was pretty interesting and i am able to learn a lot about css so keep up the good work for the sake of beginners
By: gaoshou (#53)
By: Emil Stenström (#54)
By: Kavita (#55)
The way it has been presented is fabulous.
Keep up the good work
By: zaharamh (#56)
By: Chris (#57)
kind regards
Chris
By: tek-69 (#58)
By: Hasib (#59)
By: James Thomas (#60)
Anyway, thanx for the CSS tutorial. Now that I have read your four page tutorial, at least I have a basic understand how the CSS DIV tag works.
By: Emil Stenström (#61)
By: Jason Bates (#62)
By: Mike T (#63)
By: rajesh (#64)
thx,
Rajesh.D
By: alex b (#65)
By: Peter D Wilson (#66)
Peter
By: Julius (#67)
By: Ali (#68)
I want to know how can Find Downloadable CSS manual?
Please tell me by email!
Good Luke
By: Emil Stenström (#69)
By: Torin (#70)
I'm learning from your materials - thanks! Will tell others.
By: Kyle (#71)
Thanks!!
By: vj_ (#72)
By: mrv (#73)
By: keules (#74)
By: Rich (#75)
By: Taking Your Camera on the Road » Understanding CSS Selectors and Attributes (#76)
By: Anil (#77)
By: sbt (#78)
By: Risto (#79)
Thanks!
By: Quin (#80)
By: kidodesign.com » Blog Archive » Beginners guide to CSS and standards (#81)
By: Jerry Scripps (#82)
By: monika wulfers (#83)
By: Emil Stenström (#84)
@Rich: Good suggestion! If I only had the time :/ I'll see what I can do. That and a print version of all the pages is on my ToDo.
@Anil: I havn't read any CSS Books, all the info I know if from the net and trying stuff out myself. I've hear good things about Zeldman's book though, you'll find it with a google search.
@Quin: Bahhh, let them ask what they want :) If I don't like it I'll give my motivation.
@Jerry Scripps: Good to hear. Looking at my referers it seems it's used as a getting started tutorial all over the world.
@monika wulfers: First, make sure you're in standards mode. Then just give your page a width and set it's left and right margins to auto.
#content { width: 760px; margin: 0 auto; }
By: Sarmad al Saadi (#85)
Your website is magnificient, but what I suggest to give more attention to the quality of tutorial of the CSS. The beginning was OK, but not the end. I wish you success in Sweden
Sarmad
By: Raj (#86)
By: Ranjith kumar (#87)
By: Emil Stenström (#88)
By: Simone (#89)
By: Lewis Meyer (#90)
By: Emil Stenström (#91)
By: ashok.kakani (#92)
Regards
kakani.ashokchoudary
By: Ilya Surdin (#93)
Exactly what I've been looking for. Tables got on my nerves a lot. :)
By: Ilya Surdin (#94)
1) Got here from w3.org. WTG :)
2) For anyone having trouble doing things with css described here, just look at the css-es of this page ;)
By: Emil Stenström (#95)
By: latha (#96)
By: aji (#97)
By: Fahad (#98)
Thanks so much..
By: Nebojsa (#99)
By: Mchl (#100)
Many thanks for this tutorial. Made me look at HTML+CSS combo in a diffirent way.
By: Peter Nathaniel (#101)
By: Emil Stenström (#102)
By: MJ (#103)
Wow,the moment i read this, i undertstood it. I have visited and read their a few tutorial sites but this site is great. And i also like the idea that you highlight the important words. It is like im reading a book then marking the important ideas. Thanks a lot and more power! :)
By: chai (#104)
:)
thakns a lot, chai
By: Decio (#105)
Cheers
By: Heldere XHTML/CSS help « CSS Superclub (#106)
By: brianb (#107)
You've provided me with a clear understanding of CSS..I enjoyed the idea of "separation of content and design" two part of website.
My life has new meaning : )
Have a great Day
By: Brad (#108)
I'm sure that, as I keep looking, I'll find the answer, but seeing a statement about what HTML syntax is vlaid within a .css file and what is not would (I think) improve understanding. This is only my second day of trying to learn CSS.
Thanks.
By: Emil Stenström (#109)
By: Louise (#110)
By: Louise (#111)
By: Tony (#112)
By: Dhiraj Patra (#113)
By: Thanh (#114)
By: Pozycjonowanie (#115)
Keep up the good work. Greetings
By: hano (#116)
thanks for keeping it simple
By: Pixel Acres » Blog Archive » Web design tips for print designers (#117)
By: Mario Castillo (#118)
Sorry for the mistake, I am not native english speaker, and my HTML is very basic.
By: Emil Stenström (#119)
It's not possible to load a page into a div like that. What people use is some kind of server-side language like PHP, ASP or something. With those languages you can add content to your pages before sending them to the user.
By: Mario Castillo (#120)
inside the style tag instead of using the most common "link rel..." to tell HTML code where to look for the CSS?
Is this a good practice when thinking about usability in different browsers?
By: Emil Stenström (#121)
By: Andy (#122)
Cheers
By: Hugh Scheffy (#123)
By: Prosadia (#124)
By: suresh joshi (#125)
By: Hochzeitsmode (#126)
By: Aukcje (#127)
By: Emil Stenström (#128)
By: Meble (#129)
Thanks and best regards
By: Emil Stenström (#130)
By: kadir guler (#131)
your site is very good
By: Angelita Dumapias (#132)
By: Christine Wyndham-Thomas (#133)
I need to re-do my site and because it's very large have decided to learn CSS. Also, more of the advanced browsers only recognise CSS.
A little hard getting my head around it, but hopefully your site will go a along way to helping me with this.
Once again, thanks for a very informative site.
By: Kolektory (#134)
By: Romina Miersch (#135)
By: SEO For Dummies 5 - Basic Technical Skills for SEOing | www.mapelli.info (#136)
By: Frank (#137)
By: James W. Hudgens (#138)
By: Emil Stenström (#139)
By: Kroq (#140)
By: Stron (#141)
By: heinz (#142)
I do not believe that the W3C HTML WG will complete recommendation status by 2008; and neither do I believe that that WG shall be disbanded late 2010.
Specification are usable before being finished but not before those parts are incorporated into User Agents, e.g., browsers. Safari, Mozilla and Opera (since they’re the copyright holders) may be the first to include HTML5 elements and attributes once they become stable, Right?
By: Telezakupy (#143)
By: Emil Stenström (#144)
By: linda (#145)
By: Gloria Jean (#146)
By: Emil Stenström (#147)
By: Dominick (#148)
By: Srebro (#149)
By: JAY TANNA (#150)
Regards,
By: Emil Stenström (#151)
By: Vicky Affluence (#152)
Many thanks for the tutorial on css. I have been trying to develop a new website for my biz and have not made much progress until I came across your link at w3c. The tutorials are well written and self explanatory. I have started work on the site since two days now using css. I am very impressed with the coding method of css, and more grateful to you for putting the tutorial on the net for all to learn from.
One question though: how do I define image properties, , say I want to place a transparent image of size h=140 w=200 on the right side of the screen, or inside a table with texts b4 and after.
Thanks and keep up the good work.
Vicky
By: Emil Stenström (#153)
By: Serg (#154)
By: guzel sozler (#155)
Regards,
By: Emil Stenström (#156)
By: css ?????????? - ?8? Design Everying (#157)
By: Beau Dure (#158)
By: Samaar (#159)
By: Kajuju (#160)
By: Emil Stenström (#161)
#header a { color: blue; }
and#middle a { color: red; }
and so on. That will only match the links inside those ids. Hope you get it to work!By: Becca Ulyatt (#162)
By: Cep Telefonu Tamiri (#163)
By: Paris Hilton (#164)
By: dos games (#165)
By: rich (#166)
By: Hans (#167)
By: Adventures in Web Design « Blogs will be Blogs… (#168)
By: Ellinor (#169)
By: Best ever css tutorial ive come across ! « Mysticpixels (#170)
By: Frugal Wizard (#171)
Thanks
By: Suomenkieliset HTML ja CSS -ohjeet — Oivallisia juttuja (#172)
By: Technique (#173)
Cheers!
By: oltimemom (#174)
By: mynet (#175)
By: Bhavya (#176)
It's one of the most neat article I have ever read. It's a great article on CSS, the concepts were very clear. It was also fun reading them. Thank you for a wonderful articles on CSS for beginners.
By: film indir (#177)
By: Dallas (#178)
By: andy wood (#179)
By: Rinoplastia (#180)
I am a new webmaster and I´m interesting in PHP and CSS my web is:
Cirugia de nariz
By: Auguste (#181)
I'm a print designer and complete niewbe in website world. Your explanations helped me to understand the basics of CSS, therefore i kept going and finished my website! Hurray!
By: Una serie di risorse infinite sui css | Italian webdesign (#182)
By: ilahiler (#183)
"But there are still things that you can’t do with CSS but can with tables…".
well the best way is to combine the two types of html structures, but it is also a pity that IE and Firefox (most used) and other web browsers are not 100% compatible with CSS in meantime.
I hope this will be fixed because it is always extra work to be done to re-write all the CSS for IE and firefox seperately. Though there are some "fix codes" in CSS it is still a problem to make a website view the same in all browsers.
By: Juste (#184)
Just curious, does all other browsers (except MSIE) have quirks mode rendering? Besides the fact that they’re all great tag soup parsers.
By: Rupert Mupertson (#185)
By: W (#186)
By: Jim Westergren (#187)
Great guide for beginners of CSS. I am linking to it from the big SEO guide that is soon released. :)
By: Emil Stenström (#188)
By: Jim Westergren (#189)
By: Cody (#190)
By: Russ (#191)
By: Emil Stenström (#192)
By: 250+ Resources to Help You Become a CSS Expert | X Design Blog (#193)
By: 250+ Resources to Help You Become a CSS Expert | huibit05.com (#194)
By: 20+ Sumber yang akan membuat anda menjadi CSS Master « Webdesigner Resource (#195)
By: Ash (#196)
Jättebra sida om Css. Jag har tenta på Torsdag den 7 januari och nu känner jag att jag kommer att klara av tentan!
Tack så mycket
By: Emil Stenström (#197)
By: 25 Free Best Online Websites for Learning CSS | Loudable (#198)
By: NpXp (#199)
By: rami (#200)
By: Amit @ wordpress blogging tips (#201)
By: CSS « Cristen's Blog (#202)
By: webdesign (#203)
By: Belajar CSS « Versus lab’s (#204)
By: Chris (#205)
By: A Cascading Style Sheets (CSS) Beginner’s Tutorial | Werx Limited (#206)
By: Smooth Booth (#207)
By: beginner-web-design-tutorials | blog (#208)
By: kailash (#209)
By: Bucko (#210)
By: Emil Stenström (#211)
By: F Paul Fuhr (#212)
Excellent job!! and you have made me a Design-Content believer. So I guess I'll have to go back and clean up some code. I'm using Dieter Schneider's template and I have noticed some quirks. I design on apache (from easyPHP install) and run our site on Linux, thought that was the problem? Maybe it's here?
Best
Paul
By: F Paul Fuhr (#213)