Just a quick question: as I'm figuring out HTML, I've learned that "<b></b>" will make the inner text bold, but why are we seeing "<strong>" being used these days? Is there a difference?
Dave's Answer:
While you would think that something so rudimentary as the markup language for Web pages wouldn't be a place where you'd find great controversy, in fact there are two different quite fervent camps in site design that are represented in this debate. What we're talking about is whether markup should be functional or whether it should be presentation-based.
If you were on the functional side, you would say that when you're writing content for online publication, you want to simply note how that element relates to the content overall. So "<cite>" for citations, "<a>" for anchor text (hypertext links), and so on. How it's rendered, how the tool that the reader is using to view your content, is up to their tool's preferences. Some users might prefer citations in yellow with a dark blue background, while others might want to simply have it underlined: it's "up to the browser".
In fact, when I teach web design classes, that's our mantra, because however much you tweak things, the user's tools, preferences and settings can and will doubtless change how they see your material.
Now, on the presentation side, designers would point out that while all of this is well and good with something like a citation, there's such a difference between bold and italic in terms of how you read and process the information on the screen that it's of great importance that the content producer have greater control over how it's displayed.
While functional designers would use "<strong>" and "<em>" for words that should be emphasized or "stronger", a presentation designer would eschew it completely and use "<b>" for bold and "<i>" for italics.
Which is right? Well, it's hard to say. If you like having more control over the presentation of your material, then the presentation approach is going to be a better match. If you want to focus on your content and let the reader (or, more accurately, their reading tool) do the work, then a more functional approach may be for you.
As it turns out, this is somewhat of a moot point given the rise of Cascading Style Sheets (or CSS). CSS brings a far greater level of sophistication to presentation markup and while it initially seems a lot more complicated, the greater power makes it well worth learning.
In CSS, however, the markup "<bold!>" changes rather dramatically to "<span style='font-weight:bold;'>bold!</span>". A lot more complex, but as you might guess, there are dozens of different transformations you can apply to text with CSS elements -- like wrapping the text with a thin border -- that just aren't even an option with HTML.
While I am a big fan of CSS and use it with astonishing frequency for even the most simple tasks, it's definitely more complicated and, more of a problem, many Web sites let you use rudimentary HTML where you can't use CSS. A great example is that most online forums and blogs allow "<b>" notation in your comments to let you emphasize words, but very few allow "<span>" to let you use the full power of CSS to really pretty up your prose.
Therefore it does behoove you to learn at least the dozen basic HTML markup tags for just those situations. In fact, I have a brief article on my Web site that gives you just this list, with a helpful explanation of each tag: Essential HTML tags bloggers need to know.
My recommendation for when you must use HTML? Use the presentation-based approach, not the functional approach.
In a word, "Go <b> go!"
Comments
Dave's Answer:
While you would think that something so rudimentary as the markup language for Web pages wouldn't be a place where you'd find great controversy, in fact there are two different quite fervent camps in site design that are represented in this debate. What we're talking about is whether markup should be functional or whether it should be presentation-based.
If you were on the functional side, you would say that when you're writing content for online publication, you want to simply note how that element relates to the content overall. So "<cite>" for citations, "<a>" for anchor text (hypertext links), and so on. How it's rendered, how the tool that the reader is using to view your content, is up to their tool's preferences. Some users might prefer citations in yellow with a dark blue background, while others might want to simply have it underlined: it's "up to the browser".
In fact, when I teach web design classes, that's our mantra, because however much you tweak things, the user's tools, preferences and settings can and will doubtless change how they see your material.
Now, on the presentation side, designers would point out that while all of this is well and good with something like a citation, there's such a difference between bold and italic in terms of how you read and process the information on the screen that it's of great importance that the content producer have greater control over how it's displayed.
While functional designers would use "<strong>" and "<em>" for words that should be emphasized or "stronger", a presentation designer would eschew it completely and use "<b>" for bold and "<i>" for italics.
Which is right? Well, it's hard to say. If you like having more control over the presentation of your material, then the presentation approach is going to be a better match. If you want to focus on your content and let the reader (or, more accurately, their reading tool) do the work, then a more functional approach may be for you.
As it turns out, this is somewhat of a moot point given the rise of Cascading Style Sheets (or CSS). CSS brings a far greater level of sophistication to presentation markup and while it initially seems a lot more complicated, the greater power makes it well worth learning.
In CSS, however, the markup "<bold!>" changes rather dramatically to "<span style='font-weight:bold;'>bold!</span>". A lot more complex, but as you might guess, there are dozens of different transformations you can apply to text with CSS elements -- like wrapping the text with a thin border -- that just aren't even an option with HTML.
While I am a big fan of CSS and use it with astonishing frequency for even the most simple tasks, it's definitely more complicated and, more of a problem, many Web sites let you use rudimentary HTML where you can't use CSS. A great example is that most online forums and blogs allow "<b>" notation in your comments to let you emphasize words, but very few allow "<span>" to let you use the full power of CSS to really pretty up your prose.
Therefore it does behoove you to learn at least the dozen basic HTML markup tags for just those situations. In fact, I have a brief article on my Web site that gives you just this list, with a helpful explanation of each tag: Essential HTML tags bloggers need to know.
My recommendation for when you must use HTML? Use the presentation-based approach, not the functional approach.
In a word, "Go <b> go!"
Comments
About the Author: Dave Taylor has been involved with the Internet since 1980 and is internationally known as an expert on both business and technology issues. Holder of an MSEd and MBA, author of twenty books and founder of four startups, he also runs a strategic marketing company and consults with firms seeking the best approach to working with weblogs and social networks. Dave is an award-winning speaker and frequent guest on radio and podcast programs. AskDaveTaylor.com http://www.intuitive.com/blog/




