CINXE.COM
Fundamental text and font styling - Learn web development | MDN
<!doctype html> <html lang="en-US" prefix="og: https://ogp.me/ns#"> <head> <base href="https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="icon" href="https://developer.mozilla.org/favicon-48x48.bc390275e955dacb2e65.png"> <link rel="apple-touch-icon" href="https://developer.mozilla.org/apple-touch-icon.528534bba673c38049c2.png"> <meta name="theme-color" content="#ffffff"> <link rel="manifest" href="https://developer.mozilla.org/manifest.f42880861b394dd4dc9b.json"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="MDN Web Docs"> <title>Fundamental text and font styling - Learn web development | MDN</title> <link rel="alternate" title="Grundlegende Text- und Schriftgestaltung" href="https://developer.mozilla.org/de/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="de"> <link rel="alternate" title="Fundamentos de texto y fuentes tipográficas" href="https://developer.mozilla.org/es/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="es"> <link rel="alternate" title="Initiation à la mise en forme du texte" href="https://developer.mozilla.org/fr/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="fr"> <link rel="alternate" title="基本的なテキストとフォントのスタイル設定" href="https://developer.mozilla.org/ja/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="ja"> <link rel="alternate" title="기본적인 텍스트 및 글꼴 스타일링" href="https://developer.mozilla.org/ko/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="ko"> <link rel="alternate" title="Основы стилизирования текста и шрифта" href="https://developer.mozilla.org/ru/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="ru"> <link rel="alternate" title="基本文本和字体样式" href="https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="zh"> <link rel="alternate" title="Fundamental text and font styling" href="https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals" hreflang="en"> <link rel="preload" as="font" type="font/woff2" href="/static/media/Inter.var.c2fe3cb2b7c746f7966a.woff2" crossorigin=""> <link rel="alternate" type="application/rss+xml" title="MDN Blog RSS Feed" href="https://developer.mozilla.org/en-US/blog/rss.xml" hreflang="en"> <meta name="description" content="In this article we'll start you on your journey towards mastering text styling with CSS. Here we'll go through all the basic fundamentals of text/font styling in detail, including setting font weight, family and style, font shorthand, text alignment and other effects, and line and letter spacing."> <meta property="og:url" content="https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals"> <meta property="og:title" content="Fundamental text and font styling - Learn web development | MDN"> <meta property="og:type" content="website"> <meta property="og:locale" content="en_US"> <meta property="og:description" content="In this article we'll start you on your journey towards mastering text styling with CSS. Here we'll go through all the basic fundamentals of text/font styling in detail, including setting font weight, family and style, font shorthand, text alignment and other effects, and line and letter spacing."> <meta property="og:image" content="https://developer.mozilla.org/mdn-social-share.d893525a4fb5fb1f67a2.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:height" content="1080"> <meta property="og:image:width" content="1920"> <meta property="og:image:alt" content="The MDN Web Docs logo, featuring a blue accent color, displayed on a solid black background."> <meta property="og:site_name" content="MDN Web Docs"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:creator" content="MozDevNet"> <link rel="canonical" href="https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals"> <style media="print">.article-actions-container,.document-toc-container,.language-menu,.main-menu-toggle,.on-github,.page-footer,.place,.sidebar,.top-banner,.top-navigation-main,ul.prev-next{display:none!important}.main-page-content,.main-page-content pre{padding:2px}.main-page-content pre{border-left-width:2px}</style> <script src="/static/js/gtag.js" defer></script> <script defer src="/static/js/main.30156711.js"></script> <link href="/static/css/main.f41bc727.css" rel="stylesheet"> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="fr"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1_qyHg0XphE.O/am=DAY/d=1/rs=AN8SPfo_O3MiUOHLzIFK2FbMzbiipwQcbg/m=corsproxy" data-sourceurl="https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1_qyHg0XphE.O/am=DAY/d=1/exm=corsproxy/ed=1/rs=AN8SPfo_O3MiUOHLzIFK2FbMzbiipwQcbg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals"></script> <meta name="robots" content="none"> </head> <body> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1_qyHg0XphE.O/am=DAY/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfo_O3MiUOHLzIFK2FbMzbiipwQcbg/m=navigationui" data-environment="prod" data-proxy-url="https://developer-mozilla-org.translate.goog" data-proxy-full-url="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" data-source-url="https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals" data-source-language="pl" data-target-language="fr" data-display-language="en-GB" data-detected-source-language="" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals&anno=2" data-client="tr"></script> <script>if(document.body.addEventListener("load",(t=>{t.target.classList.contains("interactive")&&t.target.setAttribute("data-readystate","complete")}),{capture:!0}),window&&document.documentElement){const t={light:"#ffffff",dark:"#1b1b1b"};try{const e=window.localStorage.getItem("theme");e&&(document.documentElement.className=e,document.documentElement.style.backgroundColor=t[e]);const o=window.localStorage.getItem("nop");o&&(document.documentElement.dataset.nop=o)}catch(t){console.warn("Unable to read theme from localStorage",t)}}</script> <div id="root"> <ul id="nav-access" class="a11y-nav"> <li><a id="skip-main" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#content">Skip to main content</a></li> <li><a id="skip-search" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#top-nav-search-input">Skip to search</a></li> <li><a id="skip-select-language" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#languages-switcher-button">Skip to select language</a></li> </ul> <div class="page-wrapper category-css document-page"> <div class="top-banner loading"> <section class="place top container"></section> </div> <div class="sticky-header-container"> <header class="top-navigation "> <div class="container "> <div class="top-navigation-wrap"> <a href="https://developer-mozilla-org.translate.goog/en-US/?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="logo" aria-label="MDN homepage"> <svg id="mdn-docs-logo" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewbox="0 0 694.9 104.4" style="enable-background:new 0 0 694.9 104.4" xml:space="preserve" role="img"> <title>MDN Web Docs</title><path d="M40.3 0 11.7 92.1H0L28.5 0h11.8zm10.4 0v92.1H40.3V0h10.4zM91 0 62.5 92.1H50.8L79.3 0H91zm10.4 0v92.1H91V0h10.4z" class="logo-m"></path><path d="M627.9 95.6h67v8.8h-67v-8.8z" class="logo-_"></path><path d="M367 42h-4l-10.7 30.8h-5.5l-10.8-26h-.4l-10.5 26h-5.2L308.7 42h-3.8v-5.6H323V42h-6.5l6.8 20.4h.4l10.3-26h4.7l11.2 26h.5l5.7-20.3h-6.2v-5.6H367V42zm34.9 20c-.4 3.2-2 5.9-4.7 8.2-2.8 2.3-6.5 3.4-11.3 3.4-5.4 0-9.7-1.6-13.1-4.7-3.3-3.2-5-7.7-5-13.7 0-5.7 1.6-10.3 4.7-14s7.4-5.5 12.9-5.5c5.1 0 9.1 1.6 11.9 4.7s4.3 6.9 4.3 11.3c0 1.5-.2 3-.5 4.7h-25.6c.3 7.7 4 11.6 10.9 11.6 2.9 0 5.1-.7 6.5-2 1.5-1.4 2.5-3 3-4.9l6 .9zM394 51.3c.2-2.4-.4-4.7-1.8-6.9s-3.8-3.3-7-3.3c-3.1 0-5.3 1-6.9 3-1.5 2-2.5 4.4-2.8 7.2H394zm51 2.4c0 5-1.3 9.5-4 13.7s-6.9 6.2-12.7 6.2c-6 0-10.3-2.2-12.7-6.7-.1.4-.2 1.4-.4 2.9s-.3 2.5-.4 2.9h-7.3c.3-1.7.6-3.5.8-5.3.3-1.8.4-3.7.4-5.5V22.3h-6v-5.6H416v27c1.1-2.2 2.7-4.1 4.7-5.7 2-1.6 4.8-2.4 8.4-2.4 4.6 0 8.4 1.6 11.4 4.7 3 3.2 4.5 7.6 4.5 13.4zm-7.7.6c0-4.2-1-7.4-3-9.5-2-2.2-4.4-3.3-7.4-3.3-3.4 0-6 1.2-8 3.7-1.9 2.4-2.9 5-3 7.7V57c0 3 1 5.6 3 7.7s4.5 3.1 7.6 3.1c3.6 0 6.3-1.3 8.1-3.9 1.8-2.7 2.7-5.9 2.7-9.6zm69.2 18.5h-13.2v-7.2c-1.2 2.2-2.8 4.1-4.9 5.6-2.1 1.6-4.8 2.4-8.3 2.4-4.8 0-8.7-1.6-11.6-4.9-2.9-3.2-4.3-7.7-4.3-13.3 0-5 1.3-9.6 4-13.7 2.6-4.1 6.9-6.2 12.8-6.2 5.7 0 9.8 2.2 12.3 6.5V22.3h-8.6v-5.6h15.8v50.6h6v5.5zM493.2 56v-4.4c-.1-3-1.2-5.5-3.2-7.3s-4.4-2.8-7.2-2.8c-3.6 0-6.3 1.3-8.2 3.9-1.9 2.6-2.8 5.8-2.8 9.6 0 4.1 1 7.3 3 9.5s4.5 3.3 7.4 3.3c3.2 0 5.8-1.3 7.8-3.8 2.1-2.6 3.1-5.3 3.2-8zm53.1-1.4c0 5.6-1.8 10.2-5.3 13.7s-8.2 5.3-13.9 5.3-10.1-1.7-13.4-5.1c-3.3-3.4-5-7.9-5-13.5 0-5.3 1.6-9.9 4.7-13.7 3.2-3.8 7.9-5.7 14.2-5.7s11 1.9 14.1 5.7c3 3.7 4.6 8.1 4.6 13.3zm-7.7-.2c0-4-1-7.2-3-9.5s-4.8-3.5-8.2-3.5c-3.6 0-6.4 1.2-8.3 3.7s-2.9 5.6-2.9 9.5c0 3.7.9 6.8 2.8 9.4 1.9 2.6 4.6 3.9 8.3 3.9 3.6 0 6.4-1.3 8.4-3.8 1.9-2.6 2.9-5.8 2.9-9.7zm45 5.8c-.4 3.2-1.9 6.3-4.4 9.1-2.5 2.9-6.4 4.3-11.8 4.3-5.2 0-9.4-1.6-12.6-4.8-3.2-3.2-4.8-7.7-4.8-13.7 0-5.5 1.6-10.1 4.7-13.9 3.2-3.8 7.6-5.7 13.2-5.7 2.3 0 4.6.3 6.7.8 2.2.5 4.2 1.5 6.2 2.9l1.5 9.5-5.9.7-1.3-6.1c-2.1-1.2-4.5-1.8-7.2-1.8-3.5 0-6.1 1.2-7.7 3.7-1.7 2.5-2.5 5.7-2.5 9.6 0 4.1.9 7.3 2.7 9.5 1.8 2.3 4.4 3.4 7.8 3.4 5.2 0 8.2-2.9 9.2-8.8l6.2 1.3zm34.7 1.9c0 3.6-1.5 6.5-4.6 8.5s-7 3-11.7 3c-5.7 0-10.6-1.2-14.6-3.6l1.2-8.8 5.7.6-.2 4.7c1.1.5 2.3.9 3.6 1.1s2.6.3 3.9.3c2.4 0 4.5-.4 6.5-1.3 1.9-.9 2.9-2.2 2.9-4.1 0-1.8-.8-3.1-2.3-3.8s-3.5-1.3-5.8-1.7-4.6-.9-6.9-1.4c-2.3-.6-4.2-1.6-5.7-2.9-1.6-1.4-2.3-3.5-2.3-6.3 0-4.1 1.5-6.9 4.6-8.5s6.4-2.4 9.9-2.4c2.6 0 5 .3 7.2.9 2.2.6 4.3 1.4 6.1 2.4l.8 8.8-5.8.7-.8-5.7c-2.3-1-4.7-1.6-7.2-1.6-2.1 0-3.7.4-5.1 1.1-1.3.8-2 2-2 3.8 0 1.7.8 2.9 2.3 3.6 1.5.7 3.4 1.2 5.7 1.6 2.2.4 4.5.8 6.7 1.4 2.2.6 4.1 1.6 5.7 3 1.4 1.6 2.2 3.7 2.2 6.6zM197.6 73.2h-17.1v-5.5h3.8V51.9c0-3.7-.7-6.3-2.1-7.9-1.4-1.6-3.3-2.3-5.7-2.3-3.2 0-5.6 1.1-7.2 3.4s-2.4 4.6-2.5 6.9v15.6h6v5.5h-17.1v-5.5h3.8V51.9c0-3.8-.7-6.4-2.1-7.9-1.4-1.5-3.3-2.3-5.6-2.3-3.2 0-5.5 1.1-7.2 3.3-1.6 2.2-2.4 4.5-2.5 6.9v15.8h6.9v5.5h-20.2v-5.5h6V42.4h-6.1v-5.6h13.4v6.4c1.2-2.1 2.7-3.8 4.7-5.2 2-1.3 4.4-2 7.3-2s5.3.7 7.5 2.1c2.2 1.4 3.7 3.5 4.5 6.4 1.1-2.5 2.7-4.5 4.9-6.1s4.8-2.4 7.9-2.4c3.5 0 6.5 1.1 8.9 3.3s3.7 5.6 3.7 10.2v18.2h6.1v5.5zm42.5 0h-13.2V66c-1.2 2.2-2.8 4.1-4.9 5.6-2.1 1.6-4.8 2.4-8.3 2.4-4.8 0-8.7-1.6-11.6-4.9-2.9-3.2-4.3-7.7-4.3-13.3 0-5 1.3-9.6 4-13.7 2.6-4.1 6.9-6.2 12.8-6.2s9.8 2.2 12.3 6.5V22.7h-8.6v-5.6h15.8v50.6h6v5.5zm-13.3-16.8V52c-.1-3-1.2-5.5-3.2-7.3s-4.4-2.8-7.2-2.8c-3.6 0-6.3 1.3-8.2 3.9-1.9 2.6-2.8 5.8-2.8 9.6 0 4.1 1 7.3 3 9.5s4.5 3.3 7.4 3.3c3.2 0 5.8-1.3 7.8-3.8 2.1-2.6 3.1-5.3 3.2-8zm61.5 16.8H269v-5.5h6V51.9c0-3.7-.7-6.3-2.2-7.9-1.4-1.6-3.4-2.3-5.7-2.3-3.1 0-5.6 1-7.4 3s-2.8 4.4-2.9 7v15.9h6v5.5h-19.3v-5.5h6V42.4h-6.2v-5.6h13.6V43c2.6-4.6 6.8-6.9 12.7-6.9 3.6 0 6.7 1.1 9.2 3.3s3.7 5.6 3.7 10.2v18.2h6v5.4h-.2z" class="logo-text"></path> </svg></a><button title="Open main menu" type="button" class="button action has-icon main-menu-toggle" aria-haspopup="menu" aria-label="Open main menu" aria-expanded="false"><span class="button-wrap"><span class="icon icon-menu "></span><span class="visually-hidden">Open main menu</span></span></button> </div> <div class="top-navigation-main"> <nav class="main-nav" aria-label="Main menu"> <ul class="main-menu nojs"> <li class="top-level-entry-container "><button type="button" id="references-button" class="top-level-entry menu-toggle" aria-controls="references-menu" aria-expanded="false">References</button><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="top-level-entry">References</a> <ul id="references-menu" class="submenu references hidden inline-submenu-lg" aria-labelledby="references-button"> <li class="apis-link-container mobile-only "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Overview / Web Technology </div> <p class="submenu-item-description">Web technology reference for developers</p> </div></a></li> <li class="html-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon html"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> HTML </div> <p class="submenu-item-description">Structure of content on the web</p> </div></a></li> <li class="css-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon css"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> CSS </div> <p class="submenu-item-description">Code used to describe document style</p> </div></a></li> <li class="javascript-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon javascript"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> JavaScript </div> <p class="submenu-item-description">General-purpose scripting language</p> </div></a></li> <li class="http-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTTP?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon http"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> HTTP </div> <p class="submenu-item-description">Protocol for transmitting web resources</p> </div></a></li> <li class="apis-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/API?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon apis"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Web APIs </div> <p class="submenu-item-description">Interfaces for building web applications</p> </div></a></li> <li class="apis-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Mozilla/Add-ons/WebExtensions?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Web Extensions </div> <p class="submenu-item-description">Developing extensions for web browsers</p> </div></a></li> <li class="apis-link-container desktop-only "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Web Technology </div> <p class="submenu-item-description">Web technology reference for developers</p> </div></a></li> </ul></li> <li class="top-level-entry-container active"><button type="button" id="guides-button" class="top-level-entry menu-toggle" aria-controls="guides-menu" aria-expanded="false">Guides</button><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="top-level-entry">Guides</a> <ul id="guides-menu" class="submenu guides hidden inline-submenu-lg" aria-labelledby="guides-button"> <li class="apis-link-container mobile-only "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon learn"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Overview / MDN Learning Area </div> <p class="submenu-item-description">Learn web development</p> </div></a></li> <li class="apis-link-container desktop-only "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon learn"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> MDN Learning Area </div> <p class="submenu-item-description">Learn web development</p> </div></a></li> <li class="html-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon html"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> HTML </div> <p class="submenu-item-description">Learn to structure web content with HTML</p> </div></a></li> <li class="css-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon css"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> CSS </div> <p class="submenu-item-description">Learn to style content using CSS</p> </div></a></li> <li class="javascript-link-container "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon javascript"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> JavaScript </div> <p class="submenu-item-description">Learn to run scripts in the browser</p> </div></a></li> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/Accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Accessibility </div> <p class="submenu-item-description">Learn to make the web accessible to all</p> </div></a></li> </ul></li> <li class="top-level-entry-container "><button type="button" id="mdn-plus-button" class="top-level-entry menu-toggle" aria-controls="mdn-plus-menu" aria-expanded="false">Plus</button><a href="https://developer-mozilla-org.translate.goog/en-US/plus?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="top-level-entry">Plus</a> <ul id="mdn-plus-menu" class="submenu mdn-plus hidden inline-submenu-lg" aria-labelledby="mdn-plus-button"> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/plus?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Overview </div> <p class="submenu-item-description">A customized MDN experience</p> </div></a></li> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/plus/ai-help?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> AI Help </div> <p class="submenu-item-description">Get real-time assistance and support</p> </div></a></li> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/plus/updates?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Updates </div> <p class="submenu-item-description">All browser compatibility updates at a glance</p> </div></a></li> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/plus/docs/features/overview?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Documentation </div> <p class="submenu-item-description">Learn how to use MDN Plus</p> </div></a></li> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/plus/docs/faq?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> FAQ </div> <p class="submenu-item-description">Frequently asked questions about MDN Plus</p> </div></a></li> </ul></li> <li class="top-level-entry-container "><a class="top-level-entry menu-link" href="https://developer-mozilla-org.translate.goog/en-US/curriculum/?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Curriculum <sup class="new">New</sup></a></li> <li class="top-level-entry-container "><a class="top-level-entry menu-link" href="https://developer-mozilla-org.translate.goog/en-US/blog/?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Blog</a></li> <li class="top-level-entry-container "><button type="button" id="tools-button" class="top-level-entry menu-toggle" aria-controls="tools-menu" aria-expanded="false">Tools</button> <ul id="tools-menu" class="submenu tools hidden inline-submenu-lg" aria-labelledby="tools-button"> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/play?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> Playground </div> <p class="submenu-item-description">Write, test and share your code</p> </div></a></li> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/observatory?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> HTTP Observatory </div> <p class="submenu-item-description">Scan a website for free</p> </div></a></li> <li class=" "><a href="https://developer-mozilla-org.translate.goog/en-US/plus/ai-help?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="submenu-item "> <div class="submenu-icon"></div> <div class="submenu-content-container"> <div class="submenu-item-heading"> AI Help </div> <p class="submenu-item-description">Get real-time assistance and support</p> </div></a></li> </ul></li> </ul> </nav> <div class="header-search"> <form action="/en-US/search" class="search-form search-widget" id="top-nav-search-form" role="search"> <label id="top-nav-search-label" for="top-nav-search-input" class="visually-hidden">Search MDN</label><input aria-activedescendant="" aria-autocomplete="list" aria-controls="top-nav-search-menu" aria-expanded="false" aria-labelledby="top-nav-search-label" autocomplete="off" id="top-nav-search-input" role="combobox" type="search" class="search-input-field" name="q" placeholder=" " required value=""><button type="button" class="button action has-icon clear-search-button"><span class="button-wrap"><span class="icon icon-cancel "></span><span class="visually-hidden">Clear search input</span></span></button><button type="submit" class="button action has-icon search-button"><span class="button-wrap"><span class="icon icon-search "></span><span class="visually-hidden">Search</span></span></button> <div id="top-nav-search-menu" role="listbox" aria-labelledby="top-nav-search-label"></div> </form> </div> <div class="theme-switcher-menu"> <button type="button" class="button action has-icon theme-switcher-menu small" aria-haspopup="menu"><span class="button-wrap"><span class="icon icon-theme-os-default "></span>Theme</span></button> </div> <ul class="auth-container"> <li><a href="https://developer-mozilla-org.translate.goog/users/fxa/login/authenticate/?next=/en-US/docs/Learn/CSS/Styling_text/Fundamentals&_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="login-link" rel="nofollow">Log in</a></li> <li><a href="https://developer-mozilla-org.translate.goog/users/fxa/login/authenticate/?next=/en-US/docs/Learn/CSS/Styling_text/Fundamentals&_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" target="_self" rel="nofollow" class="button primary mdn-plus-subscribe-link"><span class="button-wrap">Sign up for free</span></a></li> </ul> </div> </div> </header> <div class="article-actions-container"> <div class="container"> <button type="button" class="button action has-icon sidebar-button" aria-label="Expand sidebar" aria-expanded="false" aria-controls="sidebar-quicklinks"><span class="button-wrap"><span class="icon icon-sidebar "></span></span></button> <nav class="breadcrumbs-container" aria-label="Breadcrumb"> <ol typeof="BreadcrumbList" vocab="https://schema.org/" aria-label="breadcrumbs"> <li property="itemListElement" typeof="ListItem"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="breadcrumb" property="item" typeof="WebPage"><span property="name">Guides</span></a> <meta property="position" content="1"></li> <li property="itemListElement" typeof="ListItem"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="breadcrumb" property="item" typeof="WebPage"><span property="name">CSS</span></a> <meta property="position" content="2"></li> <li property="itemListElement" typeof="ListItem"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="breadcrumb" property="item" typeof="WebPage"><span property="name">CSS styling text</span></a> <meta property="position" content="3"></li> <li property="itemListElement" typeof="ListItem"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="breadcrumb-current-page" property="item" typeof="WebPage"><span property="name">Fundamental text and font styling</span></a> <meta property="position" content="4"></li> </ol> </nav> <div class="article-actions"> <button type="button" class="button action has-icon article-actions-toggle" aria-label="Article actions"><span class="button-wrap"><span class="icon icon-ellipses "></span><span class="article-actions-dialog-heading">Article Actions</span></span></button> <ul class="article-actions-entries"> <li class="article-actions-entry"> <div class="languages-switcher-menu open-on-focus-within"> <button id="languages-switcher-button" type="button" class="button action small has-icon languages-switcher-menu" aria-haspopup="menu"><span class="button-wrap"><span class="icon icon-language "></span>English (US)</span></button> <div class="hidden"> <ul class="submenu language-menu " aria-labelledby="language-menu-button"> <li class=" "> <form class="submenu-item locale-redirect-setting"> <div class="group"> <label class="switch"><input type="checkbox" name="locale-redirect"><span class="slider"></span><span class="label">Remember language</span></label><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://github.com/orgs/mdn/discussions/739" rel="external noopener noreferrer" target="_blank" title="Enable this setting to automatically switch to this language when it's available. (Click to learn more.)"><span class="icon icon-question-mark "></span></a> </div> </form></li> <li class=" "><a data-locale="de" href="https://developer-mozilla-org.translate.goog/de/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="button submenu-item"><span>Deutsch</span><span title="Diese Übersetzung ist Teil eines Experiments."><span class="icon icon-experimental "></span></span></a></li> <li class=" "><a data-locale="es" href="https://developer-mozilla-org.translate.goog/es/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="button submenu-item"><span>Español</span></a></li> <li class=" "><a data-locale="fr" href="https://developer-mozilla-org.translate.goog/fr/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="button submenu-item"><span>Français</span></a></li> <li class=" "><a data-locale="ja" href="https://developer-mozilla-org.translate.goog/ja/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="button submenu-item"><span>日本語</span></a></li> <li class=" "><a data-locale="ko" href="https://developer-mozilla-org.translate.goog/ko/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="button submenu-item"><span>한국어</span></a></li> <li class=" "><a data-locale="ru" href="https://developer-mozilla-org.translate.goog/ru/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="button submenu-item"><span>Русский</span></a></li> <li class=" "><a data-locale="zh-CN" href="https://developer-mozilla-org.translate.goog/zh-CN/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="button submenu-item"><span>中文 (简体)</span></a></li> </ul> </div> </div></li> </ul> </div> </div> </div> </div> <div class="main-wrapper"> <div class="sidebar-container"> <aside id="sidebar-quicklinks" class="sidebar"> <button type="button" class="button action backdrop" aria-label="Collapse sidebar"><span class="button-wrap"></span></button> <nav aria-label="Related Topics" class="sidebar-inner"> <header class="sidebar-actions"> <section class="sidebar-filter-container"> <div class="sidebar-filter "> <label id="sidebar-filter-label" class="sidebar-filter-label" for="sidebar-filter-input"><span class="icon icon-filter"></span><span class="visually-hidden">Filter sidebar</span></label><input id="sidebar-filter-input" autocomplete="off" class="sidebar-filter-input-field false" type="text" placeholder="Filter" value=""><button type="button" class="button action has-icon clear-sidebar-filter-button"><span class="button-wrap"><span class="icon icon-cancel "></span><span class="visually-hidden">Clear filter input</span></span></button> </div> </section> </header> <div class="sidebar-inner-nav"> <div class="in-nav-toc"> <div class="document-toc-container"> <section class="document-toc"> <header> <h2 class="document-toc-heading">In this article</h2> </header> <ul class="document-toc-list"> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#what_is_involved_in_styling_text_in_css">What is involved in styling text in CSS?</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#fonts">Fonts</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#text_layout">Text layout</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#font_shorthand">Font shorthand</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#active_learning_playing_with_styling_text">Active learning: Playing with styling text</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#summary">Summary</a></li> </ul> </section> </div> </div> <div class="sidebar-body"> <ol> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Complete beginners start here!</a></li> <li class="toggle"> <details> <summary>Getting started with the web</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with the web</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/Installing_basic_software?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Installing basic software</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/What_will_your_website_look_like?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">What will your website look like?</a><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/Dealing_with_files?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Dealing with files</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/HTML_basics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML basics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/CSS_basics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS basics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">JavaScript basics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/Publishing_your_website?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Publishing your website</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">How the web works</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML — Structuring the web</a></li> <li class="toggle"> <details> <summary>Introduction to HTML</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to HTML</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with HTML</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">What's in the head? Metadata in HTML</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML text fundamentals</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Creating hyperlinks</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_formatting?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Advanced text formatting</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/Document_and_website_structure?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Document and website structure</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/Debugging_HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Debugging HTML</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/Marking_up_a_letter?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Marking up a letter</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Structuring a page of content</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Multimedia and embedding</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Multimedia_and_embedding?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Multimedia and embedding</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Multimedia_and_embedding/Images_in_HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Images in HTML</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Video and audio content</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Multimedia_and_embedding/Other_embedding_technologies?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">From object to iframe — other embedding technologies</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Adding vector graphics to the web</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Responsive images</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Multimedia_and_embedding/Mozilla_splash_page?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Mozilla splash page</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>HTML tables</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Tables?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML tables</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Tables/Basics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML table basics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Tables/Advanced?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML table advanced features and accessibility</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Tables/Structuring_planet_data?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Structuring planet data</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS — Styling the web</a></li> <li class="toggle"> <details> <summary>CSS first steps</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/First_steps?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS first steps</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/First_steps/What_is_CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">What is CSS?</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/First_steps/Getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with CSS</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/First_steps/How_CSS_is_structured?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">How CSS is structured</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/First_steps/How_CSS_works?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">How CSS works</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/First_steps/Styling_a_biography_page?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Styling a biography page</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>CSS building blocks</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS building blocks</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Selectors?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS selectors</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Selectors/Type_Class_and_ID_Selectors?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Type, class, and ID selectors</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Selectors/Attribute_selectors?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Attribute selectors</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Selectors/Pseudo-classes_and_pseudo-elements?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Pseudo-classes and pseudo-elements</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Selectors/Combinators?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Combinators</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Cascade, specificity, and inheritance</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Cascade_layers?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Cascade layers</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/The_box_model?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">The box model</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Backgrounds_and_borders?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Backgrounds and borders</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Handling_different_text_directions?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Handling different text directions</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Overflowing_content?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Overflowing content</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS values and units</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Sizing_items_in_CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Sizing items in CSS</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Images_media_form_elements?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Images, media, and form elements</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Styling_tables?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Styling tables</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Advanced_styling_effects?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Advanced styling effects</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Debugging_CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Debugging CSS</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Organizing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Organizing your CSS</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Fundamental_CSS_comprehension?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Fundamental CSS comprehension</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Creating_fancy_letterheaded_paper?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Creating fancy letterheaded paper</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/A_cool_looking_box?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">A cool-looking box</a></li> </ol> </details></li> <li class="toggle"> <details open> <summary>Styling text</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS styling text</a></li> <li><em><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" aria-current="page">Fundamental text and font styling</a></em></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Styling_lists?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Styling lists</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Styling_links?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Styling links</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Web_fonts?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Web fonts</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Typesetting_a_homepage?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Typesetting a community school homepage</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>CSS layout</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS layout</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to CSS layout</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Normal_Flow?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Normal Flow</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Flexbox?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Flexbox</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Grids?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Grids</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Floats?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Floats</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Positioning?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Positioning</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Multiple-column_Layout?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Multiple-column layout</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Responsive design</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Media_queries?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Beginner's guide to media queries</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Legacy_Layout_Methods?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Legacy layout methods</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Supporting_Older_Browsers?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Supporting older browsers</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/CSS_layout/Fundamental_Layout_Comprehension?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Fundamental layout comprehension</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">JavaScript — Dynamic client-side scripting</a></li> <li class="toggle"> <details> <summary>JavaScript first steps</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">JavaScript first steps</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/What_is_JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">What is JavaScript?</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/A_first_splash?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">A first splash into JavaScript</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/What_went_wrong?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">What went wrong? Troubleshooting JavaScript</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/Variables?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Storing the information you need — Variables</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/Math?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Basic math in JavaScript — numbers and operators</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/Strings?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Handling text — strings in JavaScript</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/Useful_string_methods?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Useful string methods</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/Arrays?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Arrays</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/First_steps/Silly_story_generator?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Silly story generator</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>JavaScript building blocks</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">JavaScript building blocks</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/conditionals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Making decisions in your code — conditionals</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/Looping_code?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Looping code</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/Functions?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Functions — reusable blocks of code</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/Build_your_own_function?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Build your own function</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/Return_values?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Function return values</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/Events?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to events</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/Event_bubbling?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Event bubbling</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Building_blocks/Image_gallery?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Image gallery</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Introducing JavaScript objects</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introducing JavaScript objects</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects/Basics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">JavaScript object basics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects/Object_prototypes?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Object prototypes</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects/Object-oriented_programming?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Object-oriented programming</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Classes in JavaScript</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects/JSON?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Working with JSON</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects/Object_building_practice?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Object building practice</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Objects/Adding_bouncing_balls_features?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Adding features to our bouncing balls demo</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Asynchronous JavaScript</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Asynchronous?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Asynchronous JavaScript</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Asynchronous/Introducing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introducing asynchronous JavaScript</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Asynchronous/Promises?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">How to use promises</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Asynchronous/Implementing_a_promise-based_API?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">How to implement a promise-based API</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Asynchronous/Introducing_workers?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introducing workers</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Asynchronous/Sequencing_animations?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Sequencing animations</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Client-side web APIs</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Client-side web APIs</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to web APIs</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Manipulating_documents?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Manipulating documents</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Fetching_data?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Fetching data from the server</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Third_party_APIs?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Third-party APIs</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Drawing_graphics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Drawing graphics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Video_and_audio_APIs?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Video and Audio APIs</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Client-side_storage?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Client-side storage</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Web forms — Working with user data</a></li> <li class="toggle"> <details> <summary>Web form building blocks</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Web form building blocks</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Your_first_form?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Your first form</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/How_to_structure_a_web_form?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">How to structure a web form</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Basic_native_form_controls?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Basic native form controls</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/HTML5_input_types?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">The HTML5 input types</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Other_form_controls?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Other form controls</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Styling_web_forms?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Styling web forms</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Advanced_form_styling?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Advanced form styling</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/UI_pseudo-classes?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">UI pseudo-classes</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Form_validation?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Client-side form validation</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Sending_and_retrieving_form_data?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Sending form data</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Advanced web form techniques</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/How_to_build_custom_form_controls?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">How to build custom form controls</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Sending_forms_through_JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Sending forms through JavaScript</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/Property_compatibility_table_for_form_controls?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS property compatibility table for form controls</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Forms/HTML_forms_in_legacy_browsers?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML forms in legacy browsers</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Accessibility — Make the web usable by everyone</a></li> <li class="toggle"> <details> <summary>Accessibility guides</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Accessibility</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility/What_is_accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">What is accessibility?</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility/HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML: A good basis for accessibility</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility/CSS_and_JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS and JavaScript accessibility best practices</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility/WAI-ARIA_basics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">WAI-ARIA basics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility/Multimedia?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Accessible multimedia</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility/Mobile?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Mobile accessibility</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Accessibility/Accessibility_troubleshooting?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Assessment: Accessibility troubleshooting</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Performance — Making websites fast and responsive</a></li> <li class="toggle"> <details> <summary>Performance guides</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Web performance</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/why_web_performance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">The "why" of web performance</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/What_is_web_performance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">What is web performance?</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/Perceived_performance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Perceived performance</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/Measuring_performance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Measuring performance</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/Multimedia?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Multimedia: Images</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/video?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Multimedia: video</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">JavaScript performance optimization</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">HTML performance optimization</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS performance optimization</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Performance/business_case_for_performance?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">The business case for web performance</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MathML — Writing mathematics with MathML</a></li> <li class="toggle"> <details> <summary>MathML first steps</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML/First_steps?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MathML first steps</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML/First_steps/Getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with MathML</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML/First_steps/Text_containers?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MathML Text Containers</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML/First_steps/Fractions_and_roots?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MathML fractions and roots</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML/First_steps/Scripts?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MathML scripted elements</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML/First_steps/Tables?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MathML tables</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/MathML/First_steps/Three_famous_mathematical_formulas?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Three famous mathematical formulas</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Games?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Games — Developing games for the web</a></li> <li class="toggle"> <details> <summary>Guides and tutorials</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Games/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to game development for the Web</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Games/Techniques?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Techniques for game development</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Games/Tutorials?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Tutorials</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Games/Publishing_games?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Publishing games</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Tools and testing</a></li> <li class="toggle"> <details> <summary>Client-side web development tools</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Understanding client-side web development tools</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Client-side tooling overview</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Command line crash course</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Package_management?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Package management basics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Introducing_complete_toolchain?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introducing a complete toolchain</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Deployment?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Deploying our app</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Introduction to client-side frameworks</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to client-side frameworks</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Main_features?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Framework main features</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>React</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with React</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_todo_list_beginning?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Beginning our React todo list</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_components?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Componentizing our React app</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_events_state?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">React interactivity: Events and state</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_filtering_conditional_rendering?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">React interactivity: Editing, filtering, conditional rendering</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Accessibility in React</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_resources?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">React resources</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Ember</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with Ember</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_structure_componentization?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Ember app structure and componentization</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_interactivity_events_state?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Ember interactivity: Events, classes and state</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_conditional_footer?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Ember Interactivity: Footer functionality, conditional rendering</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_routing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Routing in Ember</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_resources?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Ember resources and troubleshooting</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Vue</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with Vue</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_first_component?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Creating our first Vue component</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_rendering_lists?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Rendering a list of Vue components</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_methods_events_models?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Adding a new todo form: Vue events, methods, and models</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_styling?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Styling Vue components with CSS</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_computed_properties?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Using Vue computed properties</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_conditional_rendering?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Vue conditional rendering: editing existing todos</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_refs_focus_management?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Vue refs and lifecycle methods for focus management</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_resources?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Vue resources</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Svelte</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with Svelte</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_Todo_list_beginning?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Starting our Svelte to-do list app</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_variables_props?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Dynamic behavior in Svelte: working with variables and props</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_components?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Componentizing our Svelte app</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_reactivity_lifecycle_accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Advanced Svelte: Reactivity, lifecycle, accessibility</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_stores?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Working with Svelte stores</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_TypeScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">TypeScript support in Svelte</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_deployment_next?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Deployment and next steps</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Angular</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_getting_started?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Getting started with Angular</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_todo_list_beginning?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Beginning our Angular todo list app</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_styling?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Styling our Angular app</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_item_component?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Creating an item component</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_filtering?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Filtering our to-do items</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_building?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Building Angular applications and further resources</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Git and GitHub</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/GitHub?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Git and GitHub</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Cross browser testing</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Cross browser testing</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to cross-browser testing</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Testing_strategies?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Strategies for carrying out testing</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/HTML_and_CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Handling common HTML and CSS problems</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/JavaScript?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Handling common JavaScript problems</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Handling common accessibility problems</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Feature_detection?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Implementing feature detection</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Automated_testing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to automated testing</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Setting up your own test automation environment</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Server-side website programming</a></li> <li class="toggle"> <details> <summary>First steps</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/First_steps?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Server-side website programming first steps</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/First_steps/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to the server side</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/First_steps/Client-Server_overview?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Client-Server Overview</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/First_steps/Web_frameworks?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Server-side web frameworks</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/First_steps/Website_security?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Website security</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Django web framework (Python)</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Web Framework (Python)</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django introduction</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/development_environment?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Setting up a Django development environment</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial: The Local Library website</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/skeleton_website?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 2: Creating a skeleton website</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Models?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 3: Using models</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Admin_site?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 4: Django admin site</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Home_page?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 5: Creating our home page</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Generic_views?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 6: Generic list and detail views</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Sessions?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 7: Sessions framework</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Authentication?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 8: User authentication and permissions</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Forms?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 9: Working with forms</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Testing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 10: Testing a Django web application</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/Deployment?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django Tutorial Part 11: Deploying Django to production</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/web_application_security?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Django web application security</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Django/django_assessment_blog?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Assessment: DIY Django mini blog</a></li> </ol> </details></li> <li class="toggle"> <details> <summary>Express Web Framework (Node.js/JavaScript)</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express web framework (Node.js/JavaScript)</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express/Node introduction</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/development_environment?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Setting up a Node development environment</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/Tutorial_local_library_website?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express Tutorial: The Local Library website</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express Tutorial Part 2: Creating a skeleton website</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express Tutorial Part 3: Using a Database (with Mongoose)</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/routes?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express Tutorial Part 4: Routes and controllers</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express Tutorial Part 5: Displaying library data</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/forms?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express Tutorial Part 6: Working with forms</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Server-side/Express_Nodejs/deployment?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Express Tutorial Part 7: Deploying to production</a></li> </ol> </details></li> <li class="section"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Common_questions?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Further resources</a></li> <li class="toggle"> <details> <summary>Common questions</summary> <ol> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Common_questions?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Common questions</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Howto?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Use HTML to solve common problems</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Howto?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Use CSS to solve common problems</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/JavaScript/Howto?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Solve common problems in your JavaScript code</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Common_questions/Web_mechanics?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Web mechanics</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Common_questions/Tools_and_setup?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Tools and setup</a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/Common_questions/Design_and_accessibility?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Design and accessibility</a></li> </ol> </details></li> </ol> </div> </div> <section class="place side"></section> </nav> </aside> <div class="toc-container"> <aside class="toc"> <nav> <div class="document-toc-container"> <section class="document-toc"> <header> <h2 class="document-toc-heading">In this article</h2> </header> <ul class="document-toc-list"> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#what_is_involved_in_styling_text_in_css">What is involved in styling text in CSS?</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#fonts">Fonts</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#text_layout">Text layout</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#font_shorthand">Font shorthand</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#active_learning_playing_with_styling_text">Active learning: Playing with styling text</a></li> <li class="document-toc-item "><a class="document-toc-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#summary">Summary</a></li> </ul> </section> </div> </nav> </aside> <section class="place side"></section> </div> </div> <main id="content" class="main-content "> <article class="main-page-content" lang="en-US"> <header> <h1>Fundamental text and font styling</h1> </header> <div class="section-content"> <ul class="prev-next"> <li><a class="button secondary" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><span class="button-wrap"> Overview: CSS styling text</span></a></li> <li><a class="button secondary" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Styling_lists?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><span class="button-wrap"> Next </span></a></li> </ul> <p>In this article we'll start you on your journey towards mastering text styling with <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Glossary/CSS?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS</a>. Here we'll go through all the basic fundamentals of text/font styling in detail, including setting font weight, family and style, font shorthand, text alignment and other effects, and line and letter spacing.</p> <figure class="table-container"> <table> <tbody> <tr> <th scope="row">Prerequisites:</th> <td>HTML basics (study <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/HTML/Introduction_to_HTML?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to HTML</a>), CSS basics (study <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/First_steps?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Introduction to CSS</a>).</td> </tr> <tr> <th scope="row">Objective:</th> <td>To learn the fundamental properties and techniques needed to style text on web pages.</td> </tr> </tbody> </table> </figure> </div> <section aria-labelledby="what_is_involved_in_styling_text_in_css"> <h2 id="what_is_involved_in_styling_text_in_css"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#what_is_involved_in_styling_text_in_css">What is involved in styling text in CSS?</a></h2> <div class="section-content"> <p>Text inside an element is laid out inside the element's <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/The_box_model?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#parts_of_a_box">content box</a>. It starts at the top left of the content area (or the top right, in the case of RTL language content), and flows towards the end of the line. Once it reaches the end, it goes down to the next line and flows to the end again. This pattern repeats until all the content has been placed in the box. Text content effectively behaves like a series of inline elements, being laid out on lines adjacent to one another, and not creating line breaks until the end of the line is reached, or unless you force a line break manually using the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/br?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><br></code></a> element.</p> <div class="notecard note"> <p><strong>Note:</strong> If the above paragraph leaves you feeling confused, then no matter — go back and review our <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/The_box_model?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Box model</a> article to brush up on the box model theory before carrying on.</p> </div> <p>The CSS properties used to style text generally fall into two categories, which we'll look at separately in this article:</p> <ul> <li><strong>Font styles</strong>: Properties that affect a text's font, e.g., which font gets applied, its size, and whether it's bold, italic, etc.</li> <li><strong>Text layout styles</strong>: Properties that affect the spacing and other layout features of the text, allowing manipulation of, for example, the space between lines and letters, and how the text is aligned within the content box.</li> </ul> <div class="notecard note"> <p><strong>Note:</strong> Bear in mind that the text inside an element is all affected as one single entity. You can't select and style subsections of text unless you wrap them in an appropriate element (such as a <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/span?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><span></code></a> or <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/strong?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><strong></code></a>), or use a text-specific pseudo-element like <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/::first-letter?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">::first-letter</a> (selects the first letter of an element's text), <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/::first-line?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">::first-line</a> (selects the first line of an element's text), or <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/::selection?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">::selection</a> (selects the text currently highlighted by the cursor).</p> </div> </div> </section> <section aria-labelledby="fonts"> <h2 id="fonts"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#fonts">Fonts</a></h2> <div class="section-content"> <p>Let's move straight on to look at properties for styling fonts. In this example, we'll apply some CSS properties to the following HTML sample:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">html</span> </div> <pre class="brush: html notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <p>You can find the <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://mdn.github.io/learning-area/css/styling-text/fundamentals/" class="external" target="_blank">finished example on GitHub</a> (see also <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://github.com/mdn/learning-area/blob/main/css/styling-text/fundamentals/index.html" class="external" target="_blank">the source code</a>).</p> </div> </section> <section aria-labelledby="color"> <h3 id="color"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#color">Color</a></h3> <div class="section-content"> <p>The <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/color?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>color</code></a> property sets the color of the foreground content of the selected elements, which is usually the text, but can also include a couple of other things, such as an underline or overline placed on text using the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-decoration?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-decoration</code></a> property.</p> <p><code>color</code> can accept any <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#color">CSS color unit</a>, for example:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>p { color: red; } </code></pre> </div> <p>This will cause the paragraphs to become red, rather than the standard browser default of black, like so:</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="Color sample" id="frame_color" width="100%" height="230" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="color" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> </div> </section> <section aria-labelledby="font_families"> <h3 id="font_families"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#font_families">Font families</a></h3> <div class="section-content"> <p>To set a different font for your text, you use the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-family?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-family</code></a> property — this allows you to specify a font (or list of fonts) for the browser to apply to the selected elements. The browser will only apply a font if it is available on the machine the website is being accessed on; if not, it will just use a browser <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#default_fonts">default font</a>. A simple example looks like so:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>p { font-family: Arial; } </code></pre> </div> <p>This would make all paragraphs on a page adopt the arial font, which is found on any computer.</p> <h4 id="web_safe_fonts">Web safe fonts</h4> <p>Speaking of font availability, there are only a certain number of fonts that are generally available across all systems and can therefore be used without much worry. These are the so-called <strong>web safe fonts</strong>.</p> <p>Most of the time, as web developers we want to have more specific control over the fonts used to display our text content. The problem is to find a way to know which font is available on the computer used to see our web pages. There is no way to know this in every case, but the web safe fonts are known to be available on nearly all instances of the most used operating systems (Windows, macOS, the most common Linux distributions, Android, and iOS).</p> <p>The list of actual web safe fonts will change as operating systems evolve, but it's reasonable to consider the following fonts web safe, at least for now (many of them have been popularized thanks to the Microsoft <em><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://en.wikipedia.org/wiki/Core_fonts_for_the_Web" class="external" target="_blank">Core fonts for the Web</a></em> initiative in the late 90s and early 2000s):</p> <figure class="table-container"> <table class="standard-table no-markdown"> <thead> <tr> <th scope="col">Name</th> <th scope="col">Generic type</th> <th scope="col">Notes</th> </tr> </thead> <tbody> <tr> <td>Arial</td> <td>sans-serif</td> <td>It's often considered best practice to also add <em>Helvetica</em> as a preferred alternative to <em>Arial</em> as, although their font faces are almost identical, <em>Helvetica</em> is considered to have a nicer shape, even if <em>Arial</em> is more broadly available.</td> </tr> <tr> <td>Courier New</td> <td>monospace</td> <td>Some OSes have an alternative (possibly older) version of the <em>Courier New</em> font called <em>Courier</em>. It's considered best practice to use both with <em>Courier New</em> as the preferred alternative.</td> </tr> <tr> <td>Georgia</td> <td>serif</td> <td></td> </tr> <tr> <td>Times New Roman</td> <td>serif</td> <td>Some OSes have an alternative (possibly older) version of the <em>Times New Roman</em> font called <em>Times</em>. It's considered best practice to use both with <em>Times New Roman</em> as the preferred alternative.</td> </tr> <tr> <td>Trebuchet MS</td> <td>sans-serif</td> <td>You should be careful with using this font — it isn't widely available on mobile OSes.</td> </tr> <tr> <td>Verdana</td> <td>sans-serif</td> <td></td> </tr> </tbody> </table> </figure> <div class="notecard note"> <p><strong>Note:</strong> Among various resources, the <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.cssfontstack.com/" class="external" target="_blank">cssfontstack.com</a> website maintains a list of web safe fonts available on Windows and macOS operating systems, which can help you make your decision about what you consider safe for your usage.</p> </div> <div class="notecard note"> <p><strong>Note:</strong> There is a way to download a custom font along with a webpage, to allow you to customize your font usage in any way you want: <strong>web fonts</strong>. This is a little bit more complex, and we will discuss it in a <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Web_fonts?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">separate article</a> later on in the module.</p> </div> <h4 id="default_fonts">Default fonts</h4> <p>CSS defines five generic names for fonts: <code>serif</code>, <code>sans-serif</code>, <code>monospace</code>, <code>cursive</code>, and <code>fantasy</code>. These are very generic and the exact font face used from these generic names can vary between each browser and each operating system that they are displayed on. It represents a <em>worst case scenario</em> where the browser will try its best to provide a font that looks appropriate. <code>serif</code>, <code>sans-serif</code>, and <code>monospace</code> are quite predictable and should provide something reasonable. On the other hand, <code>cursive</code> and <code>fantasy</code> are less predictable and we recommend using them very carefully, testing as you go.</p> <p>The five names are defined as follows:</p> <figure class="table-container"> <table class="standard-table no-markdown"> <thead> <tr> <th scope="col">Term</th> <th scope="col">Definition</th> <th scope="col">Example</th> </tr> </thead> <tbody> <tr> <td><code>serif</code></td> <td>Fonts that have serifs (the flourishes and other small details you see at the ends of the strokes in some typefaces).</td> <td id="serif-example"> <div class="code-example"> <pre class="brush: html hidden notranslate"><code>My big red elephant</code></pre> </div> <div class="code-example"> <pre class="brush: css hidden notranslate"><code> body { font-family: serif; }</code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="serif-example sample" id="frame_serif-example" width="100" height="60" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="serif-example" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div></td> </tr> <tr> <td><code>sans-serif</code></td> <td>Fonts that don't have serifs.</td> <td id="sans-serif-example"> <div class="code-example"> <pre class="brush: html hidden notranslate"><code>My big red elephant</code></pre> </div> <div class="code-example"> <pre class="brush: css hidden notranslate"><code> body { font-family: sans-serif; }</code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="sans-serif-example sample" id="frame_sans-serif-example" width="100" height="60" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="sans-serif-example" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div></td> </tr> <tr> <td><code>monospace</code></td> <td>Fonts where every character has the same width, typically used in code listings.</td> <td id="monospace-example"> <div class="code-example"> <pre class="brush: html hidden notranslate"><code>My big red elephant</code></pre> </div> <div class="code-example"> <pre class="brush: css hidden notranslate"><code> body { font-family: monospace; }</code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="monospace-example sample" id="frame_monospace-example" width="100" height="60" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="monospace-example" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div></td> </tr> <tr> <td><code>cursive</code></td> <td>Fonts that are intended to emulate handwriting, with flowing, connected strokes.</td> <td id="cursive-example"> <div class="code-example"> <pre class="brush: html hidden notranslate"><code>My big red elephant</code></pre> </div> <div class="code-example"> <pre class="brush: css hidden notranslate"><code> body { font-family: cursive; }</code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="cursive-example sample" id="frame_cursive-example" width="100" height="60" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="cursive-example" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div></td> </tr> <tr> <td><code>fantasy</code></td> <td>Fonts that are intended to be decorative.</td> <td id="fantasy-example"> <div class="code-example"> <pre class="brush: html hidden notranslate"><code>My big red elephant</code></pre> </div> <div class="code-example"> <pre class="brush: css hidden notranslate"><code> body { font-family: fantasy; }</code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="fantasy-example sample" id="frame_fantasy-example" width="100" height="60" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="fantasy-example" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div></td> </tr> </tbody> </table> </figure> <h4 id="font_stacks">Font stacks</h4> <p>Since you can't guarantee the availability of the fonts you want to use on your webpages (even a web font <em>could</em> fail for some reason), you can supply a <strong>font stack</strong> so that the browser has multiple fonts it can choose from. This involves a <code>font-family</code> value consisting of multiple font names separated by commas, e.g.,</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>p { font-family: "Trebuchet MS", Verdana, sans-serif; } </code></pre> </div> <p>In such a case, the browser starts at the beginning of the list and looks to see if that font is available on the machine. If it is, it applies that font to the selected elements. If not, it moves on to the next font, and so on.</p> <p>It is a good idea to provide a suitable generic font name at the end of the stack so that if none of the listed fonts are available, the browser can at least provide something approximately suitable. To emphasize this point, paragraphs are given the browser's default serif font if no other option is available — which is usually Times New Roman — this is no good for a sans-serif font!</p> <div class="notecard note"> <p><strong>Note:</strong> While you can use font family names that contain a space, such as <code>Trebuchet MS</code>, without quoting the name, to avoid mistakes in escaping, it is recommended to quote font family names that contain white space, digits, or punctuation characters other than hyphens.</p> </div> <div class="notecard warning"> <p><strong>Warning:</strong> Any font family name which could be misinterpreted as a generic family name or a CSS-wide keyword must be quoted. While the font-family names can be included as a <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/custom-ident?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><custom-ident></code></a> or a <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/string?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><string></code></a>, font family names that happen to be the same as a CSS-wide property value, like <code>initial</code>, or <code>inherit</code>, or CSS have the same name as one to the generic font family names, like <code>sans-serif</code> or <code>fantasy</code>, must be included as a quoted string. Otherwise, the font family name will be interpreted as being the equivalent CSS keyword or generic family name. When used as keywords, the generic font family names —<code>serif</code>, <code>sans-serif</code>, <code>monospace</code>, <code>cursive</code>, and <code>fantasy</code> — and the global CSS keywords MUST NOT be quoted, as strings are not interpreted as CSS keywords.</p> </div> <h4 id="a_font-family_example">A font-family example</h4> <p>Let's add to our previous example, giving the paragraphs a sans-serif font:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>p { color: red; font-family: Helvetica, Arial, sans-serif; } </code></pre> </div> <p>This gives us the following result:</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="A font-family example sample" id="frame_a_font-family_example" width="100%" height="220" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="a_font-family_example" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> </div> </section> <section aria-labelledby="font_size"> <h3 id="font_size"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#font_size">Font size</a></h3> <div class="section-content"> <p>In our previous module's <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">CSS values and units</a> article, we reviewed length and size units. Font size (set with the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-size?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-size</code></a> property) can take values measured in most of these units (and others, such as <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#percentages">percentages</a>); however, the most common units you'll use to size text are:</p> <ul> <li><code>px</code> (pixels): The number of pixels high you want the text to be. This is an absolute unit — it results in the same final computed value for the font on the page in pretty much any situation.</li> <li><code>em</code>s: 1 <code>em</code> is equal to the font size set on the parent element of the current element we are styling (more specifically, the width of a capital letter M contained inside the parent element). This can become tricky to work out if you have a lot of nested elements with different font sizes set, but it is doable, as you'll see below. Why bother? It is quite natural once you get used to it, and you can use <code>em</code> to size everything, not just text. You can have an entire website sized using <code>em</code>, which makes maintenance easy.</li> <li><code>rem</code>s: These work just like <code>em</code>, except that 1 <code>rem</code> is equal to the font size set on the root element of the document (i.e. <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/html?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><html></code></a>), not the parent element. This makes doing the maths to work out your font sizes much easier.</li> </ul> <p>The <code>font-size</code> of an element is inherited from that element's parent element. This all starts with the root element of the entire document — <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/html?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><html></code></a> — the standard <code>font-size</code> of which is set to <code>16px</code> across browsers. Any paragraph (or another element that doesn't have a different size set by the browser) inside the root element will have a final size of <code>16px</code>. Other elements may have different default sizes. For example, an <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/Heading_Elements?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">h1</a> element has a size of <code>2em</code> set by default, so it will have a final size of <code>32px</code>.</p> <p>Things become more tricky when you start altering the font size of nested elements. For example, if you had an <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/article?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><article></code></a> element in your page, and set its <code>font-size</code> to 1.5 <code>em</code> (which would compute to 24 <code>px</code> final size), and then wanted the paragraphs inside the <code><article></code> elements to have a computed font size of 20 <code>px</code>, what <code>em</code> value would you use?</p> <div class="code-example"> <div class="example-header"> <span class="language-name">html</span> </div> <pre class="brush: html notranslate"><code><!-- document base font-size is 16px --> <article> <!-- If my font-size is 1.5em --> <p>My paragraph</p> <!-- How do I compute to 20px font-size? --> </article> </code></pre> </div> <p>You would need to set its <code>em</code> value to 20/24, or 0.83333333 <code>em</code>. The maths can be complicated, so you need to be careful about how you style things. It is best to use <code>rem</code> where you can to keep things simple, and avoid setting the <code>font-size</code> of container elements where possible.</p> </div> </section> <section aria-labelledby="font_style_font_weight_text_transform_and_text_decoration"> <h3 id="font_style_font_weight_text_transform_and_text_decoration"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#font_style_font_weight_text_transform_and_text_decoration">Font style, font weight, text transform, and text decoration</a></h3> <div class="section-content"> <p>CSS provides four common properties to alter the visual weight/emphasis of text:</p> <ul> <li><p><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-style?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-style</code></a>: Used to turn italic text on or off. Possible values are as follows (you'll rarely use this, unless you want to turn some italic styling off for some reason):</p> <ul> <li><code>normal</code>: Sets the text to the normal font (turns existing italics off).</li> <li><code>italic</code>: Sets the text to use the italic version of the font, if available; if not, it will simulate italics with oblique instead.</li> <li><code>oblique</code>: Sets the text to use a simulated version of an italic font, created by slanting the normal version.</li> </ul></li> <li><p><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-weight?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-weight</code></a>: Sets how bold the text is. This has many values available in case you have many font variants available (such as <em>-light</em>, <em>-normal</em>, <em>-bold</em>, <em>-extrabold</em>, <em>-black</em>, etc.), but realistically you'll rarely use any of them except for <code>normal</code> and <code>bold</code>:</p> <ul> <li><code>normal</code>, <code>bold</code>: Normal and bold font weight.</li> <li><code>lighter</code>, <code>bolder</code>: Sets the current element's boldness to be one step lighter or heavier than its parent element's boldness.</li> <li><code>100</code> – <code>900</code>: Numeric boldness values that provide finer grained control than the above keywords, if needed.</li> </ul></li> <li><p><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-transform?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-transform</code></a>: Allows you to set your font to be transformed. Values include:</p> <ul> <li><code>none</code>: Prevents any transformation.</li> <li><code>uppercase</code>: Transforms all text to capitals.</li> <li><code>lowercase</code>: Transforms all text to lower case.</li> <li><code>capitalize</code>: Transforms all words to have the first letter capitalized.</li> <li><code>full-width</code>: Transforms all glyphs to be written inside a fixed-width square, similar to a monospace font, allowing aligning of, e.g., Latin characters along with Asian language glyphs (like Chinese, Japanese, Korean).</li> </ul></li> <li><p><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-decoration?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-decoration</code></a>: Sets/unsets text decorations on fonts (you'll mainly use this to unset the default underline on links when styling them). Available values are:</p> <ul> <li><code>none</code>: Unsets any text decorations already present.</li> <li><code>underline</code>: Underlines the text.</li> <li><code>overline</code>: Gives the text an overline.</li> <li><code>line-through</code>: Puts a strikethrough over the text.</li> </ul><p>You should note that <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-decoration?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-decoration</code></a> can accept multiple values at once if you want to add multiple decorations simultaneously, for example, <code>text-decoration: underline overline</code>. Also note that <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-decoration?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-decoration</code></a> is a shorthand property for <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-decoration-line?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-decoration-line</code></a>, <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-decoration-style?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-decoration-style</code></a>, and <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-decoration-color?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-decoration-color</code></a>. You can use combinations of these property values to create interesting effects, for example: <code>text-decoration: line-through red wavy</code>.</p></li> </ul> <p>Let's look at adding a couple of these properties to our example:</p> <p>Our new result is like so:</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>html { font-size: 10px; } h1 { font-size: 5rem; text-transform: capitalize; } h1 + p { font-weight: bold; } p { font-size: 1.5rem; color: red; font-family: Helvetica, Arial, sans-serif; } </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="Font style font weight text transform and text decoration sample" id="frame_font_style_font_weight_text_transform_and_text_decoration" width="100%" height="260" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="font_style_font_weight_text_transform_and_text_decoration" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> </div> </section> <section aria-labelledby="text_drop_shadows"> <h3 id="text_drop_shadows"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#text_drop_shadows">Text drop shadows</a></h3> <div class="section-content"> <p>You can apply drop shadows to your text using the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-shadow?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-shadow</code></a> property. This takes up to four values, as shown in the example below:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>text-shadow: 4px 4px 5px red; </code></pre> </div> <p>The four properties are as follows:</p> <ol> <li>The horizontal offset of the shadow from the original text — this can take most available CSS <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#lengths">length and size units</a>, but you'll most commonly use <code>px</code>; positive values move the shadow right, and negative values left. This value has to be included.</li> <li>The vertical offset of the shadow from the original text. This behaves similarly to the horizontal offset, except that it moves the shadow up/down, not left/right. This value has to be included.</li> <li>The blur radius: a higher value means the shadow is dispersed more widely. If this value is not included, it defaults to 0, which means no blur. This can take most available CSS <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#lengths">length and size units</a>.</li> <li>The base color of the shadow, which can take any <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#color">CSS color unit</a>. If not included, it defaults to <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/color_value?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#currentcolor_keyword"><code>currentcolor</code></a>, i.e. the shadow's color is taken from the element's <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/color?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>color</code></a> property.</li> </ol> <h4 id="multiple_shadows">Multiple shadows</h4> <p>You can apply multiple shadows to the same text by including multiple shadow values separated by commas, for example:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>h1 { text-shadow: 1px 1px 1px red, 2px 2px 1px red; } </code></pre> </div> <p>If we applied this to the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/Heading_Elements?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">h1</a> element in our Tommy The Cat example, we'd end up with this:</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <div class="code-example"> <pre class="brush: css hidden notranslate"><code>html { font-size: 10px; } h1 { font-size: 5rem; text-transform: capitalize; } h1 + p { font-weight: bold; } p { font-size: 1.5rem; color: red; font-family: Helvetica, Arial, sans-serif; } </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="Multiple shadows sample" id="frame_multiple_shadows" width="100%" height="260" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="multiple_shadows" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> <div class="notecard note"> <p><strong>Note:</strong> You can see more interesting examples of <code>text-shadow</code> usage in the Sitepoint article <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.sitepoint.com/moonlighting-css-text-shadow/" class="external" target="_blank">Moonlighting with CSS text-shadow</a>.</p> </div> </div> </section> <section aria-labelledby="text_layout"> <h2 id="text_layout"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#text_layout">Text layout</a></h2> <div class="section-content"> <p>With basic font properties out of the way, let's have a look at properties we can use to affect text layout.</p> </div> </section> <section aria-labelledby="text_alignment"> <h3 id="text_alignment"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#text_alignment">Text alignment</a></h3> <div class="section-content"> <p>The <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-align?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-align</code></a> property is used to control how text is aligned within its containing content box. The available values are listed below. They work in pretty much the same way as they do in a regular word processor application:</p> <ul> <li><code>left</code>: Left-justifies the text.</li> <li><code>right</code>: Right-justifies the text.</li> <li><code>center</code>: Centers the text.</li> <li><code>justify</code>: Makes the text spread out, varying the gaps in between the words so that all lines of text are the same width. You need to use this carefully — it can look terrible, especially when applied to a paragraph with lots of long words in it. If you are going to use this, you should also think about using something else along with it, such as <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/hyphens?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>hyphens</code></a>, to break some of the longer words across lines.</li> </ul> <p>If we applied <code>text-align: center;</code> to the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/Heading_Elements?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">h1</a> in our example, we'd end up with this:</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>html { font-size: 10px; } h1 { font-size: 5rem; text-transform: capitalize; text-shadow: 1px 1px 1px red, 2px 2px 1px red; text-align: center; } h1 + p { font-weight: bold; } p { font-size: 1.5rem; color: red; font-family: Helvetica, Arial, sans-serif; } </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="Text alignment sample" id="frame_text_alignment" width="100%" height="260" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="text_alignment" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> </div> </section> <section aria-labelledby="line_height"> <h3 id="line_height"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#line_height">Line height</a></h3> <div class="section-content"> <p>The <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/line-height?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>line-height</code></a> property sets the height of each line of text. This property can not only take most <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#lengths">length and size units</a>, but can also take a unitless value, which acts as a multiplier and is generally considered the best option. With a unitless value, the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-size?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-size</code></a> gets multiplied and results in the <code>line-height</code>. Body text generally looks nicer and is easier to read when the lines are spaced apart. The recommended line height is around 1.5 – 2 (double spaced). To set our lines of text to 1.6 times the height of the font, we'd use:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>p { line-height: 1.6; } </code></pre> </div> <p>Applying this to the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/p?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><p></code></a> elements in our example would give us this result:</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>html { font-size: 10px; } h1 { font-size: 5rem; text-transform: capitalize; text-shadow: 1px 1px 1px red, 2px 2px 1px red; text-align: center; } h1 + p { font-weight: bold; } p { font-size: 1.5rem; color: red; font-family: Helvetica, Arial, sans-serif; line-height: 1.6; } </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="Line height sample" id="frame_line_height" width="100%" height="300" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="line_height" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> </div> </section> <section aria-labelledby="letter_and_word_spacing"> <h3 id="letter_and_word_spacing"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#letter_and_word_spacing">Letter and word spacing</a></h3> <div class="section-content"> <p>The <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/letter-spacing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>letter-spacing</code></a> and <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/word-spacing?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>word-spacing</code></a> properties allow you to set the spacing between letters and words in your text. You won't use these very often, but might find a use for them to obtain a specific look, or to improve the legibility of a particularly dense font. They can take most <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Building_blocks/Values_and_units?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#lengths">length units</a>.</p> <p>To illustrate, we could apply some word- and letter-spacing to the first line of each <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/HTML/Element/p?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code><p></code></a> element in our HTML sample with:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>p::first-line { letter-spacing: 4px; word-spacing: 4px; } </code></pre> </div> <p>This renders our HTML as:</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><h1>Tommy the cat</h1> <p>Well I remember it as though it were a meal ago…</p> <p> Said Tommy the Cat as he reeled back to clear whatever foreign matter may have nestled its way into his mighty throat. Many a fat alley rat had met its demise while staring point blank down the cavernous barrel of this awesome prowling machine. Truly a wonder of nature this urban predator — Tommy the cat had many a story to tell. But it was a rare occasion such as this that he did. </p> </code></pre> </div> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>html { font-size: 10px; } h1 { font-size: 5rem; text-transform: capitalize; text-shadow: 1px 1px 1px red, 2px 2px 1px red; text-align: center; letter-spacing: 2px; } h1 + p { font-weight: bold; } p { font-size: 1.5rem; color: red; font-family: Helvetica, Arial, sans-serif; line-height: 1.6; letter-spacing: 1px; } </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="Letter and word spacing sample" id="frame_letter_and_word_spacing" width="100%" height="330" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="letter_and_word_spacing" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> </div> </section> <section aria-labelledby="other_properties_worth_looking_at"> <h3 id="other_properties_worth_looking_at"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#other_properties_worth_looking_at">Other properties worth looking at</a></h3> <div class="section-content"> <p>The above properties give you an idea of how to start styling text on a webpage, but there are many more properties you could use. We just wanted to cover the most important ones here. Once you've become used to using the above, you should also explore the following:</p> <p>Font styles:</p> <ul> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant</code></a>: Switch between small caps and normal font alternatives.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-kerning?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-kerning</code></a>: Switch font kerning options on and off.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-feature-settings?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-feature-settings</code></a>: Switch various <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://en.wikipedia.org/wiki/OpenType" class="external" target="_blank">OpenType</a> font features on and off.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant-alternates?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant-alternates</code></a>: Control the use of alternate glyphs for a given font-face.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant-caps?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant-caps</code></a>: Control the use of alternate capital glyphs.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant-east-asian?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant-east-asian</code></a>: Control the usage of alternate glyphs for East Asian scripts, like Japanese and Chinese.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant-ligatures?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant-ligatures</code></a>: Control which ligatures and contextual forms are used in text.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant-numeric?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant-numeric</code></a>: Control the usage of alternate glyphs for numbers, fractions, and ordinal markers.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant-position?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant-position</code></a>: Control the usage of alternate glyphs of smaller sizes positioned as superscript or subscript.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-size-adjust?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-size-adjust</code></a>: Adjust the visual size of the font independently of its actual font size.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-stretch?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-stretch</code></a>: Switch between possible alternative stretched versions of a given font.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-underline-position?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-underline-position</code></a>: Specify the position of underlines set using the <code>text-decoration-line</code> property <code>underline</code> value.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-rendering?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-rendering</code></a>: Try to perform some text rendering optimization.</li> </ul> <p>Text layout styles:</p> <ul> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-indent?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-indent</code></a>: Specify how much horizontal space should be left before the beginning of the first line of the text content.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-overflow?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-overflow</code></a>: Define how overflowed content that is not displayed is signaled to users.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/white-space?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>white-space</code></a>: Define how whitespace and associated line breaks inside the element are handled.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/word-break?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>word-break</code></a>: Specify whether to break lines within words.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/direction?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>direction</code></a>: Define the text direction. (This depends on the language and usually it's better to let HTML handle that part as it is tied to the text content.)</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/hyphens?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>hyphens</code></a>: Switch on and off hyphenation for supported languages.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/line-break?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>line-break</code></a>: Relax or strengthen line breaking for Asian languages.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-align-last?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-align-last</code></a>: Define how the last line of a block or a line, right before a forced line break, is aligned.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/text-orientation?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>text-orientation</code></a>: Define the orientation of the text in a line.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/overflow-wrap?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>overflow-wrap</code></a>: Specify whether or not the browser may break lines within words in order to prevent overflow.</li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/writing-mode?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>writing-mode</code></a>: Define whether lines of text are laid out horizontally or vertically and the direction in which subsequent lines flow.</li> </ul> </div> </section> <section aria-labelledby="font_shorthand"> <h2 id="font_shorthand"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#font_shorthand">Font shorthand</a></h2> <div class="section-content"> <p>Many font properties can also be set through the shorthand property <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font</code></a>. These are written in the following order: <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-style?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-style</code></a>, <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-variant?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-variant</code></a>, <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-weight?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-weight</code></a>, <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-stretch?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-stretch</code></a>, <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-size?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-size</code></a>, <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/line-height?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>line-height</code></a>, and <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-family?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-family</code></a>.</p> <p>Among all those properties, only <code>font-size</code> and <code>font-family</code> are required when using the <code>font</code> shorthand property.</p> <p>A forward slash has to be put in between the <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/font-size?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>font-size</code></a> and <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Web/CSS/line-height?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><code>line-height</code></a> properties.</p> <p>A full example would look like this:</p> <div class="code-example"> <div class="example-header"> <span class="language-name">css</span> </div> <pre class="brush: css notranslate"><code>font: italic normal bold normal 3em/1.5 Helvetica, Arial, sans-serif; </code></pre> </div> </div> </section> <section aria-labelledby="active_learning_playing_with_styling_text"> <h2 id="active_learning_playing_with_styling_text"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#active_learning_playing_with_styling_text">Active learning: Playing with styling text</a></h2> <div class="section-content"> <p>In this active learning session we don't have any specific exercises for you to do. We'd just like you to have a good play with some font/text layout properties. See for yourself what you can come up with! You can either do this using offline HTML/CSS files, or enter your code into the live editable example below.</p> <p>If you make a mistake, you can always reset it using the <em>Reset</em> button.</p> <div class="code-example"> <pre class="brush: html hidden notranslate"><code><div class="body-wrapper" style="font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;"> <h2>HTML Input</h2> <textarea id="code" class="html-input" style="width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;"> <p>Some sample text for your delight</p> </textarea> <h2>CSS Input</h2> <textarea id="code" class="css-input" style="width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;"> p { } </textarea> <h2>Output</h2> <div class="output" style="width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;"></div> <div class="controls"> <input id="reset" type="button" value="Reset" style="margin: 10px 10px 0 0;" /> </div> </div> </code></pre> </div> <div class="code-example"> <pre class="brush: js hidden notranslate"><code>const htmlInput = document.querySelector(".html-input"); const cssInput = document.querySelector(".css-input"); const reset = document.getElementById("reset"); let htmlCode = htmlInput.value; let cssCode = cssInput.value; const output = document.querySelector(".output"); const styleElem = document.createElement("style"); const headElem = document.querySelector("head"); headElem.appendChild(styleElem); function drawOutput() { output.innerHTML = htmlInput.value; styleElem.textContent = cssInput.value; } reset.addEventListener("click", () => { htmlInput.value = htmlCode; cssInput.value = cssCode; drawOutput(); }); htmlInput.addEventListener("input", drawOutput); cssInput.addEventListener("input", drawOutput); window.addEventListener("load", drawOutput); </code></pre> </div> <div class="code-example"> <div class="example-header"></div><iframe class="sample-code-frame" title="Active learning Playing with styling text sample" id="frame_active_learning_playing_with_styling_text" width="700" height="800" src="about:blank" data-live-path="/en-US/docs/Learn/CSS/Styling_text/Fundamentals/" data-live-id="active_learning_playing_with_styling_text" sandbox="allow-same-origin allow-scripts" loading="lazy"></iframe> </div> </div> </section> <section aria-labelledby="summary"> <h2 id="summary"><a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB#summary">Summary</a></h2> <div class="section-content"> <p>We hope you enjoyed playing with text in this article! The next article will provide you with all you need to know about <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Styling_lists?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">styling HTML lists</a>.</p> <ul class="prev-next"> <li><a class="button secondary" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><span class="button-wrap"> Overview: CSS styling text</span></a></li> <li><a class="button secondary" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Styling_lists?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB"><span class="button-wrap"> Next </span></a></li> </ul> </div> </section> </article> <aside class="article-footer"> <div class="article-footer-inner"> <div class="svg-container"> <svg xmlns="http://www.w3.org/2000/svg" width="162" height="162" viewbox="0 0 162 162" fill="none" role="none"> <mask id="b" fill="#fff"> <path d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z"></path> </mask><path stroke="url(#a)" stroke-dasharray="6, 6" stroke-width="2" d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z" mask="url(#b)" style="stroke:url(#a)" transform="translate(-63.992 -25.587)"></path><ellipse cx="8.066" cy="111.597" fill="var(--background-tertiary)" rx="53.677" ry="53.699" transform="matrix(.71707 -.697 .7243 .6895 0 0)"></ellipse><g clip-path="url(#c)" transform="translate(-63.992 -25.587)"> <path fill="#9abff5" d="m144.256 137.379 32.906 12.434a4.41 4.41 0 0 1 2.559 5.667l-9.326 24.679a4.41 4.41 0 0 1-5.667 2.559l-8.226-3.108-2.332 6.17c-.466 1.233-.375 1.883-1.609 1.417l-2.253-.527c-.411-.155-.95-.594-1.206-1.161l-4.734-10.484-12.545-4.741a4.41 4.41 0 0 1-2.559-5.667l9.325-24.679a4.41 4.41 0 0 1 5.667-2.559m9.961 29.617 8.227 3.108 3.264-8.638-.498-6.768-4.113-1.555.548 7.258-4.319-1.632zm-12.339-4.663 8.226 3.108 3.264-8.637-.498-6.769-4.113-1.554.548 7.257-4.319-1.632z"></path> </g><g clip-path="url(#d)" transform="translate(-63.992 -25.587)"> <path fill="#81b0f3" d="M135.35 60.136 86.67 41.654c-3.346-1.27-7.124.428-8.394 3.775L64.414 81.938c-1.27 3.347.428 7.125 3.774 8.395l12.17 4.62-3.465 9.128c-.693 1.826-1.432 2.457.394 3.15l3.014 1.625c.609.231 1.637.274 2.477-.104l15.53-6.983 18.56 7.047c3.346 1.27 7.124-.428 8.395-3.775l13.862-36.51c1.27-3.346-.428-7.124-3.775-8.395M95.261 83.207l-12.17-4.62 4.852-12.779 7.19-7.017 6.085 2.31-7.725 7.51 6.389 2.426zm18.255 6.93-12.17-4.62 4.852-12.778 7.189-7.017 6.085 2.31-7.725 7.51 6.39 2.426z"></path> </g><defs> <clippath id="c"> <path fill="#fff" d="m198.638 146.586-65.056-24.583-24.583 65.057 65.056 24.582z"></path> </clippath> <clippath id="d"> <path fill="#fff" d="m66.438 14.055 96.242 36.54-36.54 96.243-96.243-36.54z"></path> </clippath> <lineargradient id="a" x1="97.203" x2="199.995" y1="47.04" y2="152.793" gradientunits="userSpaceOnUse"> <stop stop-color="#086DFC"></stop> <stop offset="0.246" stop-color="#2C81FA"></stop> <stop offset="0.516" stop-color="#5497F8"></stop> <stop offset="0.821" stop-color="#80B0F6"></stop> <stop offset="1" stop-color="#9ABFF5"></stop> </lineargradient> </defs> </svg> </div> <h2>Help improve MDN</h2> <fieldset class="feedback"> <label>Was this page helpful to you?</label> <div class="button-container"> <button type="button" class="button primary has-icon yes"><span class="button-wrap"><span class="icon icon-thumbs-up "></span>Yes</span></button><button type="button" class="button primary has-icon no"><span class="button-wrap"><span class="icon icon-thumbs-down "></span>No</span></button> </div> </fieldset><a class="contribute" href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://github.com/mdn/content/blob/main/CONTRIBUTING.md" title="This will take you to our contribution guidelines on GitHub." target="_blank" rel="noopener noreferrer">Learn how to contribute</a>. <p class="last-modified-date">This page was last modified on<!-- --> <time datetime="2024-07-25T20:16:09.000Z">Jul 25, 2024</time> by<!-- --> <a href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn/CSS/Styling_text/Fundamentals/contributors.txt?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" rel="nofollow">MDN contributors</a>.</p> <div id="on-github" class="on-github"> <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://github.com/mdn/content/blob/main/files/en-us/learn/css/styling_text/fundamentals/index.md?plain%3D1" title="Folder: en-us/learn/css/styling_text/fundamentals (Opens in a new tab)" target="_blank" rel="noopener noreferrer">View this page on GitHub</a> <!-- -->•<!-- --> <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://github.com/mdn/content/issues/new?template%3Dpage-report.yml%26mdn-url%3Dhttps%253A%252F%252Fdeveloper.mozilla.org%252Fen-US%252Fdocs%252FLearn%252FCSS%252FStyling_text%252FFundamentals%26metadata%3D%253C%2521--%2BDo%2Bnot%2Bmake%2Bchanges%2Bbelow%2Bthis%2Bline%2B--%253E%250A%253Cdetails%253E%250A%253Csummary%253EPage%2Breport%2Bdetails%253C%252Fsummary%253E%250A%250A*%2BFolder%253A%2B%2560en-us%252Flearn%252Fcss%252Fstyling_text%252Ffundamentals%2560%250A*%2BMDN%2BURL%253A%2Bhttps%253A%252F%252Fdeveloper.mozilla.org%252Fen-US%252Fdocs%252FLearn%252FCSS%252FStyling_text%252FFundamentals%250A*%2BGitHub%2BURL%253A%2Bhttps%253A%252F%252Fgithub.com%252Fmdn%252Fcontent%252Fblob%252Fmain%252Ffiles%252Fen-us%252Flearn%252Fcss%252Fstyling_text%252Ffundamentals%252Findex.md%250A*%2BLast%2Bcommit%253A%2Bhttps%253A%252F%252Fgithub.com%252Fmdn%252Fcontent%252Fcommit%252F44b18841ff739fbf1a5450805d85f839fa3e68a5%250A*%2BDocument%2Blast%2Bmodified%253A%2B2024-07-25T20%253A16%253A09.000Z%250A%250A%253C%252Fdetails%253E" title="This will take you to GitHub to file a new issue." target="_blank" rel="noopener noreferrer">Report a problem with this content</a> </div> </div> </aside> </main> </div> </div> <footer id="nav-footer" class="page-footer"> <div class="page-footer-grid"> <div class="page-footer-logo-col"> <a href="https://developer-mozilla-org.translate.goog/?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" class="mdn-footer-logo" aria-label="MDN homepage"> <svg width="48" height="17" viewbox="0 0 48 17" fill="none" xmlns="http://www.w3.org/2000/svg"> <title id="mdn-footer-logo-svg">MDN logo</title><path d="M20.04 16.512H15.504V10.416C15.504 9.488 15.344 8.824 15.024 8.424C14.72 8.024 14.264 7.824 13.656 7.824C12.92 7.824 12.384 8.064 12.048 8.544C11.728 9.024 11.568 9.64 11.568 10.392V14.184H13.008V16.512H8.472V10.416C8.472 9.488 8.312 8.824 7.992 8.424C7.688 8.024 7.232 7.824 6.624 7.824C5.872 7.824 5.336 8.064 5.016 8.544C4.696 9.024 4.536 9.64 4.536 10.392V14.184H6.6V16.512H0V14.184H1.44V8.04H0.024V5.688H4.536V7.32C5.224 6.088 6.32 5.472 7.824 5.472C8.608 5.472 9.328 5.664 9.984 6.048C10.64 6.432 11.096 7.016 11.352 7.8C11.992 6.248 13.168 5.472 14.88 5.472C15.856 5.472 16.72 5.776 17.472 6.384C18.224 6.992 18.6 7.936 18.6 9.216V14.184H20.04V16.512Z" fill="currentColor"></path><path d="M33.6714 16.512H29.1354V14.496C28.8314 15.12 28.3834 15.656 27.7914 16.104C27.1994 16.536 26.4154 16.752 25.4394 16.752C24.0154 16.752 22.8954 16.264 22.0794 15.288C21.2634 14.312 20.8554 12.984 20.8554 11.304C20.8554 9.688 21.2554 8.312 22.0554 7.176C22.8554 6.04 24.0634 5.472 25.6794 5.472C26.5594 5.472 27.2794 5.648 27.8394 6C28.3994 6.352 28.8314 6.8 29.1354 7.344V2.352H26.9754V0H32.2314V14.184H33.6714V16.512ZM29.1354 11.04V10.776C29.1354 9.88 28.8954 9.184 28.4154 8.688C27.9514 8.176 27.3674 7.92 26.6634 7.92C25.9754 7.92 25.3674 8.176 24.8394 8.688C24.3274 9.2 24.0714 10.008 24.0714 11.112C24.0714 12.152 24.3114 12.944 24.7914 13.488C25.2714 14.032 25.8394 14.304 26.4954 14.304C27.3114 14.304 27.9514 13.96 28.4154 13.272C28.8954 12.584 29.1354 11.84 29.1354 11.04Z" fill="currentColor"></path><path d="M47.9589 16.512H41.9829V14.184H43.4229V10.416C43.4229 9.488 43.2629 8.824 42.9429 8.424C42.6389 8.024 42.1829 7.824 41.5749 7.824C40.8389 7.824 40.2709 8.056 39.8709 8.52C39.4709 8.968 39.2629 9.56 39.2469 10.296V14.184H40.6869V16.512H34.7109V14.184H36.1509V8.04H34.5909V5.688H39.2469V7.344C39.9669 6.096 41.1269 5.472 42.7269 5.472C43.7509 5.472 44.6389 5.776 45.3909 6.384C46.1429 6.992 46.5189 7.936 46.5189 9.216V14.184H47.9589V16.512Z" fill="currentColor"></path> </svg></a> <p>Your blueprint for a better internet.</p> <ul class="social-icons"> <li><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://mastodon.social/@mdn" target="_blank" rel="me noopener noreferrer"><span class="icon icon-mastodon"></span><span class="visually-hidden">MDN on Mastodon</span></a></li> <li><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://twitter.com/mozdevnet" target="_blank" rel="noopener noreferrer"><span class="icon icon-twitter-x"></span><span class="visually-hidden">MDN on X (formerly Twitter)</span></a></li> <li><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://github.com/mdn/" target="_blank" rel="noopener noreferrer"><span class="icon icon-github-mark-small"></span><span class="visually-hidden">MDN on GitHub</span></a></li> <li><a href="https://developer-mozilla-org.translate.goog/en-US/blog/rss.xml?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" target="_blank"><span class="icon icon-feed"></span><span class="visually-hidden">MDN Blog RSS Feed</span></a></li> </ul> </div> <div class="page-footer-nav-col-1"> <h2 class="footer-nav-heading">MDN</h2> <ul class="footer-nav-list"> <li class="footer-nav-item"><a href="https://developer-mozilla-org.translate.goog/en-US/about?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">About</a></li> <li class="footer-nav-item"><a href="https://developer-mozilla-org.translate.goog/en-US/blog/?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Blog</a></li> <li class="footer-nav-item"><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.mozilla.org/en-US/careers/listings/?team%3DProdOps" target="_blank" rel="noopener noreferrer">Careers</a></li> <li class="footer-nav-item"><a href="https://developer-mozilla-org.translate.goog/en-US/advertising?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Advertise with us</a></li> </ul> </div> <div class="page-footer-nav-col-2"> <h2 class="footer-nav-heading">Support</h2> <ul class="footer-nav-list"> <li class="footer-nav-item"><a class="footer-nav-link" href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://support.mozilla.org/products/mdn-plus">Product help</a></li> <li class="footer-nav-item"><a class="footer-nav-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/MDN/Community/Issues?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Report an issue</a></li> </ul> </div> <div class="page-footer-nav-col-3"> <h2 class="footer-nav-heading">Our communities</h2> <ul class="footer-nav-list"> <li class="footer-nav-item"><a class="footer-nav-link" href="https://developer-mozilla-org.translate.goog/en-US/community?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MDN Community</a></li> <li class="footer-nav-item"><a class="footer-nav-link" href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://discourse.mozilla.org/c/mdn/236" target="_blank" rel="noopener noreferrer">MDN Forum</a></li> <li class="footer-nav-item"><a class="footer-nav-link" href="https://developer-mozilla-org.translate.goog/discord?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB" target="_blank" rel="noopener noreferrer">MDN Chat</a></li> </ul> </div> <div class="page-footer-nav-col-4"> <h2 class="footer-nav-heading">Developers</h2> <ul class="footer-nav-list"> <li class="footer-nav-item"><a class="footer-nav-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Web?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Web Technologies</a></li> <li class="footer-nav-item"><a class="footer-nav-link" href="https://developer-mozilla-org.translate.goog/en-US/docs/Learn?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">Learn Web Development</a></li> <li class="footer-nav-item"><a class="footer-nav-link" href="https://developer-mozilla-org.translate.goog/en-US/plus?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">MDN Plus</a></li> <li class="footer-nav-item"><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://hacks.mozilla.org/" target="_blank" rel="noopener noreferrer">Hacks Blog</a></li> </ul> </div> <div class="page-footer-moz"> <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.mozilla.org/" class="footer-moz-logo-link" target="_blank" rel="noopener noreferrer"> <svg width="112" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"> <title id="mozilla-footer-logo-svg">Mozilla logo</title><path d="M41.753 14.218c-2.048 0-3.324 1.522-3.324 4.157 0 2.423 1.119 4.286 3.29 4.286 2.082 0 3.447-1.678 3.447-4.347 0-2.826-1.522-4.096-3.413-4.096Zm54.89 7.044c0 .901.437 1.618 1.645 1.618 1.427 0 2.949-1.024 3.044-3.352-.649-.095-1.365-.185-2.02-.185-1.426-.005-2.668.397-2.668 1.92Z" fill="currentColor"></path><path d="M0 0v32h111.908V0H0Zm32.56 25.426h-5.87v-7.884c0-2.423-.806-3.352-2.39-3.352-1.924 0-2.702 1.365-2.702 3.324v4.868h1.864v3.044h-5.864v-7.884c0-2.423-.806-3.352-2.39-3.352-1.924 0-2.702 1.365-2.702 3.324v4.868h2.669v3.044H6.642v-3.044h1.863v-7.918H6.642V11.42h5.864v2.11c.839-1.489 2.3-2.39 4.252-2.39 2.02 0 3.878.963 4.566 3.01.778-1.862 2.361-3.01 4.566-3.01 2.512 0 4.812 1.522 4.812 4.84v6.402h1.863v3.044h-.005Zm9.036.307c-4.314 0-7.296-2.635-7.296-7.106 0-4.096 2.484-7.481 7.514-7.481s7.481 3.38 7.481 7.29c0 4.472-3.228 7.297-7.699 7.297Zm22.578-.307H51.942l-.403-2.11 7.7-8.846h-4.376l-.621 2.17-2.888-.313.498-4.907h12.294l.313 2.11-7.767 8.852h4.533l.654-2.172 3.167.308-.872 4.908Zm7.99 0h-4.191v-5.03h4.19v5.03Zm0-8.976h-4.191v-5.03h4.19v5.03Zm2.618 8.976 6.054-21.358h3.945l-6.054 21.358h-3.945Zm8.136 0 6.048-21.358h3.945l-6.054 21.358h-3.939Zm21.486.307c-1.863 0-2.887-1.085-3.072-2.792-.805 1.427-2.232 2.792-4.498 2.792-2.02 0-4.314-1.085-4.314-4.006 0-3.447 3.323-4.253 6.518-4.253.778 0 1.584.034 2.3.124v-.465c0-1.427-.034-3.133-2.3-3.133-.84 0-1.488.061-2.143.402l-.453 1.578-3.195-.34.549-3.224c2.45-.996 3.692-1.27 5.992-1.27 3.01 0 5.556 1.55 5.556 4.75v6.083c0 .805.314 1.085.963 1.085.184 0 .375-.034.587-.095l.034 2.11a5.432 5.432 0 0 1-2.524.654Z" fill="currentColor"></path> </svg></a> <ul class="footer-moz-list"> <li class="footer-moz-item"><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.mozilla.org/privacy/websites/" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Website Privacy Notice</a></li> <li class="footer-moz-item"><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.mozilla.org/privacy/websites/%23cookies" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Cookies</a></li> <li class="footer-moz-item"><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.mozilla.org/about/legal/terms/mozilla" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Legal</a></li> <li class="footer-moz-item"><a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.mozilla.org/about/governance/policies/participation/" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Community Participation Guidelines</a></li> </ul> </div> <div class="page-footer-legal"> <p id="license" class="page-footer-legal-text">Visit<!-- --> <a href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://www.mozilla.org" target="_blank" rel="noopener noreferrer">Mozilla Corporation’s</a> <!-- -->not-for-profit parent, the<!-- --> <a target="_blank" rel="noopener noreferrer" href="https://translate.google.com/website?sl=pl&tl=fr&hl=en-GB&u=https://foundation.mozilla.org/">Mozilla Foundation</a>.<br> Portions of this content are ©1998–<!-- -->2024<!-- --> by individual mozilla.org contributors. Content available under<!-- --> <a href="https://developer-mozilla-org.translate.goog/en-US/docs/MDN/Writing_guidelines/Attrib_copyright_license?_x_tr_sl=pl&_x_tr_tl=fr&_x_tr_hl=en-GB">a Creative Commons license</a>.</p> </div> </div> </footer> </div> <script type="application/json" id="hydration">{"url":"/en-US/docs/Learn/CSS/Styling_text/Fundamentals","doc":{"body":[{"type":"prose","value":{"id":null,"title":null,"isH3":false,"content":"<ul class=\"prev-next\"><li><a class=\"button secondary\" href=\"/en-US/docs/Learn/CSS/Styling_text\"><span class=\"button-wrap\"> Overview: CSS styling text</span></a></li><li><a class=\"button secondary\" href=\"/en-US/docs/Learn/CSS/Styling_text/Styling_lists\"><span class=\"button-wrap\"> Next </span></a></li></ul>\n<p>In this article we'll start you on your journey towards mastering text styling with <a href=\"/en-US/docs/Glossary/CSS\">CSS</a>. Here we'll go through all the basic fundamentals of text/font styling in detail, including setting font weight, family and style, font shorthand, text alignment and other effects, and line and letter spacing.</p>\n<figure class=\"table-container\"><table>\n <tbody>\n <tr>\n <th scope=\"row\">Prerequisites:</th>\n <td>\n HTML basics (study\n <a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML\">Introduction to HTML</a>), CSS basics (study\n <a href=\"/en-US/docs/Learn/CSS/First_steps\">Introduction to CSS</a>).\n </td>\n </tr>\n <tr>\n <th scope=\"row\">Objective:</th>\n <td>\n To learn the fundamental properties and techniques needed to style text\n on web pages.\n </td>\n </tr>\n </tbody>\n</table></figure>"}},{"type":"prose","value":{"id":"what_is_involved_in_styling_text_in_css","title":"What is involved in styling text in CSS?","isH3":false,"content":"<p>Text inside an element is laid out inside the element's <a href=\"/en-US/docs/Learn/CSS/Building_blocks/The_box_model#parts_of_a_box\">content box</a>. It starts at the top left of the content area (or the top right, in the case of RTL language content), and flows towards the end of the line. Once it reaches the end, it goes down to the next line and flows to the end again. This pattern repeats until all the content has been placed in the box. Text content effectively behaves like a series of inline elements, being laid out on lines adjacent to one another, and not creating line breaks until the end of the line is reached, or unless you force a line break manually using the <a href=\"/en-US/docs/Web/HTML/Element/br\"><code><br></code></a> element.</p>\n<div class=\"notecard note\">\n<p><strong>Note:</strong>\nIf the above paragraph leaves you feeling confused, then no matter — go back and review our <a href=\"/en-US/docs/Learn/CSS/Building_blocks/The_box_model\">Box model</a> article to brush up on the box model theory before carrying on.</p>\n</div>\n<p>The CSS properties used to style text generally fall into two categories, which we'll look at separately in this article:</p>\n<ul>\n<li><strong>Font styles</strong>: Properties that affect a text's font, e.g., which font gets applied, its size, and whether it's bold, italic, etc.</li>\n<li><strong>Text layout styles</strong>: Properties that affect the spacing and other layout features of the text, allowing manipulation of, for example, the space between lines and letters, and how the text is aligned within the content box.</li>\n</ul>\n<div class=\"notecard note\">\n<p><strong>Note:</strong>\nBear in mind that the text inside an element is all affected as one single entity. You can't select and style subsections of text unless you wrap them in an appropriate element (such as a <a href=\"/en-US/docs/Web/HTML/Element/span\"><code><span></code></a> or <a href=\"/en-US/docs/Web/HTML/Element/strong\"><code><strong></code></a>), or use a text-specific pseudo-element like <a href=\"/en-US/docs/Web/CSS/::first-letter\">::first-letter</a> (selects the first letter of an element's text), <a href=\"/en-US/docs/Web/CSS/::first-line\">::first-line</a> (selects the first line of an element's text), or <a href=\"/en-US/docs/Web/CSS/::selection\">::selection</a> (selects the text currently highlighted by the cursor).</p>\n</div>"}},{"type":"prose","value":{"id":"fonts","title":"Fonts","isH3":false,"content":"<p>Let's move straight on to look at properties for styling fonts. In this example, we'll apply some CSS properties to the following HTML sample:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">html</span></div><pre class=\"brush: html notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<p>You can find the <a href=\"https://mdn.github.io/learning-area/css/styling-text/fundamentals/\" class=\"external\" target=\"_blank\">finished example on GitHub</a> (see also <a href=\"https://github.com/mdn/learning-area/blob/main/css/styling-text/fundamentals/index.html\" class=\"external\" target=\"_blank\">the source code</a>).</p>"}},{"type":"prose","value":{"id":"color","title":"Color","isH3":true,"content":"<p>The <a href=\"/en-US/docs/Web/CSS/color\"><code>color</code></a> property sets the color of the foreground content of the selected elements, which is usually the text, but can also include a couple of other things, such as an underline or overline placed on text using the <a href=\"/en-US/docs/Web/CSS/text-decoration\"><code>text-decoration</code></a> property.</p>\n<p><code>color</code> can accept any <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#color\">CSS color unit</a>, for example:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>p {\n color: red;\n}\n</code></pre></div>\n<p>This will cause the paragraphs to become red, rather than the standard browser default of black, like so:</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"Color sample\" id=\"frame_color\" width=\"100%\" height=\"230\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"color\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>"}},{"type":"prose","value":{"id":"font_families","title":"Font families","isH3":true,"content":"<p>To set a different font for your text, you use the <a href=\"/en-US/docs/Web/CSS/font-family\"><code>font-family</code></a> property — this allows you to specify a font (or list of fonts) for the browser to apply to the selected elements. The browser will only apply a font if it is available on the machine the website is being accessed on; if not, it will just use a browser <a href=\"#default_fonts\">default font</a>. A simple example looks like so:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>p {\n font-family: Arial;\n}\n</code></pre></div>\n<p>This would make all paragraphs on a page adopt the arial font, which is found on any computer.</p>\n<h4 id=\"web_safe_fonts\">Web safe fonts</h4>\n<p>Speaking of font availability, there are only a certain number of fonts that are generally available across all systems and can therefore be used without much worry. These are the so-called <strong>web safe fonts</strong>.</p>\n<p>Most of the time, as web developers we want to have more specific control over the fonts used to display our text content. The problem is to find a way to know which font is available on the computer used to see our web pages. There is no way to know this in every case, but the web safe fonts are known to be available on nearly all instances of the most used operating systems (Windows, macOS, the most common Linux distributions, Android, and iOS).</p>\n<p>The list of actual web safe fonts will change as operating systems evolve, but it's reasonable to consider the following fonts web safe, at least for now (many of them have been popularized thanks to the Microsoft <em><a href=\"https://en.wikipedia.org/wiki/Core_fonts_for_the_Web\" class=\"external\" target=\"_blank\">Core fonts for the Web</a></em> initiative in the late 90s and early 2000s):</p>\n<figure class=\"table-container\"><table class=\"standard-table no-markdown\">\n <thead>\n <tr>\n <th scope=\"col\">Name</th>\n <th scope=\"col\">Generic type</th>\n <th scope=\"col\">Notes</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Arial</td>\n <td>sans-serif</td>\n <td>\n It's often considered best practice to also add <em>Helvetica</em> as a\n preferred alternative to <em>Arial</em> as, although their font faces\n are almost identical, <em>Helvetica</em> is considered to have a nicer\n shape, even if <em>Arial</em> is more broadly available.\n </td>\n </tr>\n <tr>\n <td>Courier New</td>\n <td>monospace</td>\n <td>\n Some OSes have an alternative (possibly older) version of the\n <em>Courier New</em> font called <em>Courier</em>. It's considered best\n practice to use both with <em>Courier New</em> as the preferred\n alternative.\n </td>\n </tr>\n <tr>\n <td>Georgia</td>\n <td>serif</td>\n <td></td>\n </tr>\n <tr>\n <td>Times New Roman</td>\n <td>serif</td>\n <td>\n Some OSes have an alternative (possibly older) version of the\n <em>Times New Roman</em> font called <em>Times</em>. It's considered\n best practice to use both with <em>Times New Roman</em> as the preferred\n alternative.\n </td>\n </tr>\n <tr>\n <td>Trebuchet MS</td>\n <td>sans-serif</td>\n <td>\n You should be careful with using this font — it isn't widely available\n on mobile OSes.\n </td>\n </tr>\n <tr>\n <td>Verdana</td>\n <td>sans-serif</td>\n <td></td>\n </tr>\n </tbody>\n</table></figure>\n<div class=\"notecard note\">\n<p><strong>Note:</strong>\nAmong various resources, the <a href=\"https://www.cssfontstack.com/\" class=\"external\" target=\"_blank\">cssfontstack.com</a> website maintains a list of web safe fonts available on Windows and macOS operating systems, which can help you make your decision about what you consider safe for your usage.</p>\n</div>\n<div class=\"notecard note\">\n<p><strong>Note:</strong>\nThere is a way to download a custom font along with a webpage, to allow you to customize your font usage in any way you want: <strong>web fonts</strong>. This is a little bit more complex, and we will discuss it in a <a href=\"/en-US/docs/Learn/CSS/Styling_text/Web_fonts\">separate article</a> later on in the module.</p>\n</div>\n<h4 id=\"default_fonts\">Default fonts</h4>\n<p>CSS defines five generic names for fonts: <code>serif</code>, <code>sans-serif</code>, <code>monospace</code>, <code>cursive</code>, and <code>fantasy</code>. These are very generic and the exact font face used from these generic names can vary between each browser and each operating system that they are displayed on. It represents a <em>worst case scenario</em> where the browser will try its best to provide a font that looks appropriate. <code>serif</code>, <code>sans-serif</code>, and <code>monospace</code> are quite predictable and should provide something reasonable. On the other hand, <code>cursive</code> and <code>fantasy</code> are less predictable and we recommend using them very carefully, testing as you go.</p>\n<p>The five names are defined as follows:</p>\n<figure class=\"table-container\"><table class=\"standard-table no-markdown\">\n <thead>\n <tr>\n <th scope=\"col\">Term</th>\n <th scope=\"col\">Definition</th>\n <th scope=\"col\">Example</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><code>serif</code></td>\n <td>\n Fonts that have serifs (the flourishes and other small details you see\n at the ends of the strokes in some typefaces).\n </td>\n <td id=\"serif-example\">\n <div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code>My big red elephant</code></pre></div>\n <div class=\"code-example\"><pre class=\"brush: css hidden notranslate\"><code>\nbody {\n font-family: serif;\n}</code></pre></div>\n <div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"serif-example sample\" id=\"frame_serif-example\" width=\"100\" height=\"60\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"serif-example\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>\n </td>\n </tr>\n <tr>\n <td><code>sans-serif</code></td>\n <td>Fonts that don't have serifs.</td>\n <td id=\"sans-serif-example\">\n <div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code>My big red elephant</code></pre></div>\n <div class=\"code-example\"><pre class=\"brush: css hidden notranslate\"><code>\nbody {\n font-family: sans-serif;\n}</code></pre></div>\n <div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"sans-serif-example sample\" id=\"frame_sans-serif-example\" width=\"100\" height=\"60\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"sans-serif-example\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>\n </td>\n </tr>\n <tr>\n <td><code>monospace</code></td>\n <td>\n Fonts where every character has the same width, typically used in code\n listings.\n </td>\n <td id=\"monospace-example\">\n <div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code>My big red elephant</code></pre></div>\n <div class=\"code-example\"><pre class=\"brush: css hidden notranslate\"><code>\nbody {\n font-family: monospace;\n}</code></pre></div>\n <div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"monospace-example sample\" id=\"frame_monospace-example\" width=\"100\" height=\"60\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"monospace-example\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>\n </td>\n </tr>\n <tr>\n <td><code>cursive</code></td>\n <td>\n Fonts that are intended to emulate handwriting, with flowing, connected\n strokes.\n </td>\n <td id=\"cursive-example\">\n <div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code>My big red elephant</code></pre></div>\n <div class=\"code-example\"><pre class=\"brush: css hidden notranslate\"><code>\nbody {\n font-family: cursive;\n}</code></pre></div>\n <div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"cursive-example sample\" id=\"frame_cursive-example\" width=\"100\" height=\"60\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"cursive-example\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>\n </td>\n </tr>\n <tr>\n <td><code>fantasy</code></td>\n <td>Fonts that are intended to be decorative.</td>\n <td id=\"fantasy-example\">\n <div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code>My big red elephant</code></pre></div>\n <div class=\"code-example\"><pre class=\"brush: css hidden notranslate\"><code>\nbody {\n font-family: fantasy;\n}</code></pre></div>\n <div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"fantasy-example sample\" id=\"frame_fantasy-example\" width=\"100\" height=\"60\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"fantasy-example\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>\n </td>\n </tr>\n </tbody>\n</table></figure>\n<h4 id=\"font_stacks\">Font stacks</h4>\n<p>Since you can't guarantee the availability of the fonts you want to use on your webpages (even a web font <em>could</em> fail for some reason), you can supply a <strong>font stack</strong> so that the browser has multiple fonts it can choose from. This involves a <code>font-family</code> value consisting of multiple font names separated by commas, e.g.,</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>p {\n font-family: \"Trebuchet MS\", Verdana, sans-serif;\n}\n</code></pre></div>\n<p>In such a case, the browser starts at the beginning of the list and looks to see if that font is available on the machine. If it is, it applies that font to the selected elements. If not, it moves on to the next font, and so on.</p>\n<p>It is a good idea to provide a suitable generic font name at the end of the stack so that if none of the listed fonts are available, the browser can at least provide something approximately suitable. To emphasize this point, paragraphs are given the browser's default serif font if no other option is available — which is usually Times New Roman — this is no good for a sans-serif font!</p>\n<div class=\"notecard note\">\n<p><strong>Note:</strong>\nWhile you can use font family names that contain a space, such as <code>Trebuchet MS</code>, without quoting the name, to avoid mistakes in escaping, it is recommended to quote font family names that contain white space, digits, or punctuation characters other than hyphens.</p>\n</div>\n<div class=\"notecard warning\">\n<p><strong>Warning:</strong>\nAny font family name which could be misinterpreted as a generic family name or a CSS-wide keyword must be quoted. While the font-family names can be included as a <a href=\"/en-US/docs/Web/CSS/custom-ident\"><code><custom-ident></code></a> or a <a href=\"/en-US/docs/Web/CSS/string\"><code><string></code></a>, font family names that happen to be the same as a CSS-wide property value, like <code>initial</code>, or <code>inherit</code>, or CSS have the same name as one to the generic font family names, like <code>sans-serif</code> or <code>fantasy</code>, must be included as a quoted string. Otherwise, the font family name will be interpreted as being the equivalent CSS keyword or generic family name. When used as keywords, the generic font family names —<code>serif</code>, <code>sans-serif</code>, <code>monospace</code>, <code>cursive</code>, and <code>fantasy</code> — and the global CSS keywords MUST NOT be quoted, as strings are not interpreted as CSS keywords.</p>\n</div>\n<h4 id=\"a_font-family_example\">A font-family example</h4>\n<p>Let's add to our previous example, giving the paragraphs a sans-serif font:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>p {\n color: red;\n font-family: Helvetica, Arial, sans-serif;\n}\n</code></pre></div>\n<p>This gives us the following result:</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"A font-family example sample\" id=\"frame_a_font-family_example\" width=\"100%\" height=\"220\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"a_font-family_example\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>"}},{"type":"prose","value":{"id":"font_size","title":"Font size","isH3":true,"content":"<p>In our previous module's <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units\">CSS values and units</a> article, we reviewed length and size units. Font size (set with the <a href=\"/en-US/docs/Web/CSS/font-size\"><code>font-size</code></a> property) can take values measured in most of these units (and others, such as <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#percentages\">percentages</a>); however, the most common units you'll use to size text are:</p>\n<ul>\n<li><code>px</code> (pixels): The number of pixels high you want the text to be. This is an absolute unit — it results in the same final computed value for the font on the page in pretty much any situation.</li>\n<li><code>em</code>s: 1 <code>em</code> is equal to the font size set on the parent element of the current element we are styling (more specifically, the width of a capital letter M contained inside the parent element). This can become tricky to work out if you have a lot of nested elements with different font sizes set, but it is doable, as you'll see below. Why bother? It is quite natural once you get used to it, and you can use <code>em</code> to size everything, not just text. You can have an entire website sized using <code>em</code>, which makes maintenance easy.</li>\n<li><code>rem</code>s: These work just like <code>em</code>, except that 1 <code>rem</code> is equal to the font size set on the root element of the document (i.e. <a href=\"/en-US/docs/Web/HTML/Element/html\"><code><html></code></a>), not the parent element. This makes doing the maths to work out your font sizes much easier.</li>\n</ul>\n<p>The <code>font-size</code> of an element is inherited from that element's parent element. This all starts with the root element of the entire document — <a href=\"/en-US/docs/Web/HTML/Element/html\"><code><html></code></a> — the standard <code>font-size</code> of which is set to <code>16px</code> across browsers. Any paragraph (or another element that doesn't have a different size set by the browser) inside the root element will have a final size of <code>16px</code>. Other elements may have different default sizes. For example, an <a href=\"/en-US/docs/Web/HTML/Element/Heading_Elements\">h1</a> element has a size of <code>2em</code> set by default, so it will have a final size of <code>32px</code>.</p>\n<p>Things become more tricky when you start altering the font size of nested elements. For example, if you had an <a href=\"/en-US/docs/Web/HTML/Element/article\"><code><article></code></a> element in your page, and set its <code>font-size</code> to 1.5 <code>em</code> (which would compute to 24 <code>px</code> final size), and then wanted the paragraphs inside the <code><article></code> elements to have a computed font size of 20 <code>px</code>, what <code>em</code> value would you use?</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">html</span></div><pre class=\"brush: html notranslate\"><code><!-- document base font-size is 16px -->\n<article>\n <!-- If my font-size is 1.5em -->\n <p>My paragraph</p>\n <!-- How do I compute to 20px font-size? -->\n</article>\n</code></pre></div>\n<p>You would need to set its <code>em</code> value to 20/24, or 0.83333333 <code>em</code>. The maths can be complicated, so you need to be careful about how you style things. It is best to use <code>rem</code> where you can to keep things simple, and avoid setting the <code>font-size</code> of container elements where possible.</p>"}},{"type":"prose","value":{"id":"font_style_font_weight_text_transform_and_text_decoration","title":"Font style, font weight, text transform, and text decoration","isH3":true,"content":"<p>CSS provides four common properties to alter the visual weight/emphasis of text:</p>\n<ul>\n<li>\n<p><a href=\"/en-US/docs/Web/CSS/font-style\"><code>font-style</code></a>: Used to turn italic text on or off. Possible values are as follows (you'll rarely use this, unless you want to turn some italic styling off for some reason):</p>\n<ul>\n<li><code>normal</code>: Sets the text to the normal font (turns existing italics off).</li>\n<li><code>italic</code>: Sets the text to use the italic version of the font, if available; if not, it will simulate italics with oblique instead.</li>\n<li><code>oblique</code>: Sets the text to use a simulated version of an italic font, created by slanting the normal version.</li>\n</ul>\n</li>\n<li>\n<p><a href=\"/en-US/docs/Web/CSS/font-weight\"><code>font-weight</code></a>: Sets how bold the text is. This has many values available in case you have many font variants available (such as <em>-light</em>, <em>-normal</em>, <em>-bold</em>, <em>-extrabold</em>, <em>-black</em>, etc.), but realistically you'll rarely use any of them except for <code>normal</code> and <code>bold</code>:</p>\n<ul>\n<li><code>normal</code>, <code>bold</code>: Normal and bold font weight.</li>\n<li><code>lighter</code>, <code>bolder</code>: Sets the current element's boldness to be one step lighter or heavier than its parent element's boldness.</li>\n<li><code>100</code> – <code>900</code>: Numeric boldness values that provide finer grained control than the above keywords, if needed.</li>\n</ul>\n</li>\n<li>\n<p><a href=\"/en-US/docs/Web/CSS/text-transform\"><code>text-transform</code></a>: Allows you to set your font to be transformed. Values include:</p>\n<ul>\n<li><code>none</code>: Prevents any transformation.</li>\n<li><code>uppercase</code>: Transforms all text to capitals.</li>\n<li><code>lowercase</code>: Transforms all text to lower case.</li>\n<li><code>capitalize</code>: Transforms all words to have the first letter capitalized.</li>\n<li><code>full-width</code>: Transforms all glyphs to be written inside a fixed-width square, similar to a monospace font, allowing aligning of, e.g., Latin characters along with Asian language glyphs (like Chinese, Japanese, Korean).</li>\n</ul>\n</li>\n<li>\n<p><a href=\"/en-US/docs/Web/CSS/text-decoration\"><code>text-decoration</code></a>: Sets/unsets text decorations on fonts (you'll mainly use this to unset the default underline on links when styling them). Available values are:</p>\n<ul>\n<li><code>none</code>: Unsets any text decorations already present.</li>\n<li><code>underline</code>: Underlines the text.</li>\n<li><code>overline</code>: Gives the text an overline.</li>\n<li><code>line-through</code>: Puts a strikethrough over the text.</li>\n</ul>\n<p>You should note that <a href=\"/en-US/docs/Web/CSS/text-decoration\"><code>text-decoration</code></a> can accept multiple values at once if you want to add multiple decorations simultaneously, for example, <code>text-decoration: underline overline</code>. Also note that <a href=\"/en-US/docs/Web/CSS/text-decoration\"><code>text-decoration</code></a> is a shorthand property for <a href=\"/en-US/docs/Web/CSS/text-decoration-line\"><code>text-decoration-line</code></a>, <a href=\"/en-US/docs/Web/CSS/text-decoration-style\"><code>text-decoration-style</code></a>, and <a href=\"/en-US/docs/Web/CSS/text-decoration-color\"><code>text-decoration-color</code></a>. You can use combinations of these property values to create interesting effects, for example: <code>text-decoration: line-through red wavy</code>.</p>\n</li>\n</ul>\n<p>Let's look at adding a couple of these properties to our example:</p>\n<p>Our new result is like so:</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>html {\n font-size: 10px;\n}\n\nh1 {\n font-size: 5rem;\n text-transform: capitalize;\n}\n\nh1 + p {\n font-weight: bold;\n}\n\np {\n font-size: 1.5rem;\n color: red;\n font-family: Helvetica, Arial, sans-serif;\n}\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"Font style font weight text transform and text decoration sample\" id=\"frame_font_style_font_weight_text_transform_and_text_decoration\" width=\"100%\" height=\"260\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"font_style_font_weight_text_transform_and_text_decoration\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>"}},{"type":"prose","value":{"id":"text_drop_shadows","title":"Text drop shadows","isH3":true,"content":"<p>You can apply drop shadows to your text using the <a href=\"/en-US/docs/Web/CSS/text-shadow\"><code>text-shadow</code></a> property. This takes up to four values, as shown in the example below:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>text-shadow: 4px 4px 5px red;\n</code></pre></div>\n<p>The four properties are as follows:</p>\n<ol>\n<li>The horizontal offset of the shadow from the original text — this can take most available CSS <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths\">length and size units</a>, but you'll most commonly use <code>px</code>; positive values move the shadow right, and negative values left. This value has to be included.</li>\n<li>The vertical offset of the shadow from the original text. This behaves similarly to the horizontal offset, except that it moves the shadow up/down, not left/right. This value has to be included.</li>\n<li>The blur radius: a higher value means the shadow is dispersed more widely. If this value is not included, it defaults to 0, which means no blur. This can take most available CSS <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths\">length and size units</a>.</li>\n<li>The base color of the shadow, which can take any <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#color\">CSS color unit</a>. If not included, it defaults to <a href=\"/en-US/docs/Web/CSS/color_value#currentcolor_keyword\"><code>currentcolor</code></a>, i.e. the shadow's color is taken from the element's <a href=\"/en-US/docs/Web/CSS/color\"><code>color</code></a> property.</li>\n</ol>\n<h4 id=\"multiple_shadows\">Multiple shadows</h4>\n<p>You can apply multiple shadows to the same text by including multiple shadow values separated by commas, for example:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>h1 {\n text-shadow:\n 1px 1px 1px red,\n 2px 2px 1px red;\n}\n</code></pre></div>\n<p>If we applied this to the <a href=\"/en-US/docs/Web/HTML/Element/Heading_Elements\">h1</a> element in our Tommy The Cat example, we'd end up with this:</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<div class=\"code-example\"><pre class=\"brush: css hidden notranslate\"><code>html {\n font-size: 10px;\n}\n\nh1 {\n font-size: 5rem;\n text-transform: capitalize;\n}\n\nh1 + p {\n font-weight: bold;\n}\n\np {\n font-size: 1.5rem;\n color: red;\n font-family: Helvetica, Arial, sans-serif;\n}\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"Multiple shadows sample\" id=\"frame_multiple_shadows\" width=\"100%\" height=\"260\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"multiple_shadows\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>\n<div class=\"notecard note\">\n<p><strong>Note:</strong>\nYou can see more interesting examples of <code>text-shadow</code> usage in the Sitepoint article <a href=\"https://www.sitepoint.com/moonlighting-css-text-shadow/\" class=\"external\" target=\"_blank\">Moonlighting with CSS text-shadow</a>.</p>\n</div>"}},{"type":"prose","value":{"id":"text_layout","title":"Text layout","isH3":false,"content":"<p>With basic font properties out of the way, let's have a look at properties we can use to affect text layout.</p>"}},{"type":"prose","value":{"id":"text_alignment","title":"Text alignment","isH3":true,"content":"<p>The <a href=\"/en-US/docs/Web/CSS/text-align\"><code>text-align</code></a> property is used to control how text is aligned within its containing content box. The available values are listed below. They work in pretty much the same way as they do in a regular word processor application:</p>\n<ul>\n<li><code>left</code>: Left-justifies the text.</li>\n<li><code>right</code>: Right-justifies the text.</li>\n<li><code>center</code>: Centers the text.</li>\n<li><code>justify</code>: Makes the text spread out, varying the gaps in between the words so that all lines of text are the same width. You need to use this carefully — it can look terrible, especially when applied to a paragraph with lots of long words in it. If you are going to use this, you should also think about using something else along with it, such as <a href=\"/en-US/docs/Web/CSS/hyphens\"><code>hyphens</code></a>, to break some of the longer words across lines.</li>\n</ul>\n<p>If we applied <code>text-align: center;</code> to the <a href=\"/en-US/docs/Web/HTML/Element/Heading_Elements\">h1</a> in our example, we'd end up with this:</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>html {\n font-size: 10px;\n}\n\nh1 {\n font-size: 5rem;\n text-transform: capitalize;\n text-shadow:\n 1px 1px 1px red,\n 2px 2px 1px red;\n text-align: center;\n}\n\nh1 + p {\n font-weight: bold;\n}\n\np {\n font-size: 1.5rem;\n color: red;\n font-family: Helvetica, Arial, sans-serif;\n}\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"Text alignment sample\" id=\"frame_text_alignment\" width=\"100%\" height=\"260\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"text_alignment\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>"}},{"type":"prose","value":{"id":"line_height","title":"Line height","isH3":true,"content":"<p>The <a href=\"/en-US/docs/Web/CSS/line-height\"><code>line-height</code></a> property sets the height of each line of text. This property can not only take most <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths\">length and size units</a>, but can also take a unitless value, which acts as a multiplier and is generally considered the best option. With a unitless value, the <a href=\"/en-US/docs/Web/CSS/font-size\"><code>font-size</code></a> gets multiplied and results in the <code>line-height</code>. Body text generally looks nicer and is easier to read when the lines are spaced apart. The recommended line height is around 1.5 – 2 (double spaced). To set our lines of text to 1.6 times the height of the font, we'd use:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>p {\n line-height: 1.6;\n}\n</code></pre></div>\n<p>Applying this to the <a href=\"/en-US/docs/Web/HTML/Element/p\"><code><p></code></a> elements in our example would give us this result:</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>html {\n font-size: 10px;\n}\n\nh1 {\n font-size: 5rem;\n text-transform: capitalize;\n text-shadow:\n 1px 1px 1px red,\n 2px 2px 1px red;\n text-align: center;\n}\n\nh1 + p {\n font-weight: bold;\n}\n\np {\n font-size: 1.5rem;\n color: red;\n font-family: Helvetica, Arial, sans-serif;\n line-height: 1.6;\n}\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"Line height sample\" id=\"frame_line_height\" width=\"100%\" height=\"300\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"line_height\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>"}},{"type":"prose","value":{"id":"letter_and_word_spacing","title":"Letter and word spacing","isH3":true,"content":"<p>The <a href=\"/en-US/docs/Web/CSS/letter-spacing\"><code>letter-spacing</code></a> and <a href=\"/en-US/docs/Web/CSS/word-spacing\"><code>word-spacing</code></a> properties allow you to set the spacing between letters and words in your text. You won't use these very often, but might find a use for them to obtain a specific look, or to improve the legibility of a particularly dense font. They can take most <a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths\">length units</a>.</p>\n<p>To illustrate, we could apply some word- and letter-spacing to the first line of each <a href=\"/en-US/docs/Web/HTML/Element/p\"><code><p></code></a> element in our HTML sample with:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>p::first-line {\n letter-spacing: 4px;\n word-spacing: 4px;\n}\n</code></pre></div>\n<p>This renders our HTML as:</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><h1>Tommy the cat</h1>\n\n<p>Well I remember it as though it were a meal ago…</p>\n\n<p>\n Said Tommy the Cat as he reeled back to clear whatever foreign matter may have\n nestled its way into his mighty throat. Many a fat alley rat had met its\n demise while staring point blank down the cavernous barrel of this awesome\n prowling machine. Truly a wonder of nature this urban predator — Tommy the cat\n had many a story to tell. But it was a rare occasion such as this that he did.\n</p>\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>html {\n font-size: 10px;\n}\n\nh1 {\n font-size: 5rem;\n text-transform: capitalize;\n text-shadow:\n 1px 1px 1px red,\n 2px 2px 1px red;\n text-align: center;\n letter-spacing: 2px;\n}\n\nh1 + p {\n font-weight: bold;\n}\n\np {\n font-size: 1.5rem;\n color: red;\n font-family: Helvetica, Arial, sans-serif;\n line-height: 1.6;\n letter-spacing: 1px;\n}\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"Letter and word spacing sample\" id=\"frame_letter_and_word_spacing\" width=\"100%\" height=\"330\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"letter_and_word_spacing\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>"}},{"type":"prose","value":{"id":"other_properties_worth_looking_at","title":"Other properties worth looking at","isH3":true,"content":"<p>The above properties give you an idea of how to start styling text on a webpage, but there are many more properties you could use. We just wanted to cover the most important ones here. Once you've become used to using the above, you should also explore the following:</p>\n<p>Font styles:</p>\n<ul>\n<li><a href=\"/en-US/docs/Web/CSS/font-variant\"><code>font-variant</code></a>: Switch between small caps and normal font alternatives.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-kerning\"><code>font-kerning</code></a>: Switch font kerning options on and off.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-feature-settings\"><code>font-feature-settings</code></a>: Switch various <a href=\"https://en.wikipedia.org/wiki/OpenType\" class=\"external\" target=\"_blank\">OpenType</a> font features on and off.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-variant-alternates\"><code>font-variant-alternates</code></a>: Control the use of alternate glyphs for a given font-face.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-variant-caps\"><code>font-variant-caps</code></a>: Control the use of alternate capital glyphs.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-variant-east-asian\"><code>font-variant-east-asian</code></a>: Control the usage of alternate glyphs for East Asian scripts, like Japanese and Chinese.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-variant-ligatures\"><code>font-variant-ligatures</code></a>: Control which ligatures and contextual forms are used in text.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-variant-numeric\"><code>font-variant-numeric</code></a>: Control the usage of alternate glyphs for numbers, fractions, and ordinal markers.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-variant-position\"><code>font-variant-position</code></a>: Control the usage of alternate glyphs of smaller sizes positioned as superscript or subscript.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-size-adjust\"><code>font-size-adjust</code></a>: Adjust the visual size of the font independently of its actual font size.</li>\n<li><a href=\"/en-US/docs/Web/CSS/font-stretch\"><code>font-stretch</code></a>: Switch between possible alternative stretched versions of a given font.</li>\n<li><a href=\"/en-US/docs/Web/CSS/text-underline-position\"><code>text-underline-position</code></a>: Specify the position of underlines set using the <code>text-decoration-line</code> property <code>underline</code> value.</li>\n<li><a href=\"/en-US/docs/Web/CSS/text-rendering\"><code>text-rendering</code></a>: Try to perform some text rendering optimization.</li>\n</ul>\n<p>Text layout styles:</p>\n<ul>\n<li><a href=\"/en-US/docs/Web/CSS/text-indent\"><code>text-indent</code></a>: Specify how much horizontal space should be left before the beginning of the first line of the text content.</li>\n<li><a href=\"/en-US/docs/Web/CSS/text-overflow\"><code>text-overflow</code></a>: Define how overflowed content that is not displayed is signaled to users.</li>\n<li><a href=\"/en-US/docs/Web/CSS/white-space\"><code>white-space</code></a>: Define how whitespace and associated line breaks inside the element are handled.</li>\n<li><a href=\"/en-US/docs/Web/CSS/word-break\"><code>word-break</code></a>: Specify whether to break lines within words.</li>\n<li><a href=\"/en-US/docs/Web/CSS/direction\"><code>direction</code></a>: Define the text direction. (This depends on the language and usually it's better to let HTML handle that part as it is tied to the text content.)</li>\n<li><a href=\"/en-US/docs/Web/CSS/hyphens\"><code>hyphens</code></a>: Switch on and off hyphenation for supported languages.</li>\n<li><a href=\"/en-US/docs/Web/CSS/line-break\"><code>line-break</code></a>: Relax or strengthen line breaking for Asian languages.</li>\n<li><a href=\"/en-US/docs/Web/CSS/text-align-last\"><code>text-align-last</code></a>: Define how the last line of a block or a line, right before a forced line break, is aligned.</li>\n<li><a href=\"/en-US/docs/Web/CSS/text-orientation\"><code>text-orientation</code></a>: Define the orientation of the text in a line.</li>\n<li><a href=\"/en-US/docs/Web/CSS/overflow-wrap\"><code>overflow-wrap</code></a>: Specify whether or not the browser may break lines within words in order to prevent overflow.</li>\n<li><a href=\"/en-US/docs/Web/CSS/writing-mode\"><code>writing-mode</code></a>: Define whether lines of text are laid out horizontally or vertically and the direction in which subsequent lines flow.</li>\n</ul>"}},{"type":"prose","value":{"id":"font_shorthand","title":"Font shorthand","isH3":false,"content":"<p>Many font properties can also be set through the shorthand property <a href=\"/en-US/docs/Web/CSS/font\"><code>font</code></a>. These are written in the following order: <a href=\"/en-US/docs/Web/CSS/font-style\"><code>font-style</code></a>, <a href=\"/en-US/docs/Web/CSS/font-variant\"><code>font-variant</code></a>, <a href=\"/en-US/docs/Web/CSS/font-weight\"><code>font-weight</code></a>, <a href=\"/en-US/docs/Web/CSS/font-stretch\"><code>font-stretch</code></a>, <a href=\"/en-US/docs/Web/CSS/font-size\"><code>font-size</code></a>, <a href=\"/en-US/docs/Web/CSS/line-height\"><code>line-height</code></a>, and <a href=\"/en-US/docs/Web/CSS/font-family\"><code>font-family</code></a>.</p>\n<p>Among all those properties, only <code>font-size</code> and <code>font-family</code> are required when using the <code>font</code> shorthand property.</p>\n<p>A forward slash has to be put in between the <a href=\"/en-US/docs/Web/CSS/font-size\"><code>font-size</code></a> and <a href=\"/en-US/docs/Web/CSS/line-height\"><code>line-height</code></a> properties.</p>\n<p>A full example would look like this:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">css</span></div><pre class=\"brush: css notranslate\"><code>font:\n italic normal bold normal 3em/1.5 Helvetica,\n Arial,\n sans-serif;\n</code></pre></div>"}},{"type":"prose","value":{"id":"active_learning_playing_with_styling_text","title":"Active learning: Playing with styling text","isH3":false,"content":"<p>In this active learning session we don't have any specific exercises for you to do. We'd just like you to have a good play with some font/text layout properties. See for yourself what you can come up with! You can either do this using offline HTML/CSS files, or enter your code into the live editable example below.</p>\n<p>If you make a mistake, you can always reset it using the <em>Reset</em> button.</p>\n<div class=\"code-example\"><pre class=\"brush: html hidden notranslate\"><code><div\n class=\"body-wrapper\"\n style=\"font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;\">\n <h2>HTML Input</h2>\n <textarea\n id=\"code\"\n class=\"html-input\"\n style=\"width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;\">\n<p>Some sample text for your delight</p>\n </textarea>\n\n <h2>CSS Input</h2>\n <textarea\n id=\"code\"\n class=\"css-input\"\n style=\"width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;\">\np {\n\n}\n </textarea>\n\n <h2>Output</h2>\n <div\n class=\"output\"\n style=\"width: 90%;height: 10em;padding: 10px;border: 1px solid #0095dd;\"></div>\n <div class=\"controls\">\n <input\n id=\"reset\"\n type=\"button\"\n value=\"Reset\"\n style=\"margin: 10px 10px 0 0;\" />\n </div>\n</div>\n</code></pre></div>\n<div class=\"code-example\"><pre class=\"brush: js hidden notranslate\"><code>const htmlInput = document.querySelector(\".html-input\");\nconst cssInput = document.querySelector(\".css-input\");\nconst reset = document.getElementById(\"reset\");\nlet htmlCode = htmlInput.value;\nlet cssCode = cssInput.value;\nconst output = document.querySelector(\".output\");\n\nconst styleElem = document.createElement(\"style\");\nconst headElem = document.querySelector(\"head\");\nheadElem.appendChild(styleElem);\n\nfunction drawOutput() {\n output.innerHTML = htmlInput.value;\n styleElem.textContent = cssInput.value;\n}\n\nreset.addEventListener(\"click\", () => {\n htmlInput.value = htmlCode;\n cssInput.value = cssCode;\n drawOutput();\n});\n\nhtmlInput.addEventListener(\"input\", drawOutput);\ncssInput.addEventListener(\"input\", drawOutput);\nwindow.addEventListener(\"load\", drawOutput);\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"></div><iframe class=\"sample-code-frame\" title=\"Active learning Playing with styling text sample\" id=\"frame_active_learning_playing_with_styling_text\" width=\"700\" height=\"800\" src=\"about:blank\" data-live-path=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals/\" data-live-id=\"active_learning_playing_with_styling_text\" sandbox=\"allow-same-origin allow-scripts\" loading=\"lazy\"></iframe></div>"}},{"type":"prose","value":{"id":"summary","title":"Summary","isH3":false,"content":"<p>We hope you enjoyed playing with text in this article! The next article will provide you with all you need to know about <a href=\"/en-US/docs/Learn/CSS/Styling_text/Styling_lists\">styling HTML lists</a>.</p>\n<ul class=\"prev-next\"><li><a class=\"button secondary\" href=\"/en-US/docs/Learn/CSS/Styling_text\"><span class=\"button-wrap\"> Overview: CSS styling text</span></a></li><li><a class=\"button secondary\" href=\"/en-US/docs/Learn/CSS/Styling_text/Styling_lists\"><span class=\"button-wrap\"> Next </span></a></li></ul>"}}],"isActive":true,"isMarkdown":true,"isTranslated":false,"locale":"en-US","mdn_url":"/en-US/docs/Learn/CSS/Styling_text/Fundamentals","modified":"2024-07-25T20:16:09.000Z","native":"English (US)","noIndexing":false,"other_translations":[{"locale":"de","title":"Grundlegende Text- und Schriftgestaltung","native":"Deutsch"},{"locale":"es","title":"Fundamentos de texto y fuentes tipográficas","native":"Español"},{"locale":"fr","title":"Initiation à la mise en forme du texte","native":"Français"},{"locale":"ja","title":"基本的なテキストとフォントのスタイル設定","native":"日本語"},{"locale":"ko","title":"기본적인 텍스트 및 글꼴 스타일링","native":"한국어"},{"locale":"ru","title":"Основы стилизирования текста и шрифта","native":"Русский"},{"locale":"zh-CN","title":"基本文本和字体样式","native":"中文 (简体)"}],"pageTitle":"Fundamental text and font styling - Learn web development | MDN","parents":[{"uri":"/en-US/docs/Learn","title":"Guides"},{"uri":"/en-US/docs/Learn/CSS","title":"CSS"},{"uri":"/en-US/docs/Learn/CSS/Styling_text","title":"CSS styling text"},{"uri":"/en-US/docs/Learn/CSS/Styling_text/Fundamentals","title":"Fundamental text and font styling"}],"popularity":null,"short_title":"Fundamental text and font styling","sidebarHTML":"<ol><li class=\"section\"><a href=\"/en-US/docs/Learn/Getting_started_with_the_web\">Complete beginners start here!</a></li><li class=\"toggle\"><details><summary>Getting started with the web</summary><ol><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web\">Getting started with the web</a></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/Installing_basic_software\">Installing basic software</a></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/What_will_your_website_look_like\">What will your website look like?</a><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n<span class=\"visually-hidden\">Deprecated</span>\n</abbr></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/Dealing_with_files\">Dealing with files</a></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/HTML_basics\">HTML basics</a></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/CSS_basics\">CSS basics</a></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics\">JavaScript basics</a></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/Publishing_your_website\">Publishing your website</a></li><li><a href=\"/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works\">How the web works</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/HTML\">HTML — Structuring the web</a></li><li class=\"toggle\"><details><summary>Introduction to HTML</summary><ol><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML\">Introduction to HTML</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started\">Getting started with HTML</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML\">What's in the head? Metadata in HTML</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals\">HTML text fundamentals</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks\">Creating hyperlinks</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_formatting\">Advanced text formatting</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/Document_and_website_structure\">Document and website structure</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/Debugging_HTML\">Debugging HTML</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/Marking_up_a_letter\">Marking up a letter</a></li><li><a href=\"/en-US/docs/Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content\">Structuring a page of content</a></li></ol></details></li><li class=\"toggle\"><details><summary>Multimedia and embedding</summary><ol><li><a href=\"/en-US/docs/Learn/HTML/Multimedia_and_embedding\">Multimedia and embedding</a></li><li><a href=\"/en-US/docs/Learn/HTML/Multimedia_and_embedding/Images_in_HTML\">Images in HTML</a></li><li><a href=\"/en-US/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content\">Video and audio content</a></li><li><a href=\"/en-US/docs/Learn/HTML/Multimedia_and_embedding/Other_embedding_technologies\">From object to iframe — other embedding technologies</a></li><li><a href=\"/en-US/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web\">Adding vector graphics to the web</a></li><li><a href=\"/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images\">Responsive images</a></li><li><a href=\"/en-US/docs/Learn/HTML/Multimedia_and_embedding/Mozilla_splash_page\">Mozilla splash page</a></li></ol></details></li><li class=\"toggle\"><details><summary>HTML tables</summary><ol><li><a href=\"/en-US/docs/Learn/HTML/Tables\">HTML tables</a></li><li><a href=\"/en-US/docs/Learn/HTML/Tables/Basics\">HTML table basics</a></li><li><a href=\"/en-US/docs/Learn/HTML/Tables/Advanced\">HTML table advanced features and accessibility</a></li><li><a href=\"/en-US/docs/Learn/HTML/Tables/Structuring_planet_data\">Structuring planet data</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/CSS\">CSS — Styling the web</a></li><li class=\"toggle\"><details><summary>CSS first steps</summary><ol><li><a href=\"/en-US/docs/Learn/CSS/First_steps\">CSS first steps</a></li><li><a href=\"/en-US/docs/Learn/CSS/First_steps/What_is_CSS\">What is CSS?</a></li><li><a href=\"/en-US/docs/Learn/CSS/First_steps/Getting_started\">Getting started with CSS</a></li><li><a href=\"/en-US/docs/Learn/CSS/First_steps/How_CSS_is_structured\">How CSS is structured</a></li><li><a href=\"/en-US/docs/Learn/CSS/First_steps/How_CSS_works\">How CSS works</a></li><li><a href=\"/en-US/docs/Learn/CSS/First_steps/Styling_a_biography_page\">Styling a biography page</a></li></ol></details></li><li class=\"toggle\"><details><summary>CSS building blocks</summary><ol><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks\">CSS building blocks</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Selectors\">CSS selectors</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Selectors/Type_Class_and_ID_Selectors\">Type, class, and ID selectors</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Selectors/Attribute_selectors\">Attribute selectors</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Selectors/Pseudo-classes_and_pseudo-elements\">Pseudo-classes and pseudo-elements</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Selectors/Combinators\">Combinators</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance\">Cascade, specificity, and inheritance</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Cascade_layers\">Cascade layers</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/The_box_model\">The box model</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Backgrounds_and_borders\">Backgrounds and borders</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Handling_different_text_directions\">Handling different text directions</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Overflowing_content\">Overflowing content</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Values_and_units\">CSS values and units</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Sizing_items_in_CSS\">Sizing items in CSS</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Images_media_form_elements\">Images, media, and form elements</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Styling_tables\">Styling tables</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Advanced_styling_effects\">Advanced styling effects</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Debugging_CSS\">Debugging CSS</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Organizing\">Organizing your CSS</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Fundamental_CSS_comprehension\">Fundamental CSS comprehension</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/Creating_fancy_letterheaded_paper\">Creating fancy letterheaded paper</a></li><li><a href=\"/en-US/docs/Learn/CSS/Building_blocks/A_cool_looking_box\">A cool-looking box</a></li></ol></details></li><li class=\"toggle\"><details open=\"\"><summary>Styling text</summary><ol><li><a href=\"/en-US/docs/Learn/CSS/Styling_text\">CSS styling text</a></li><li><em><a href=\"/en-US/docs/Learn/CSS/Styling_text/Fundamentals\" aria-current=\"page\">Fundamental text and font styling</a></em></li><li><a href=\"/en-US/docs/Learn/CSS/Styling_text/Styling_lists\">Styling lists</a></li><li><a href=\"/en-US/docs/Learn/CSS/Styling_text/Styling_links\">Styling links</a></li><li><a href=\"/en-US/docs/Learn/CSS/Styling_text/Web_fonts\">Web fonts</a></li><li><a href=\"/en-US/docs/Learn/CSS/Styling_text/Typesetting_a_homepage\">Typesetting a community school homepage</a></li></ol></details></li><li class=\"toggle\"><details><summary>CSS layout</summary><ol><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout\">CSS layout</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Introduction\">Introduction to CSS layout</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Normal_Flow\">Normal Flow</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Flexbox\">Flexbox</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Grids\">Grids</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Floats\">Floats</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Positioning\">Positioning</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Multiple-column_Layout\">Multiple-column layout</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design\">Responsive design</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Media_queries\">Beginner's guide to media queries</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Legacy_Layout_Methods\">Legacy layout methods</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Supporting_Older_Browsers\">Supporting older browsers</a></li><li><a href=\"/en-US/docs/Learn/CSS/CSS_layout/Fundamental_Layout_Comprehension\">Fundamental layout comprehension</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/JavaScript\">JavaScript — Dynamic client-side scripting</a></li><li class=\"toggle\"><details><summary>JavaScript first steps</summary><ol><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps\">JavaScript first steps</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/What_is_JavaScript\">What is JavaScript?</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/A_first_splash\">A first splash into JavaScript</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/What_went_wrong\">What went wrong? Troubleshooting JavaScript</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/Variables\">Storing the information you need — Variables</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/Math\">Basic math in JavaScript — numbers and operators</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/Strings\">Handling text — strings in JavaScript</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/Useful_string_methods\">Useful string methods</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/Arrays\">Arrays</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/First_steps/Silly_story_generator\">Silly story generator</a></li></ol></details></li><li class=\"toggle\"><details><summary>JavaScript building blocks</summary><ol><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks\">JavaScript building blocks</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/conditionals\">Making decisions in your code — conditionals</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/Looping_code\">Looping code</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/Functions\">Functions — reusable blocks of code</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/Build_your_own_function\">Build your own function</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/Return_values\">Function return values</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/Events\">Introduction to events</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/Event_bubbling\">Event bubbling</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Building_blocks/Image_gallery\">Image gallery</a></li></ol></details></li><li class=\"toggle\"><details><summary>Introducing JavaScript objects</summary><ol><li><a href=\"/en-US/docs/Learn/JavaScript/Objects\">Introducing JavaScript objects</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Objects/Basics\">JavaScript object basics</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Objects/Object_prototypes\">Object prototypes</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Objects/Object-oriented_programming\">Object-oriented programming</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript\">Classes in JavaScript</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Objects/JSON\">Working with JSON</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Objects/Object_building_practice\">Object building practice</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Objects/Adding_bouncing_balls_features\">Adding features to our bouncing balls demo</a></li></ol></details></li><li class=\"toggle\"><details><summary>Asynchronous JavaScript</summary><ol><li><a href=\"/en-US/docs/Learn/JavaScript/Asynchronous\">Asynchronous JavaScript</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Asynchronous/Introducing\">Introducing asynchronous JavaScript</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Asynchronous/Promises\">How to use promises</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Asynchronous/Implementing_a_promise-based_API\">How to implement a promise-based API</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Asynchronous/Introducing_workers\">Introducing workers</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Asynchronous/Sequencing_animations\">Sequencing animations</a></li></ol></details></li><li class=\"toggle\"><details><summary>Client-side web APIs</summary><ol><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs\">Client-side web APIs</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Introduction\">Introduction to web APIs</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Manipulating_documents\">Manipulating documents</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Fetching_data\">Fetching data from the server</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Third_party_APIs\">Third-party APIs</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Drawing_graphics\">Drawing graphics</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Video_and_audio_APIs\">Video and Audio APIs</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Client-side_storage\">Client-side storage</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/Forms\">Web forms — Working with user data</a></li><li class=\"toggle\"><details><summary>Web form building blocks</summary><ol><li><a href=\"/en-US/docs/Learn/Forms\">Web form building blocks</a></li><li><a href=\"/en-US/docs/Learn/Forms/Your_first_form\">Your first form</a></li><li><a href=\"/en-US/docs/Learn/Forms/How_to_structure_a_web_form\">How to structure a web form</a></li><li><a href=\"/en-US/docs/Learn/Forms/Basic_native_form_controls\">Basic native form controls</a></li><li><a href=\"/en-US/docs/Learn/Forms/HTML5_input_types\">The HTML5 input types</a></li><li><a href=\"/en-US/docs/Learn/Forms/Other_form_controls\">Other form controls</a></li><li><a href=\"/en-US/docs/Learn/Forms/Styling_web_forms\">Styling web forms</a></li><li><a href=\"/en-US/docs/Learn/Forms/Advanced_form_styling\">Advanced form styling</a></li><li><a href=\"/en-US/docs/Learn/Forms/UI_pseudo-classes\">UI pseudo-classes</a></li><li><a href=\"/en-US/docs/Learn/Forms/Form_validation\">Client-side form validation</a></li><li><a href=\"/en-US/docs/Learn/Forms/Sending_and_retrieving_form_data\">Sending form data</a></li></ol></details></li><li class=\"toggle\"><details><summary>Advanced web form techniques</summary><ol><li><a href=\"/en-US/docs/Learn/Forms/How_to_build_custom_form_controls\">How to build custom form controls</a></li><li><a href=\"/en-US/docs/Learn/Forms/Sending_forms_through_JavaScript\">Sending forms through JavaScript</a></li><li><a href=\"/en-US/docs/Learn/Forms/Property_compatibility_table_for_form_controls\">CSS property compatibility table for form controls</a></li><li><a href=\"/en-US/docs/Learn/Forms/HTML_forms_in_legacy_browsers\">HTML forms in legacy browsers</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/Accessibility\">Accessibility — Make the web usable by everyone</a></li><li class=\"toggle\"><details><summary>Accessibility guides</summary><ol><li><a href=\"/en-US/docs/Learn/Accessibility\">Accessibility</a></li><li><a href=\"/en-US/docs/Learn/Accessibility/What_is_accessibility\">What is accessibility?</a></li><li><a href=\"/en-US/docs/Learn/Accessibility/HTML\">HTML: A good basis for accessibility</a></li><li><a href=\"/en-US/docs/Learn/Accessibility/CSS_and_JavaScript\">CSS and JavaScript accessibility best practices</a></li><li><a href=\"/en-US/docs/Learn/Accessibility/WAI-ARIA_basics\">WAI-ARIA basics</a></li><li><a href=\"/en-US/docs/Learn/Accessibility/Multimedia\">Accessible multimedia</a></li><li><a href=\"/en-US/docs/Learn/Accessibility/Mobile\">Mobile accessibility</a></li><li><a href=\"/en-US/docs/Learn/Accessibility/Accessibility_troubleshooting\">Assessment: Accessibility troubleshooting</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/Performance\">Performance — Making websites fast and responsive</a></li><li class=\"toggle\"><details><summary>Performance guides</summary><ol><li><a href=\"/en-US/docs/Learn/Performance\">Web performance</a></li><li><a href=\"/en-US/docs/Learn/Performance/why_web_performance\">The \"why\" of web performance</a></li><li><a href=\"/en-US/docs/Learn/Performance/What_is_web_performance\">What is web performance?</a></li><li><a href=\"/en-US/docs/Learn/Performance/Perceived_performance\">Perceived performance</a></li><li><a href=\"/en-US/docs/Learn/Performance/Measuring_performance\">Measuring performance</a></li><li><a href=\"/en-US/docs/Learn/Performance/Multimedia\">Multimedia: Images</a></li><li><a href=\"/en-US/docs/Learn/Performance/video\">Multimedia: video</a></li><li><a href=\"/en-US/docs/Learn/Performance/JavaScript\">JavaScript performance optimization</a></li><li><a href=\"/en-US/docs/Learn/Performance/HTML\">HTML performance optimization</a></li><li><a href=\"/en-US/docs/Learn/Performance/CSS\">CSS performance optimization</a></li><li><a href=\"/en-US/docs/Learn/Performance/business_case_for_performance\">The business case for web performance</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/MathML\">MathML — Writing mathematics with MathML</a></li><li class=\"toggle\"><details><summary>MathML first steps</summary><ol><li><a href=\"/en-US/docs/Learn/MathML/First_steps\">MathML first steps</a></li><li><a href=\"/en-US/docs/Learn/MathML/First_steps/Getting_started\">Getting started with MathML</a></li><li><a href=\"/en-US/docs/Learn/MathML/First_steps/Text_containers\">MathML Text Containers</a></li><li><a href=\"/en-US/docs/Learn/MathML/First_steps/Fractions_and_roots\">MathML fractions and roots</a></li><li><a href=\"/en-US/docs/Learn/MathML/First_steps/Scripts\">MathML scripted elements</a></li><li><a href=\"/en-US/docs/Learn/MathML/First_steps/Tables\">MathML tables</a></li><li><a href=\"/en-US/docs/Learn/MathML/First_steps/Three_famous_mathematical_formulas\">Three famous mathematical formulas</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Games\">Games — Developing games for the web</a></li><li class=\"toggle\"><details><summary>Guides and tutorials</summary><ol><li><a href=\"/en-US/docs/Games/Introduction\">Introduction to game development for the Web</a></li><li><a href=\"/en-US/docs/Games/Techniques\">Techniques for game development</a></li><li><a href=\"/en-US/docs/Games/Tutorials\">Tutorials</a></li><li><a href=\"/en-US/docs/Games/Publishing_games\">Publishing games</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/Tools_and_testing\">Tools and testing</a></li><li class=\"toggle\"><details><summary>Client-side web development tools</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools\">Understanding client-side web development tools</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview\">Client-side tooling overview</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line\">Command line crash course</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Package_management\">Package management basics</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Introducing_complete_toolchain\">Introducing a complete toolchain</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Deployment\">Deploying our app</a></li></ol></details></li><li class=\"toggle\"><details><summary>Introduction to client-side frameworks</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Introduction\">Introduction to client-side frameworks</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Main_features\">Framework main features</a></li></ol></details></li><li class=\"toggle\"><details><summary>React</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_getting_started\">Getting started with React</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_todo_list_beginning\">Beginning our React todo list</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_components\">Componentizing our React app</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_events_state\">React interactivity: Events and state</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_interactivity_filtering_conditional_rendering\">React interactivity: Editing, filtering, conditional rendering</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_accessibility\">Accessibility in React</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_resources\">React resources</a></li></ol></details></li><li class=\"toggle\"><details><summary>Ember</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_getting_started\">Getting started with Ember</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_structure_componentization\">Ember app structure and componentization</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_interactivity_events_state\">Ember interactivity: Events, classes and state</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_conditional_footer\">Ember Interactivity: Footer functionality, conditional rendering</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_routing\">Routing in Ember</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Ember_resources\">Ember resources and troubleshooting</a></li></ol></details></li><li class=\"toggle\"><details><summary>Vue</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_getting_started\">Getting started with Vue</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_first_component\">Creating our first Vue component</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_rendering_lists\">Rendering a list of Vue components</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_methods_events_models\">Adding a new todo form: Vue events, methods, and models</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_styling\">Styling Vue components with CSS</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_computed_properties\">Using Vue computed properties</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_conditional_rendering\">Vue conditional rendering: editing existing todos</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_refs_focus_management\">Vue refs and lifecycle methods for focus management</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_resources\">Vue resources</a></li></ol></details></li><li class=\"toggle\"><details><summary>Svelte</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_getting_started\">Getting started with Svelte</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_Todo_list_beginning\">Starting our Svelte to-do list app</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_variables_props\">Dynamic behavior in Svelte: working with variables and props</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_components\">Componentizing our Svelte app</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_reactivity_lifecycle_accessibility\">Advanced Svelte: Reactivity, lifecycle, accessibility</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_stores\">Working with Svelte stores</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_TypeScript\">TypeScript support in Svelte</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Svelte_deployment_next\">Deployment and next steps</a></li></ol></details></li><li class=\"toggle\"><details><summary>Angular</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_getting_started\">Getting started with Angular</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_todo_list_beginning\">Beginning our Angular todo list app</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_styling\">Styling our Angular app</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_item_component\">Creating an item component</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_filtering\">Filtering our to-do items</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Angular_building\">Building Angular applications and further resources</a></li></ol></details></li><li class=\"toggle\"><details><summary>Git and GitHub</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/GitHub\">Git and GitHub</a></li></ol></details></li><li class=\"toggle\"><details><summary>Cross browser testing</summary><ol><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing\">Cross browser testing</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Introduction\">Introduction to cross-browser testing</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Testing_strategies\">Strategies for carrying out testing</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/HTML_and_CSS\">Handling common HTML and CSS problems</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/JavaScript\">Handling common JavaScript problems</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility\">Handling common accessibility problems</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Feature_detection\">Implementing feature detection</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Automated_testing\">Introduction to automated testing</a></li><li><a href=\"/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment\">Setting up your own test automation environment</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/Server-side\">Server-side website programming</a></li><li class=\"toggle\"><details><summary>First steps</summary><ol><li><a href=\"/en-US/docs/Learn/Server-side/First_steps\">Server-side website programming first steps</a></li><li><a href=\"/en-US/docs/Learn/Server-side/First_steps/Introduction\">Introduction to the server side</a></li><li><a href=\"/en-US/docs/Learn/Server-side/First_steps/Client-Server_overview\">Client-Server Overview</a></li><li><a href=\"/en-US/docs/Learn/Server-side/First_steps/Web_frameworks\">Server-side web frameworks</a></li><li><a href=\"/en-US/docs/Learn/Server-side/First_steps/Website_security\">Website security</a></li></ol></details></li><li class=\"toggle\"><details><summary>Django web framework (Python)</summary><ol><li><a href=\"/en-US/docs/Learn/Server-side/Django\">Django Web Framework (Python)</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Introduction\">Django introduction</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/development_environment\">Setting up a Django development environment</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website\">Django Tutorial: The Local Library website</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/skeleton_website\">Django Tutorial Part 2: Creating a skeleton website</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Models\">Django Tutorial Part 3: Using models</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Admin_site\">Django Tutorial Part 4: Django admin site</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Home_page\">Django Tutorial Part 5: Creating our home page</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Generic_views\">Django Tutorial Part 6: Generic list and detail views</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Sessions\">Django Tutorial Part 7: Sessions framework</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Authentication\">Django Tutorial Part 8: User authentication and permissions</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Forms\">Django Tutorial Part 9: Working with forms</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Testing\">Django Tutorial Part 10: Testing a Django web application</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/Deployment\">Django Tutorial Part 11: Deploying Django to production</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/web_application_security\">Django web application security</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Django/django_assessment_blog\">Assessment: DIY Django mini blog</a></li></ol></details></li><li class=\"toggle\"><details><summary>Express Web Framework (Node.js/JavaScript)</summary><ol><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs\">Express web framework (Node.js/JavaScript)</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction\">Express/Node introduction</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/development_environment\">Setting up a Node development environment</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/Tutorial_local_library_website\">Express Tutorial: The Local Library website</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website\">Express Tutorial Part 2: Creating a skeleton website</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose\">Express Tutorial Part 3: Using a Database (with Mongoose)</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/routes\">Express Tutorial Part 4: Routes and controllers</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data\">Express Tutorial Part 5: Displaying library data</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/forms\">Express Tutorial Part 6: Working with forms</a></li><li><a href=\"/en-US/docs/Learn/Server-side/Express_Nodejs/deployment\">Express Tutorial Part 7: Deploying to production</a></li></ol></details></li><li class=\"section\"><a href=\"/en-US/docs/Learn/Common_questions\">Further resources</a></li><li class=\"toggle\"><details><summary>Common questions</summary><ol><li><a href=\"/en-US/docs/Learn/Common_questions\">Common questions</a></li><li><a href=\"/en-US/docs/Learn/HTML/Howto\">Use HTML to solve common problems</a></li><li><a href=\"/en-US/docs/Learn/CSS/Howto\">Use CSS to solve common problems</a></li><li><a href=\"/en-US/docs/Learn/JavaScript/Howto\">Solve common problems in your JavaScript code</a></li><li><a href=\"/en-US/docs/Learn/Common_questions/Web_mechanics\">Web mechanics</a></li><li><a href=\"/en-US/docs/Learn/Common_questions/Tools_and_setup\">Tools and setup</a></li><li><a href=\"/en-US/docs/Learn/Common_questions/Design_and_accessibility\">Design and accessibility</a></li></ol></details></li></ol>","source":{"folder":"en-us/learn/css/styling_text/fundamentals","github_url":"https://github.com/mdn/content/blob/main/files/en-us/learn/css/styling_text/fundamentals/index.md","last_commit_url":"https://github.com/mdn/content/commit/44b18841ff739fbf1a5450805d85f839fa3e68a5","filename":"index.md"},"summary":"In this article we'll start you on your journey towards mastering text styling with CSS. Here we'll go through all the basic fundamentals of text/font styling in detail, including setting font weight, family and style, font shorthand, text alignment and other effects, and line and letter spacing.","title":"Fundamental text and font styling","toc":[{"text":"What is involved in styling text in CSS?","id":"what_is_involved_in_styling_text_in_css"},{"text":"Fonts","id":"fonts"},{"text":"Text layout","id":"text_layout"},{"text":"Font shorthand","id":"font_shorthand"},{"text":"Active learning: Playing with styling text","id":"active_learning_playing_with_styling_text"},{"text":"Summary","id":"summary"}],"pageType":"learn-module-chapter"}}</script> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('pl', 'fr', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&hl=en-GB&client=wt" type="text/javascript"></script> </body> </html>