Lecture 4: Typography and Font Styling in CSS
In this lecture, we'll explore how to style text using CSS. Typography is a critical aspect of web design that affects readability, user experience, and overall aesthetics. By the end of this lecture, you’ll know how to apply various font styles and control text appearance on your website.
Understanding Web Fonts
Web fonts allow you to use various typefaces on your website. You can use system fonts that are pre-installed on devices, or you can import custom fonts using services like Google Fonts.
1. System Fonts
System fonts are reliable because they are pre-installed on most devices, but they limit your design options.
- Example:
body {
font-family: Arial, sans-serif;
}
2. Google Fonts
Google Fonts offers a wide selection of web fonts that you can easily integrate into your website.
-
Example:
- First, include the font link in your HTML
<head>
:
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
- First, include the font link in your HTML
-
Then, apply the font in your CSS:
body { font-family: 'Roboto', sans-serif; }
Font Properties in CSS
CSS offers a variety of properties to style your fonts, including font size, weight, style, and more.
1. Font Size
You can control the size of the text using the font-size
property.
- Example:
h1 {
font-size: 36px;
}
p {
font-size: 16px;
}
2. Font Weight
The font-weight
property allows you to set how bold the text appears.
- Example:
h1 {
font-weight: bold; /* Or use numeric values like 700 */
}
3. Font Style
The font-style
property lets you italicize text.
- Example:
em {
font-style: italic;
}
4. Font Variant
Use font-variant
to display text in small caps.
- Example:
p.caps {
font-variant: small-caps;
}
5. Line Height
The line-height
property controls the space between lines of text.
- Example:
p {
line-height: 1.5;
}
6. Text Alignment
The text-align
property controls the horizontal alignment of text within an element.
- Example:
h1 {
text-align: center;
}
7. Text Decoration
The text-decoration
property allows you to add underlines, overlines, or strikethroughs to text.
- Example:
a {
text-decoration: underline;
}
8. Text Shadow
You can add a shadow effect to your text using the text-shadow
property.
- Example:
h2 {
text-shadow: 2px 2px 5px gray;
}
Practical Example:
Let’s combine these properties to style a webpage with a focus on typography.
HTML:
<div class="content">
<h1>Welcome to Our Blog</h1>
<h2>Latest Updates</h2>
<p class="intro">Stay updated with the latest trends in web development, design, and more.</p>
<p>Explore articles, tutorials, and resources to help you master the art of web design.</p>
</div>
CSS:
/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');
body {
font-family: 'Open Sans', sans-serif;
color: #333;
line-height: 1.6;
}
/* Heading Styles */
h1 {
font-size: 36px;
font-weight: 700;
text-align: center;
text-shadow: 2px 2px 4px #aaa;
}
h2 {
font-size: 28px;
font-weight: 700;
margin-top: 20px;
}
/* Paragraph Styles */
p {
font-size: 18px;
margin-bottom: 15px;
}
.intro {
font-style: italic;
font-variant: small-caps;
text-align: justify;
}
/* Centering the content */
.content {
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
In this example:
- The Google Font "Open Sans" is used for all text.
- The headings (
h1
,h2
) are styled with specific font sizes, weights, and text shadows. - Paragraphs are given a standard font size, with special styling applied to the
.intro
class, including italics and small caps. - The content is centered on the page with a max width and auto margins.
Practice Exercise
- Create an HTML page with various headings and paragraphs.
- Apply different font properties to style your text.
- Use a Google Font to give your webpage a unique look.
- Experiment with text alignment, decoration, and shadow effects.
Next Up: In the next lecture, we’ll discuss CSS Layouts: Floats, Flexbox, and Grid, where you’ll learn how to create complex and responsive layouts for your website. Stay tuned!
Follow me On LinkedIn
Ridoy Hasan
Top comments (0)