A strong element with control for typographic attributes.
Generally, strong tags will go inside p tags and inherit whatever typographical attributes that paragraph has. But because strong's' are not limited to being inside paragraphs, this elements also allows you to control typographic attributes.
It is often confusing to new developers why there are so many ways to express the same thing on a rendered website. <b> and <strong> are perhaps one of the most common sources of confusion, causing developers to ask "Should I use <b> or <strong>? Don't they both do the same thing?"
Not exactly. The <strong> element is for content that is of greater importance, while the <b> element is used to draw attention to text without indicating that it's more important.
It may help to realize that both are valid and semantic elements in HTML and that it's a coincidence that they both have the same default styling (boldface) in most browsers (although some older browsers actually underline <strong>). Each element is meant to be used in certain types of scenarios, and if you want to bold text for decoration, you should instead actually use the CSS font-weight property.
The intended meaning or purpose of the enclosed text should be what determines which element you use. Communicating meaning is what semantics are all about.
Adding to the confusion is the fact that while HTML 4 defined <strong> as indicating a stronger emphasis, HTML 5 defines <strong> as representing "strong importance for its contents." This is an important distinction to make.
While <em> is used to change the meaning of a sentence as spoken emphasis does ("I love carrots" vs. "I love carrots"), <strong> is used to give portions of a sentence added importance (e.g., "Warning! This is very dangerous.") Both <strong> and <em> can be nested to increase the relative degree of importance or stress emphasis, respectively.
A strong element with control for typographic attributes.
| Prop | Type | Default | Description |
|---|---|---|---|
| weight | enum: black, extrabold, bold, semibold, medium, normal, light, extralight, thin | No default value | The font weight. |
| size | enum: 4xl, 3xl, 2xl, xl, lg, md, sm, xs | No default value | The font size. |
| align | enum: left, center, or right | No default value | The text alignment. |
| tracking | enum: tighter, tight, normal, wide, wider, or widest | size-dependent | The letter spacing. |
The tracking's default value depends on the size prop and is controlled through CSS variables: check out the styling section.
<P> <Strong>Warning!</Strong> This is <Strong>very dangerous</Strong>.</P>Here's the <Strong /> component in action.
Warning! This is very dangerous.
/* ### Typography ### */@layer components { /* Strong */ .strong { @apply font-semibold; }}The typographic styling is actually pretty simple once you wrap your head around it. For an explanation check out the Fluid Typography Sizing and Scales article.