CSS fonts control how text appears on a webpage. With CSS, you can specify various properties like font family, size, weight, style, and line height to create visually appealing and readable typography
HTML
<!--Driver Code Starts{-->
<html>
<head>
<!--Driver Code Ends }-->
<style>
.gfg {
font-family: "Arial, Helvetica, sans-serif";
font-size: 60px;
color: #090;
text-align: center;
}
</style>
<!--Driver Code Starts{-->
</head>
<body>
<div class="gfg">GeeksforGeeks</div>
</body>
</html>
<!--Driver Code Ends }-->
- The code applies a green, 60px Arial font to the text “GeeksforGeeks” and centers it on the page.
- The text is styled using the .gfg class in the HTML.
Key Properties of CSS Fonts
To customize fonts effectively in web design, it’s crucial to understand the main CSS font properties:
- font-family: Specifies the font type.
- font-size: Determines the size of the text.
- font-weight: Adjusts the thickness of the text.
- font-style: Controls the slant of the text (e.g., italic).
- line-height: Sets the space between lines of text.
- letter-spacing: Modifies the space between characters.
- text-transform: Controls the capitalization of text.
How to Apply Fonts in CSS
1. font-family
The font-family property defines which font(s) should be used for text. You can provide a list of fonts as a fallback mechanism in case the preferred font is unavailable.
Syntax:
font-family: "Font Name", generic-font-name;
CSS
body {
font-family: "Arial", sans-serif;
}
In this example, the browser will first try to display the text in Arial. If Arial is not available, it will fall back to a sans-serif font.
2. font-size
The font-size property controls the size of the text. You can set the size in several units, including pixels (px), ems (em), and percentages (%).
Syntax:
font-size: value;
CSS
h1 {
font-size: 32px; /* Pixels */
}
p {
font-size: 1.2em; /* Relative to the parent element */
}
- Pixels (px) provide a fixed font size.
- Ems (em) are relative to the parent element’s font size, making them useful for responsive design.
3. font-weight
The font-weight property controls the thickness of the text. It can accept values like normal, bold, or numeric values (100 to 900).
Syntax:
font-weight: value;
CSS
p {
font-weight: bold; /* Bold text */
}
strong {
font-weight: 700; /* Equivalent to bold */
}
Numeric values allow for finer control over weight (e.g., 100 for light, 900 for extra bold).
4. font-style
The font-style property defines the style of the font, typically italic or normal.
Syntax:
font-style: value;
CSS
em {
font-style: italic; /* Italicized text */
}
p {
font-style: normal; /* Normal text */
}
5. line-height
The line-height property defines the space between lines of text. Increasing line height improves readability, especially for long paragraphs.
Syntax:
line-height: value;
CSS
p {
line-height: 1.5; /* 1.5 times the font size */
}
Web Safe Fonts vs. Custom Fonts
1. Web Safe Fonts
Web safe fonts are commonly supported across all browsers and operating systems. These fonts are pre-installed on most computers, ensuring your text appears the same across devices.
Common Web Safe Fonts
- Arial
- Times New Roman
- Courier New
- Verdana
- Georgia
CSS
body {
font-family: "Verdana", sans-serif;
}
2. Custom Fonts
Custom fonts allow you to use fonts that are not pre-installed on a user’s device. You can load them using web fonts. The most popular method for using custom fonts is through Google Fonts, or by hosting fonts on your own server.
HTML
<head>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
</head>
<body>
<h1 style="font-family: 'Roboto', sans-serif;">Hello, World!</h1>
</body>
Responsive Typography
To make typography adaptable to different screen sizes, use responsive units like em, rem, %, or vw for font sizes. You can also combine CSS media queries with typography to ensure readability across devices.
CSS
body {
font-size: 16px; /* Default font size */
}
@media (max-width: 600px) {
body {
font-size: 14px; /* Smaller font on smaller screens */
}
}
- em and rem: These units are relative to the parent element or root element’s font size, allowing better scaling.
- vw (viewport width): This unit scales the font size based on the width of the viewport, which is great for fluid layouts.
Best Practices for Using CSS Fonts
- Limit the Number of Fonts: Avoid using too many font types on one page. Stick to 2-3 font families to maintain consistency and improve loading times.
- Fallback Fonts: Always define fallback fonts to ensure readability in case the primary font is unavailable.
- Readability: Choose fonts that are easy to read on all screen sizes, especially for body text.
- Font Loading Optimization: If you’re using custom fonts, optimize the loading process by only including necessary font weights and styles
Similar Reads
CSS Tutorial
CSS stands for Cascading Style Sheets. It is a stylesheet language used to style and enhance website presentation. CSS is one of the main three components of a webpage along with HTML and JavaScript.HTML adds Structure to a web page.JavaScript adds logic to it and CSS makes it visually appealing or
6 min read
CSS Introduction
CSS (Cascading Style Sheets) is a language designed to simplify the process of making web pages presentable. It allows you to apply styles to HTML documents by prescribing colors, fonts, spacing, and positioning.The main advantages are the separation of content (in HTML) and styling (in CSS) and the
5 min read
CSS Syntax
CSS (Cascading Style Sheets) is a stylesheet language used to describe the presentation of a document written in HTML. Understanding CSS syntax is fundamental for creating visually appealing and well-structured web pages. Basic CSS SyntaxCSS is written as rulesets. A ruleset consists of a selector a
6 min read
CSS Selectors
CSS selectors are used to target HTML elements on your pages, allowing you to apply styles based on their ID, class, type attributes, and more. There are mainly 5 types of selectors.Basic CSS Selectors: These are used to target elements by tag, .class, or #id for fundamental styling needs.Combinator
7 min read
CSS Comments
CSS comments are used to add notes or explanations to your code, helping you and others understand it better. They start with /* and end with */ and can be used for both single-line and multi-line comments. Note: Comments are ignored by browsers, so they wonât affect how your webpage looks or works.
2 min read
CSS Colors
CSS colors are used to set the color of different parts of a webpage, like text, background, and borders. This helps make the page look more attractive and easier to read. You can define colors using names, hex codes, RGB values, and more. You can try different formats of colors here- #content-ifram
6 min read
CSS Borders
Borders in CSS are used to create a visible outline around an element. They can be customized in terms of Width: The thickness of the border.Style: The appearance of the border (solid, dashed, dotted, etc.).Color: The color of the border.You can try different types of borders here- #custom-iframe{ h
6 min read
CSS Margins
CSS margins are used to create space around an element, separating it from neighboring elements and the edges of the webpage. They control the layout by adjusting the distance between elements, providing better organization and readability. Syntax:body { margin: value;}[GFGTABS] HTML <!--Driver C
4 min read
CSS Height and Width
Height and Width in CSS are used to set the height and width of boxes. Their values can be set using length, percentage, or auto. Width and HeightThe width and height properties in CSS are used to define the dimensions of an element. The values can be set in various units, such as pixels (px), centi
4 min read
CSS Outline
CSS outline is a property used to draw a line around an element's border. It does not affect the layout, unlike borders. It's often used to highlight elements, providing a visual emphasis without altering the dimensions of the element. Syntaxselector{ outline: outline-width outline-type outline-colo
4 min read