Markdown: Markdown Text Styling: Bold, Italic, and Beyond
Text styling is the seasoning of writing — use it right, and readers will spot the key points instantly.
1. What You'll Learn
- Bold and italic syntax, and how to combine them
- The correct way to use strikethrough
- Multiple ways to create horizontal rules
- Markdown line break rules
- How to escape special characters
2. A Technical Writer's Real Story
(1) Pain Point: Formatting Inconsistency Caused Chaos
David was responsible for maintaining the team's internal technical wiki and found that pages written by different people were formatted inconsistently — some used ** for bold, others used __; some used * for italic, others used _. Worse, some people mixed keywords that should be bold with plain text, making it hard to read.
(2) Solution: Unified Style Guidelines
David created team Markdown style guidelines: keywords in **bold**, book titles and technical terms in *italic*, and deprecated content in ~~strikethrough~~. After the guidelines went live, the wiki's readability score jumped from 6.2 to 9.0. New team members no longer had to guess how to format anything.
3. Text Styling Basics
Markdown's text styling syntax is intuitive — you wrap text with paired symbols:
graph LR
A[Text Styles] --> B[Bold ** **]
A --> C[Italic * *]
A --> D[Strikethrough ~~ ~~]
A --> E[Horizontal Rule ---]
B --> F[Emphasize keywords]
C --> G[Terms / book titles]
D --> H[Deprecated / removed content]
E --> I[Content separation]
| Style | Syntax | Shortcut (VS Code) | Rendered |
|---|---|---|---|
| Bold | **text** or __text__ |
Ctrl+B |
bold |
| Italic | *text* or _text_ |
Ctrl+I |
italic |
| Bold + Italic | ***text*** |
Ctrl+B + Ctrl+I |
bold italic |
| Strikethrough | ~~text~~ |
Alt+Shift+S |
|
| Horizontal rule | --- or *** or ___ |
No shortcut | Horizontal line |
(1) Bold
Wrap text with double asterisks ** or double underscores __:
This is an **important** concept.
**Note:** This section requires attention.
It's recommended to use asterisks `**` because they stand out more than underscores `__` in plain text.
** throughout rather than __, because _ can be misinterpreted as italic inside words (e.g., the underscores in some_func(param1, param2)).
(2) Italic
Wrap text with single asterisks * or single underscores _:
This is a classic book about *Design Patterns*.
In English, book titles are usually rendered in *italic*.
Note: _this text_ will also be displayed in italic.
▶ Example: Combining Bold and Italic
**Important:** This feature was deprecated in *v2.0*. Please use the ***new API*** instead.
4. Strikethrough and Horizontal Rules
(1) Strikethrough
Strikethrough uses double tildes ~~ to indicate that text has been removed or deprecated:
Original price: ~~$299~~ **$199** (limited-time offer)
The following feature has been deprecated: ~~legacy API~~ — please use the new version.
~~This content is outdated and has been updated.~~
(2) Horizontal Rule
A horizontal rule is created with three or more -, *, or _:
# Part One
This is the content of part one.
---
# Part Two
This is the content of part two.
---
---
Multiple horizontal rule notations all produce the same result.
▶ Example: Using Horizontal Rules in Different Contexts
# Project Documentation
## Installation Guide
...
---
## Usage Instructions
...
---
## API Reference
...
5. Line Breaks and Paragraphs
Markdown's line break rules differ from Word — pay attention:
| Action | Syntax | Rendered |
|---|---|---|
| New paragraph | Blank line between lines | New paragraph (larger spacing) |
| Line break (soft break) | Two spaces at end of line, then Enter | New line (smaller spacing) |
| No break | Continuous text | Auto-merged into same paragraph |
This is the first line,
this is the second line (two trailing spaces).
This is a new paragraph (blank line above).
This is text within the same paragraph —
note that this line break won't take effect (no trailing spaces).
▶ Example: Line Break Effects Compared
No trailing spaces
Line break not applied (same paragraph)
Two trailing spaces··
Line break applied.
Blank line =
new paragraph.
6. Escaping Special Characters
When you want to display Markdown symbols as literal characters (rather than have them take effect), escape them with a backslash \:
| Raw Text | Escaped | Displayed |
|---|---|---|
**not bold** |
\*\*not bold\*\* |
not bold (asterisks shown literally) |
# not a heading |
\# not a heading |
# not a heading |
--- not a rule |
\-\-\- not a rule |
--- not a rule |
Common escaping scenarios:
- Display an asterisk: \*this is not italic\*
- Display a hash sign: \# this is not a heading
- Display a backtick: \` \` (use double backticks)
- Display a backslash itself: \\\\
7. Full Example: Formatting a Product Announcement
# Version Update: v3.0 Officially Released
We are excited to announce that Product Pro v3.0 is live today!
New features:
1. Dark Mode — easier on the eyes, longer battery life
2. Smart Recommendations — tailored to your usage habits
3. Legacy dashboard → brand-new interactive dashboard
Install command:
npm install product-pro@latest
Note: v2.x users, please refer to the v3 migration guide
Expected result: A richly formatted product announcement with bold text highlighting key information, strikethrough for deprecated features, and horizontal rules separating sections.
❓ FAQ
--- is inside a code block.This is a Markdown tutorial reads better than This is aMarkdown tutorial. It's not a Markdown syntax requirement — it's a typographic convention.📖 Summary
- Bold with
**, italic with*, strikethrough with~~ - Horizontal rules with three or more
-,*, or_ - New paragraph with a blank line; line break within a paragraph with two trailing spaces
- Escape special characters with
\ - Stay consistent with your style — don't mix different syntaxes
📝 Exercises
-
Beginner: Write a short self-introduction in Markdown that includes bold (your name/skills), italic (your motto), strikethrough (an outdated piece of information), and a horizontal rule.
-
Intermediate: Write a few lines of text to verify the difference between trailing double-space and no-space line breaks. Then escape a
**symbol with\so it appears as literal asterisks instead of bold. -
Challenge: Write a product changelog that includes at least 2 new features (bold), 1 deprecated feature (strikethrough), 1 important note (bold + italic), and 3 horizontal rules. Make sure the formatting is clean and the hierarchy is clear.