{"id":44136,"date":"2024-04-29T07:00:00","date_gmt":"2024-04-29T14:00:00","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=44136"},"modified":"2025-05-21T16:08:31","modified_gmt":"2025-05-21T23:08:31","slug":"bootstrap-guide","status":"publish","type":"post","link":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/","title":{"rendered":"Your Complete Bootstrap Primer"},"content":{"rendered":"\n<p>Let\u2019s say you need to build an analytics dashboard for your business.<\/p>\n\n\n\n<p>You need one that looks professional and works well on different devices, but you don&#8217;t have a lot of time to design everything from scratch.<\/p>\n\n\n\n<p>This is where a framework like Bootstrap comes in. It gives you a head start on building responsive websites. Instead of staring at a blank page, you start with a grid and pre-built components. It&#8217;s like having a bunch of Legos. You&#8217;ve still got to put them together, but the hard part of making all the individual pieces is already done.<\/p>\n\n\n\n<p>If Bootstrap sounds like a good fit for your project, this guide is for you. We&#8217;ll take you through everything you need to know to start building websites with Bootstrap.<\/p>\n\n\n\n<p>Let&#8217;s get started!<\/p>\n\n\n\n<h2 id=\"definition\" class=\"wp-block-heading\">What Is Bootstrap?<\/h2>\n\n\n\n<p>Bootstrap is a free, open-source <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/css-frameworks\/\" rel=\"noopener\">CSS framework<\/a> that provides a collection of pre-built components, styles, and tools for creating responsive and consistent <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/elements-of-webdesign\/\" rel=\"noopener\">web designs<\/a>. Developed by Twitter engineers <a target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Bootstrap_(front-end_framework)\" rel=\"noopener\">Mark Otto and Jacob Thornton in 2011<\/a>, it has since become one of the go-to frameworks for web developers worldwide.<\/p>\n\n\n\n<p>Bootstrap is currently the <a target=\"_blank\" href=\"https:\/\/trends.builtwith.com\/javascript\/javascript-library\/\" rel=\"noopener\">sixth most popular framework<\/a> in the top million sites in the <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/glossary\/web-design\/javascript\/\" rel=\"noopener\">JavaScript<\/a> libraries category.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1359\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web.webp\" alt=\"Top JS frameworks across the web include 46% jQuery, 11% React, and 10% Moment JS\" class=\"wp-image-44146 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-300x255.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-1024x870.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-768x652.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-1536x1305.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-600x510.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-1200x1019.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-730x620.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-1460x1240.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-784x666.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-1568x1332.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/01-Top-JS-Frameworks-Across-The-Web-877x745.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1359;\" \/><\/figure>\n\n\n\n<p>While jQuery and React have received much attention in recent years, <a href=\"https:\/\/trends.builtwith.com\/websitelist\/Bootstrap.js\" target=\"_blank\" rel=\"noopener\">over 1.2 million websites worldwide<\/a> still use Bootstrap.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1600\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats.webp\" alt=\"Bootstrap usage stats graph with usage along the Y-axis and dates spanning from 2017-2023 on the X-axis\" class=\"wp-image-44145 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-300x300.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-1024x1024.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-150x150.webp 150w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-768x768.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-1536x1536.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-600x600.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-1200x1200.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-730x730.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-1460x1460.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-784x784.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-1568x1568.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/02-Bootstrap-Usage-Stats-877x877.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1600;\" \/><\/figure>\n\n\n\n<p>This framework is mobile-first, meaning it prioritizes the layout and styling for smaller screens and progressively enhances the design for larger screens. Because of this approach, all websites built using Bootstrap are responsive across screen sizes by default.<\/p>\n\n\n\n<h2 id=\"different\" class=\"wp-block-heading\">What Makes Bootstrap Different?<\/h2>\n\n\n\n<p>Bootstrap stands out from other CSS frameworks in a few key ways.<\/p>\n\n\n\n<p>Its pre-made components, such as navbars, buttons, forms, and cards, save developers a lot of time. Bootstrap&#8217;s responsive grid system makes it easy to create layouts that look good on different screen sizes, from big desktop monitors to small phone screens.<\/p>\n\n\n\n<p>Every component of Bootstrap is customizable, so you can change colors and sizes to fit your specific design. This approach offers several advantages:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Rapid development<\/strong>: With a wide range of pre-built components and utility classes, developers can quickly prototype and build web pages without spending excessive time on custom CSS.<\/li>\n\n\n\n<li><strong>Consistent design:<\/strong> Bootstrap enforces a consistent design language across projects, ensuring a cohesive and professional look and feel.<\/li>\n\n\n\n<li><strong>Responsive by default<\/strong>: Bootstrap&#8217;s components and grid system are designed to be responsive, adapting to different screen sizes and devices without the need for extensive custom media queries.<\/li>\n\n\n\n<li><strong>Cross-browser compatibility<\/strong>: Bootstrap takes care of cross-browser compatibility issues, allowing developers to focus on building functionality rather than worrying about browser inconsistencies.<\/li>\n\n\n<\/ol>\n\n\n\n<p>However, Bootstrap, like any framework, isn\u2019t one size fits all.<\/p>\n\n\n\n<p>Websites built with Bootstrap look similar with different layouts simply because the UI elements are reused. The framework also comes with a lot of CSS and JavaScript that you might not use, which can slow down your website if you&#8217;re not careful. There\u2019s also a learning curve in adopting the classes in the framework.<\/p>\n\n\n\n<p>Despite these potential drawbacks, Bootstrap is still a powerful and popular tool for web development, especially if you want to start quickly. Let\u2019s take a look at how to do just that.<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"start\" class=\"wp-block-heading\">Getting Started With Bootstrap<\/h2>\n\n\n\n<p>Before we talk about the basics, here are three ways to import the framework:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download the compiled CSS and JavaScript files from the official Bootstrap website and link to them in your HTML file.<\/li>\n\n\n\n<li>Use a Content Delivery Network (CDN) to load Bootstrap from a remote server.<\/li>\n\n\n\n<li>Install Bootstrap via a package manager like npm if you\u2019re using a build tool.<\/li>\n\n\n<\/ol>\n\n\n\n<p><strong>For simplicity, let\u2019s use the CDN method. Add the following lines inside the <code>&lt;head&gt;<\/code> tag of your HTML file:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.3\/dist\/css\/bootstrap.min.css\"&gt;<\/code><\/pre>\n\n\n\n<p>Then, add the following line <strong>just before the closing <code>&lt;\/body&gt;<\/code><\/strong> tag.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.3\/dist\/js\/bootstrap.bundle.min.js\"&gt;&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p><strong><em>Note: <\/em><\/strong><em>You need to add these lines for all the following code examples to work.<\/em><\/p>\n\n\n\n<h2 id=\"system\" class=\"wp-block-heading\">The Bootstrap Grid System<\/h2>\n\n\n\n<p>The <a target=\"_blank\" href=\"https:\/\/getbootstrap.com\/docs\/4.0\/layout\/grid\/\" rel=\"noopener\">Bootstrap grid system<\/a> is one of its core features, enabling the creation of responsive layouts that adapt effortlessly to different screen sizes.<\/p>\n\n\n\n<p><strong>It is based on a 12-column layout<\/strong> and uses predefined classes to specify how elements should behave at various breakpoints.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic Grid<\/h3>\n\n\n\n<p>The basic grid is a simple frame with equal-width columns that get taller when the content inside is longer. To create a basic one, start with a container <code>&lt;div&gt;<\/code> and add rows and columns. Here\u2019s an example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"container\"&gt;\n  &lt;div class=\"row\"&gt;\n    &lt;div class=\"col\"&gt;\n      &lt;div class=\"bg-light border p-3 text-center\"&gt;\n        &lt;h3&gt;Column 1&lt;\/h3&gt;\n        &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;\/p&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;div class=\"col\"&gt;\n      &lt;div class=\"bg-light border p-3 text-center\"&gt;\n        &lt;h3&gt;Column 2&lt;\/h3&gt;\n        &lt;p&gt;Pellentesque euismod dapibus odio, at volutpat sapien.&lt;\/p&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;div class=\"col\"&gt;\n      &lt;div class=\"bg-light border p-3 text-center\"&gt;\n        &lt;h3&gt;Column 3&lt;\/h3&gt;\n        &lt;p&gt;Sed tincidunt neque vel risus faucibus fringilla.&lt;\/p&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"768\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid.webp\" alt=\"Three columns with Lorem ipsum text appear against a light blue background\" class=\"wp-image-44148 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-300x144.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-1024x492.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-768x369.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-1536x737.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-600x288.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-1200x576.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-730x350.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-1460x701.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-784x376.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-1568x753.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/03_Basic-Grid-877x421.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/768;\" \/><\/figure>\n\n\n\n<p>As you see, we\u2019ve created three equal-width columns. Bootstrap handles the padding, spacing between columns, and the alignment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Grid Column Length<\/h3>\n\n\n\n<p>What if you want to control the length of the column? Bootstrap has 12 unit settings that let you decide how wide or how narrow a column can be.&nbsp; For example, to create a row with two columns where the first column takes up eight units and the second column takes up four units, you can do the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"container\"&gt;\n  &lt;div class=\"row\"&gt;\n    &lt;div class=\"col-8\"&gt;\n      &lt;div class=\"bg-light border p-3 text-center\"&gt;\n        &lt;h3&gt;Wider Column&lt;\/h3&gt;\n        &lt;p&gt;Nunc vitae metus non velit aliquam rhoncus vel in leo.&lt;\/p&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;div class=\"col-4\"&gt;\n      &lt;div class=\"bg-light border p-3 text-center\"&gt;\n        &lt;h3&gt;Narrower Column&lt;\/h3&gt;\n        &lt;p&gt;Fusce nec tellus sed augue semper porta.&lt;\/p&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"768\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length.webp\" alt=\"Two columns, a wider and a narrower example, appear against a light blue background\" class=\"wp-image-44149 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-300x144.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-1024x492.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-768x369.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-1536x737.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-600x288.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-1200x576.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-730x350.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-1460x701.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-784x376.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-1568x753.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/04-Grid-Column-Length-877x421.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/768;\" \/><\/figure>\n\n\n\n<p>As you may note, there\u2019s a difference in the column classes where the wider column has class col-8 and the narrower column is col-4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Responsive Column Width<\/h3>\n\n\n\n<p>Bootstrap also provides responsive classes that allow you to specify different column widths for different screen sizes. These classes are based on breakpoints, which are predefined screen widths. The available breakpoints are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>xs (extra small):<\/strong> Less than 576px<\/li>\n\n\n\n<li><strong>sm (small):<\/strong> 576px and up<\/li>\n\n\n\n<li><strong>md (medium):<\/strong> 768px and up<\/li>\n\n\n\n<li><strong>lg (large):<\/strong> 992px and up<\/li>\n\n\n\n<li><strong>xl (extra large):<\/strong> 1200px and up<\/li>\n\n\n\n<li><strong>xxl (extra extra large):<\/strong> 1400px and up<\/li>\n\n\n<\/ul>\n\n\n\n<p>To use responsive classes, append the breakpoint abbreviation to the col- prefix. For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"container\"&gt;\n  &lt;div class=\"row\"&gt;\n    &lt;div class=\"col-md-6\"&gt;\n      &lt;div class=\"bg-light border p-3 text-center\"&gt;\n        &lt;h3&gt;Column 1&lt;\/h3&gt;\n        &lt;p&gt;Maecenas sed diam eget risus varius blandit sit amet non magna.&lt;\/p&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n    &lt;div class=\"col-md-6\"&gt;\n      &lt;div class=\"bg-light border p-3 text-center\"&gt;\n        &lt;h3&gt;Column 2&lt;\/h3&gt;\n        &lt;p&gt;Donec id elit non mi porta gravida at eget metus.&lt;\/p&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"700\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width.webp\" alt=\"Two column examples with Lorum ipsum text appear against a light blue background\" class=\"wp-image-44150 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-300x131.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-1024x448.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-768x336.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-1536x672.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-600x263.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-1200x525.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-730x319.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-1460x639.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-784x343.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-1568x686.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/05-Responsive-Column-Width-877x384.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/700;\" \/><\/figure>\n\n\n\n<p>We\u2019ve added the col-md-6 width here, so the columns will automatically resize whenever the screen size is 768px and above.<\/p>\n\n\n\n<h2 id=\"components\" class=\"wp-block-heading\">Bootstrap Components<\/h2>\n\n\n\n<p>Bootstrap offers a wide range of pre-built components for assembling user interfaces quickly. These components are responsive and customizable. Let\u2019s explore some commonly used ones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Buttons<\/h3>\n\n\n\n<p>Bootstrap provides well-designed button styles out of the box. To create a button, add the btn class to a <code>&lt;button&gt;<\/code> or <code>&lt;a&gt;<\/code> element.<\/p>\n\n\n\n<p>Customize it by adding classes like btn-primary, btn-secondary, btn-success, etc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;button type=\"button\" class=\"btn btn-primary\"&gt;Primary Button&lt;\/button&gt;\n&lt;button type=\"button\" class=\"btn btn-secondary\"&gt;Secondary Button&lt;\/button&gt;\n&lt;a href=\"#\" class=\"btn btn-success\"&gt;Success Link Button&lt;\/a&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"600\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons.webp\" alt=\"A vertical stack of 3 buttons: Primary (blue, top), Secondary (gray, middle), and Success Link (green, bottom)\" class=\"wp-image-44151 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-300x113.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-1024x384.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-768x288.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-1536x576.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-600x225.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-1200x450.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-730x274.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-1460x548.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-784x294.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-1568x588.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/06-Bootstrap-Components-Buttons-877x329.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/600;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Cards<\/h3>\n\n\n\n<p>Cards are versatile containers for content like images, text, and buttons. They provide a structured way to present information.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"card\"&gt;\n  &lt;img src=\"https:\/\/getbootstrap.com\/docs\/4.5\/assets\/img\/bootstrap-icons.png\" class=\"card-img-top\" alt=\"Card Image\"&gt;\n  &lt;div class=\"card-body\"&gt;\n    &lt;h5 class=\"card-title\"&gt;Card Title&lt;\/h5&gt;\n    &lt;p class=\"card-text\"&gt;Some quick example text to build on the card title.&lt;\/p&gt;\n    &lt;a href=\"#\" class=\"btn btn-primary\"&gt;Go somewhere&lt;\/a&gt;\n  &lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1315\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards.webp\" alt=\"A sample card in Bootstrap with room for a title and descriptive text, plus a blue 'Go somewhere' button\" class=\"wp-image-44152 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-300x247.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-1024x842.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-768x631.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-1536x1262.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-600x493.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-1200x986.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-730x600.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-1460x1200.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-784x644.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-1568x1289.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/07-Bootstrap-Components-Cards-877x721.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1315;\" \/><\/figure>\n\n\n\n<p>Here, you can see a card with an image at the top, followed by a title, some text, and a button. The card-img-top class positions the image at the top of the card, while the card-body class provides padding and spacing for the content inside the card.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Navbar<\/h3>\n\n\n\n<p>The navbar component is a responsive navigation header with branding, links, forms, and more. It automatically collapses on smaller screens and provides a toggler button to expand the menu.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;nav class=\"navbar navbar-expand-lg navbar-light bg-light\"&gt;\n  &lt;div class=\"container-fluid\"&gt;\n    &lt;a class=\"navbar-brand\" href=\"#\"&gt;My Website&lt;\/a&gt;\n    &lt;button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarNav\" aria-controls=\"navbarNav\" aria-expanded=\"false\" aria-label=\"Toggle navigation\"&gt;\n      &lt;span class=\"navbar-toggler-icon\"&gt;&lt;\/span&gt;\n    &lt;\/button&gt;\n    &lt;div class=\"collapse navbar-collapse\" id=\"navbarNav\"&gt;\n      &lt;ul class=\"navbar-nav\"&gt;\n        &lt;li class=\"nav-item\"&gt;\n          &lt;a class=\"nav-link active\" aria-current=\"page\" href=\"#\"&gt;Home&lt;\/a&gt;\n        &lt;\/li&gt;\n        &lt;li class=\"nav-item\"&gt;\n          &lt;a class=\"nav-link\" href=\"#\"&gt;Features&lt;\/a&gt;\n        &lt;\/li&gt;\n        &lt;li class=\"nav-item\"&gt;\n          &lt;a class=\"nav-link\" href=\"#\"&gt;Pricing&lt;\/a&gt;\n        &lt;\/li&gt;\n      &lt;\/ul&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/nav&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"700\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar.webp\" alt=\"A sample card in Bootstrap with room for a title and descriptive text, plus a blue 'Go somewhere' button\" class=\"wp-image-44153 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-300x131.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-1024x448.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-768x336.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-1536x672.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-600x263.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-1200x525.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-730x319.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-1460x639.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-784x343.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-1568x686.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/08-Bootstrap-Components-Navbar-877x384.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/700;\" \/><\/figure>\n\n\n\n<p>With this simple code snippet, we created a toggle menu button for small screens and a list of navigation links.<\/p>\n\n\n\n<p>The navbar-expand-lg class specifies that the navbar should expand on large screens and collapse on smaller ones. The navbar-light and bg-light classes set the color scheme for the navbar. Compare that to creating the menu with plain CSS, and you\u2019ll understand how many steps Bootstrap saved us.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Forms<\/h3>\n\n\n\n<p>Moving on to forms, Bootstrap has a range of form controls and layout options to create interactive and accessible forms.<\/p>\n\n\n\n<p>You can easily style form elements like input fields, checkboxes, radio buttons, and more.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;form&gt;\n  &lt;div class=\"mb-3\"&gt;\n    &lt;label for=\"exampleInputEmail1\" class=\"form-label\"&gt;Email address&lt;\/label&gt;\n    &lt;input type=\"email\" class=\"form-control\" id=\"exampleInputEmail1\" aria-describedby=\"emailHelp\"&gt;\n    &lt;div id=\"emailHelp\" class=\"form-text\"&gt;We'll never share your email with anyone else.&lt;\/div&gt;\n  &lt;\/div&gt;\n  &lt;div class=\"mb-3\"&gt;\n    &lt;label for=\"exampleInputPassword1\" class=\"form-label\"&gt;Password&lt;\/label&gt;\n    &lt;input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\"&gt;\n  &lt;\/div&gt;\n  &lt;div class=\"mb-3 form-check\"&gt;\n    &lt;input type=\"checkbox\" class=\"form-check-input\" id=\"exampleCheck1\"&gt;\n    &lt;label class=\"form-check-label\" for=\"exampleCheck1\"&gt;Check me out&lt;\/label&gt;\n  &lt;\/div&gt;\n  &lt;button type=\"submit\" class=\"btn btn-primary\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"900\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms.webp\" alt=\"A form with an email address field, a password field, and a blue Submit button\" class=\"wp-image-44154 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-300x169.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-1024x576.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-768x432.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-1536x864.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-600x338.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-1200x675.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-730x411.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-1460x821.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-784x441.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-1568x882.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/09-Bootstrap-Components-Forms-877x493.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/900;\" \/><\/figure>\n\n\n\n<p>Bootstrap styling has auto-aligned and beautified this form layout from behind the scenes.<\/p>\n\n\n\n<p>This form example includes an email input field, a password input field, a checkbox, and a submit button. The form-label class styles the labels, while the form-control class styles the input fields. The mb-3 class adds a bottom margin to the form groups for spacing.<\/p>\n\n\n\n<h2 id=\"create\" class=\"wp-block-heading\">Creating A Simple Analytics Dashboard With Bootstrap<\/h2>\n\n\n\n<p>Now that we\u2019ve covered the basics, let\u2019s put it all together and build a real-world example: an analytics dashboard.<\/p>\n\n\n\n<p>\n\n\n\n<div class=\"glossary-term\">\n\t<a\n\t\tclass=\"glossary-term__above-title\"\n\t\thref=\"\"\n\t\ttarget=\"_blank\"\n\t\trel=\"noopener noreferrer\"\n\t>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 512\"><path d=\"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"\/><\/svg>\n\t\t<span><\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n    <h3>Analytics<\/h3>\n    <p>Analytics is the field of data interpretation, typically used to help guide strategy. When applied to SEO, this can include keyword research as well as website traffic and competitor analysis. The goal of SEO analytics is to improve a website\u2019s ranking in results pages, and ultimately drive more traffic.<\/p>\n            <a\n            href=\"https:\/\/www.dreamhost.com\/glossary\/seo\/analytics\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Read More                    <\/a>\n\n<\/div>\n\n<\/p>\n\n\n\n<p>Imagine you\u2019re building a web application that displays analytics data for a business. The dashboard will include a header with a logo and navigation, a main content area with data, and a footer with additional links.<\/p>\n\n\n\n<p>Let\u2019s break this down into manageable sections using plain language that&#8217;s easy to follow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setting Up The HTML<\/h3>\n\n\n\n<p>First things first, we need to set up our HTML file.<\/p>\n\n\n\n<p>Start by creating a new file and adding the basic structure, like the <code>&lt;!DOCTYPE html&gt;<\/code> declaration and the <code>&lt;html&gt;<\/code>, <code>&lt;head&gt;<\/code>, and <code>&lt;body&gt;<\/code> tags. In the <code>&lt;head&gt;<\/code> section, remember to specify the character encoding, viewport, and page title.<\/p>\n\n\n\n<p>Here&#8217;s what your HTML should look like so far, including the Bootstrap.css (imported in the <code>&lt;head&gt;<\/code>) and the Bootstrap.js<em> <\/em>(imported right before closing <code>&lt;body&gt;<\/code>) files called into the HTML:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n  &lt;meta charset=\"UTF-8\"&gt;\n  &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n  &lt;title&gt;Analytics Dashboard&lt;\/title&gt;\n  &lt;link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/css\/bootstrap.min.css\"&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n  &lt;!-- Your content will go here --&gt;\n\n&lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/js\/bootstrap.bundle.min.js\"&gt;&lt;\/script&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Adding The Header Navigation<\/h3>\n\n\n\n<p>Next up, let&#8217;s create a header with a navigation bar. Use the <code>&lt;header&gt;<\/code> tag, and add a <code>&lt;nav&gt;<\/code> element inside it. Bootstrap&#8217;s navbar component is perfect for this. Then, include a logo and some navigation links, like &#8220;Overview,&#8221; &#8220;Reports,&#8221; and &#8220;Settings.&#8221;<\/p>\n\n\n\n<p>Paste this header code inside the <code>&lt;body&gt;<\/code> tags<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;header&gt;\n  &lt;nav class=\"navbar navbar-expand-lg navbar-dark bg-dark\"&gt;\n    &lt;div class=\"container\"&gt;\n      &lt;a class=\"navbar-brand\" href=\"#\"&gt;Analytics Dashboard&lt;\/a&gt;\n      &lt;button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarNav\" aria-controls=\"navbarNav\" aria-expanded=\"false\" aria-label=\"Toggle navigation\"&gt;\n        &lt;span class=\"navbar-toggler-icon\"&gt;&lt;\/span&gt;\n      &lt;\/button&gt;\n      &lt;div class=\"collapse navbar-collapse\" id=\"navbarNav\"&gt;\n        &lt;ul class=\"navbar-nav ms-auto\"&gt;\n          &lt;li class=\"nav-item\"&gt;\n            &lt;a class=\"nav-link active\" href=\"#\"&gt;Overview&lt;\/a&gt;\n          &lt;\/li&gt;\n          &lt;li class=\"nav-item\"&gt;\n            &lt;a class=\"nav-link\" href=\"#\"&gt;Reports&lt;\/a&gt;\n          &lt;\/li&gt;\n          &lt;li class=\"nav-item\"&gt;\n            &lt;a class=\"nav-link\" href=\"#\"&gt;Settings&lt;\/a&gt;\n          &lt;\/li&gt;\n        &lt;\/ul&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/nav&gt;\n&lt;\/header&gt;<\/code><\/pre>\n\n\n\n<p>Here\u2019s what the navigation bar will look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"300\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation.webp\" alt=\"A black navigation bar reads 'Analytics Dashboard' and has tabs called Overview, Reports, and Settings\" class=\"wp-image-44155 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-300x56.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-1024x192.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-768x144.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-1536x288.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-600x113.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-1200x225.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-730x137.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-1460x274.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-784x147.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-1568x294.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/10-Adding-The-Header-Navigation-877x164.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/300;\" \/><\/figure>\n\n\n\n<p>The navbar-expand-lg class makes the navigation responsive, collapsing on smaller screens.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"256\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-1024x256.webp\" alt=\"A black navigation bar reads 'Analytics Dashboard' and has a collapsible menu in the far-right corner\" class=\"wp-image-44156 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-1024x256.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-300x75.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-768x192.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-1536x384.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-600x150.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-1200x300.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-730x183.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-1460x365.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-784x196.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-1568x392.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation-877x219.webp 877w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/11-Adding-The-Header-Collapsed-Navigation.webp 1600w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/256;\" \/><\/figure>\n\n\n\n<p>We used navbar-dark and bg-dark to give it a sleek, dark appearance. The navigation links are in an unordered list, and ms-auto pushes them to the right side of the navbar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creating The Main Content Area<\/h3>\n\n\n\n<p>Time to tackle the main content! Let\u2019s use the <code>&lt;main&gt;<\/code> tag and create a two-column layout with Bootstrap&#8217;s grid system.<\/p>\n\n\n\n<p>The left column will hold cards for displaying charts or graphs, and the right column will have a card showing key metrics. Paste this code right below the <code>&lt;\/header&gt;<\/code> closing tag.<\/p>\n\n\n\n<p>To make this example more interactive, let\u2019s add Chart.js to show user metrics. Add this script to your <code>&lt;head&gt;<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"&gt;&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>Remember, you can skip adding this script and the sample data if you just want to see how Bootstrap works. We\u2019re adding it so the boxes aren\u2019t empty.<\/p>\n\n\n\n<p>Now, let\u2019s write the bootstrap columns to give space for the charts and the data metrics.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;main class=\"container my-5\"&gt;\n    &lt;div class=\"row\"&gt;\n      &lt;div class=\"col-md-8\"&gt;\n        &lt;div class=\"card mb-4\"&gt;\n          &lt;div class=\"card-body\"&gt;\n            &lt;h5 class=\"card-title\"&gt;Website Traffic&lt;\/h5&gt;\n            &lt;canvas id=\"trafficChart\"&gt;&lt;\/canvas&gt;\n          &lt;\/div&gt;\n        &lt;\/div&gt;\n        &lt;div class=\"card mb-4\"&gt;\n          &lt;div class=\"card-body\"&gt;\n            &lt;h5 class=\"card-title\"&gt;User Acquisition&lt;\/h5&gt;\n            &lt;canvas id=\"userChart\"&gt;&lt;\/canvas&gt;\n          &lt;\/div&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n      &lt;div class=\"col-md-4\"&gt;\n        &lt;div class=\"card mb-4\"&gt;\n          &lt;div class=\"card-body\"&gt;\n            &lt;h5 class=\"card-title\"&gt;Key Metrics&lt;\/h5&gt;\n            &lt;ul class=\"list-group list-group-flush\"&gt;\n              &lt;li class=\"list-group-item\"&gt;Total Users: 10,000&lt;\/li&gt;\n              &lt;li class=\"list-group-item\"&gt;New Users: 500&lt;\/li&gt;\n              &lt;li class=\"list-group-item\"&gt;Bounce Rate: 25%&lt;\/li&gt;\n            &lt;\/ul&gt;\n          &lt;\/div&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/main&gt;<\/code><\/pre>\n\n\n\n<p><strong>Finally, paste this sample data right before the closing body <code>&lt;\/body&gt;<\/code> tag.<\/strong> Again, this is not necessary if you only want to see Bootstrap columns in action. We\u2019re adding this sample data for Chart.js to pick up the information and show it on an interactive chart.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script&gt;\n    \/\/ Website Traffic Line Chart\n    var trafficCtx = document.getElementById('trafficChart').getContext('2d');\n    var trafficChart = new Chart(trafficCtx, {\n      type: 'line',\n      data: {\n        labels: &#91;'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],\n        datasets: &#91;{\n          label: 'Unique Visitors',\n          data: &#91;8000, 9500, 10200, 9800, 11000, 12500],\n          borderColor: 'rgba(75, 192, 192, 1)',\n          fill: false\n        }]\n      },\n      options: {\n        responsive: true,\n        scales: {\n          y: {\n            beginAtZero: true\n          }\n        }\n      }\n    });\n\n    \/\/ User Acquisition Bar Chart\n    var userCtx = document.getElementById('userChart').getContext('2d');\n    var userChart = new Chart(userCtx, {\n      type: 'bar',\n      data: {\n        labels: &#91;'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],\n        datasets: &#91;{\n          label: 'New Users',\n          data: &#91;400, 450, 500, 450, 550, 600],\n          backgroundColor: 'rgba(54, 162, 235, 0.6)'\n        }]\n      },\n      options: {\n        responsive: true,\n        scales: {\n          y: {\n            beginAtZero: true\n          }\n        }\n      }\n    });\n  &lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>Putting it all together, you\u2019ll see a beautiful dashboard with a line chart and a bar chart showing growth in our key metrics. The key metrics are also visible on the right side in table format.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1315\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area.webp\" alt=\"Dashboard with a line chart for Website Traffic, a bar chart for User Acquisition, and Key Metrics\" class=\"wp-image-44157 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-300x247.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-1024x842.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-768x631.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-1536x1262.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-600x493.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-1200x986.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-730x600.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-1460x1200.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-784x644.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-1568x1289.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/12-Creating-The-Main-Content-Area-877x721.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1315;\" \/><\/figure>\n\n\n\n<p>We&#8217;ve used the container class to center the content and add some padding. The row class creates a row, and col-md-* classes define the column widths.<\/p>\n\n\n\n<p>The left column (col-md-8) has two cards for charts, while the right column (col-md-4) has a card with key metrics in a list group.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Adding The Footer<\/h3>\n\n\n\n<p>Almost there!<\/p>\n\n\n\n<p>Let&#8217;s add a footer with some copyright info and links. We&#8217;ll use the <code>&lt;footer&gt;<\/code> tag and Bootstrap&#8217;s grid system and spacing utilities to control the layout and padding.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;footer class=\"bg-light py-3\"&gt;\n  &lt;div class=\"container\"&gt;\n    &lt;div class=\"row\"&gt;\n      &lt;div class=\"col-md-6\"&gt;\n        &lt;p&gt;&amp;copy; 2023 Analytics Dashboard. All rights reserved.&lt;\/p&gt;\n      &lt;\/div&gt;\n      &lt;div class=\"col-md-6 text-md-end\"&gt;\n        &lt;a href=\"#\"&gt;Privacy Policy&lt;\/a&gt;\n        &lt;a href=\"#\" class=\"ms-3\"&gt;Terms of Service&lt;\/a&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/footer&gt;<\/code><\/pre>\n\n\n\n<p>You should now see this footer added to the button of your dashboard.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"450\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer.webp\" alt=\"Footer provides privacy policy and terms of service links in bottom right and copyright info in bottom left\" class=\"wp-image-44158 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-300x84.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-1024x288.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-768x216.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-1536x432.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-600x169.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-1200x338.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-730x205.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-1460x411.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-784x221.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-1568x441.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/13-Adding-The-Footer-877x247.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/450;\" \/><\/figure>\n\n\n\n<p>The bg-light class gives the footer a light background color, and py-3 adds vertical padding. We&#8217;ve split the footer into two columns: one for the copyright notice and one for the links. The text-md-end class aligns the links to the right on medium-sized screens and larger ones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Putting It All Together<\/h3>\n\n\n\n<p>Let\u2019s combine the code now so you can see the complete picture.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n  &lt;meta charset=\"UTF-8\"&gt;\n  &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n  &lt;title&gt;Analytics Dashboard&lt;\/title&gt;\n  &lt;link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/css\/bootstrap.min.css\"&gt;\n  &lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"&gt;&lt;\/script&gt;\n  \n&lt;\/head&gt;\n&lt;body&gt;\n&lt;header&gt;\n  &lt;nav class=\"navbar navbar-expand-lg navbar-dark bg-dark\"&gt;\n    &lt;div class=\"container\"&gt;\n      &lt;a class=\"navbar-brand\" href=\"#\"&gt;Analytics Dashboard&lt;\/a&gt;\n      &lt;button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarNav\" aria-controls=\"navbarNav\" aria-expanded=\"false\" aria-label=\"Toggle navigation\"&gt;\n        &lt;span class=\"navbar-toggler-icon\"&gt;&lt;\/span&gt;\n      &lt;\/button&gt;\n      &lt;div class=\"collapse navbar-collapse\" id=\"navbarNav\"&gt;\n        &lt;ul class=\"navbar-nav ms-auto\"&gt;\n          &lt;li class=\"nav-item\"&gt;\n            &lt;a class=\"nav-link active\" href=\"#\"&gt;Overview&lt;\/a&gt;\n          &lt;\/li&gt;\n          &lt;li class=\"nav-item\"&gt;\n            &lt;a class=\"nav-link\" href=\"#\"&gt;Reports&lt;\/a&gt;\n          &lt;\/li&gt;\n          &lt;li class=\"nav-item\"&gt;\n            &lt;a class=\"nav-link\" href=\"#\"&gt;Settings&lt;\/a&gt;\n          &lt;\/li&gt;\n        &lt;\/ul&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/nav&gt;\n&lt;\/header&gt;\n  &lt;main class=\"container my-5\"&gt;\n    &lt;div class=\"row\"&gt;\n      &lt;div class=\"col-md-8\"&gt;\n        &lt;div class=\"card mb-4\"&gt;\n          &lt;div class=\"card-body\"&gt;\n            &lt;h5 class=\"card-title\"&gt;Website Traffic&lt;\/h5&gt;\n            &lt;canvas id=\"trafficChart\"&gt;&lt;\/canvas&gt;\n          &lt;\/div&gt;\n        &lt;\/div&gt;\n        &lt;div class=\"card mb-4\"&gt;\n          &lt;div class=\"card-body\"&gt;\n            &lt;h5 class=\"card-title\"&gt;User Acquisition&lt;\/h5&gt;\n            &lt;canvas id=\"userChart\"&gt;&lt;\/canvas&gt;\n          &lt;\/div&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n      &lt;div class=\"col-md-4\"&gt;\n        &lt;div class=\"card mb-4\"&gt;\n          &lt;div class=\"card-body\"&gt;\n            &lt;h5 class=\"card-title\"&gt;Key Metrics&lt;\/h5&gt;\n            &lt;ul class=\"list-group list-group-flush\"&gt;\n              &lt;li class=\"list-group-item\"&gt;Total Users: 10,000&lt;\/li&gt;\n              &lt;li class=\"list-group-item\"&gt;New Users: 500&lt;\/li&gt;\n              &lt;li class=\"list-group-item\"&gt;Bounce Rate: 25%&lt;\/li&gt;\n            &lt;\/ul&gt;\n          &lt;\/div&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/main&gt;\n&lt;script&gt;\n    \/\/ Website Traffic Line Chart\n    var trafficCtx = document.getElementById('trafficChart').getContext('2d');\n    var trafficChart = new Chart(trafficCtx, {\n      type: 'line',\n      data: {\n        labels: &#91;'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],\n        datasets: &#91;{\n          label: 'Unique Visitors',\n          data: &#91;8000, 9500, 10200, 9800, 11000, 12500],\n          borderColor: 'rgba(75, 192, 192, 1)',\n          fill: false\n        }]\n      },\n      options: {\n        responsive: true,\n        scales: {\n          y: {\n            beginAtZero: true\n          }\n        }\n      }\n    });\n\n    \/\/ User Acquisition Bar Chart\n    var userCtx = document.getElementById('userChart').getContext('2d');\n    var userChart = new Chart(userCtx, {\n      type: 'bar',\n      data: {\n        labels: &#91;'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],\n        datasets: &#91;{\n          label: 'New Users',\n          data: &#91;400, 450, 500, 450, 550, 600],\n          backgroundColor: 'rgba(54, 162, 235, 0.6)'\n        }]\n      },\n      options: {\n        responsive: true,\n        scales: {\n          y: {\n            beginAtZero: true\n          }\n        }\n      }\n    });\n  &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;footer class=\"bg-light py-3\"&gt;\n  &lt;div class=\"container\"&gt;\n    &lt;div class=\"row\"&gt;\n      &lt;div class=\"col-md-6\"&gt;\n        &lt;p&gt;&amp;copy; 2023 Analytics Dashboard. All rights reserved.&lt;\/p&gt;\n      &lt;\/div&gt;\n      &lt;div class=\"col-md-6 text-md-end\"&gt;\n        &lt;a href=\"#\"&gt;Privacy Policy&lt;\/a&gt;\n        &lt;a href=\"#\" class=\"ms-3\"&gt;Terms of Service&lt;\/a&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  &lt;\/div&gt;\n&lt;\/footer&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<p>As you can see, the responsive navigation bar is at the top, with the charts directly below it. Bootstrap handles the padding and spacing between grid items, which you can see on your dashboard metrics.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1450\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together.webp\" alt=\"Footer appears at bottom of the screen directly under the analytics dashboard\" class=\"wp-image-44159 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-300x272.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-1024x928.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-768x696.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-1536x1392.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-600x544.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-1200x1088.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-730x662.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-1460x1323.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-784x711.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-1568x1421.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/14-Putting-It-All-Together-877x795.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1450;\" \/><\/figure>\n\n\n\n<p>At the bottom of the screen is the footer with the Privacy Policy and Terms of Service links.<\/p>\n\n\n\n<p>You&#8217;ve just created a simple analytics dashboard using Bootstrap. But Bootstrap has tons of components we haven\u2019t even touched upon yet. Be sure to explore the <a href=\"https:\/\/getbootstrap.com\/docs\/5.0\/customize\/components\/\" target=\"_blank\" rel=\"noopener\">Bootstrap components library<\/a> to find reusable components for your future projects.<\/p>\n\n\n\n<h2 id=\"summary\" class=\"wp-block-heading\">A Toolkit For Responsive Web Design<\/h2>\n\n\n\n<p>Bootstrap is a popular framework that helps web developers quickly create responsive websites. It has a grid system, pre-built components, and customization options, making it easier to develop <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/beginners-website-guide\/\" rel=\"noopener\">websites<\/a> that look good on different devices.<\/p>\n\n\n\n<p><a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/how-to-hire-web-developer\/\" rel=\"noopener\">Developers<\/a> with all levels of experience use Bootstrap. It&#8217;s pretty easy to learn, but it&#8217;s powerful enough to handle big projects. There&#8217;s a big community of Bootstrap users for support and lots of resources to help you learn the framework.<\/p>\n\n\n\n<p>When you build a Bootstrap site, you need a good hosting company, too. DreamHost has a <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/hosting\/vps\/\" rel=\"noopener\">virtual private server (VPS)<\/a> option that works perfectly. It&#8217;s flexible and can handle different needs as your Bootstrap site grows.<\/p>\n\n\n\n<p>Why not give Bootstrap a shot and see what you can create? With the right tools and a hosting plan from a company like Dreamhost, you can make responsive websites in no time.<\/p>\n\n\n\n<p>\n\n\n<div\n\tclass=\"article-cta-shared article-cta-small\"\n>\n    <div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder.webp 1x, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder-x2.webp 2x\"  alt=\"Ad background image\" \/><\/div>\n\n\n\n\n  <div class=\"content-btm\">\n    <h2\n      class=\"h2--md\"\n    >\n      Create a Website for All\n    <\/h2>\n    <p\n      class=\"p--md\"\n    >\n      We make sure your website is fast and secure so you can focus on the important stuff.\n    <\/p>\n\n            <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Choose Your Plan                    <\/a>\n\n  <\/div>\n<\/div>\n<\/p>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Learn how to use Bootstrap with our straightforward guide that shows you how to build responsive, mobile-first websites easily.<\/p>\n","protected":false},"author":1058,"featured_media":44137,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"Learn how to use Bootstrap with our straightforward guide that shows you how to build responsive, mobile-first websites easily.","toc_headlines":"[[\"definition\",\"What Is Bootstrap?\"],[\"different\",\"What Makes Bootstrap Different?\"],[\"start\",\"Getting Started With Bootstrap\"],[\"system\",\"The Bootstrap Grid System\"],[\"components\",\"Bootstrap Components\"],[\"create\",\"Creating A Simple Analytics Dashboard With Bootstrap\"],[\"summary\",\"A Toolkit For Responsive Web Design\"]]","hide_toc":false,"footnotes":""},"categories":[550,12852],"tags":[],"class_list":["post-44136","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","category-website-design"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Your Complete Bootstrap Primer - DreamHost<\/title>\n<meta name=\"description\" content=\"Learn how to use Bootstrap with our straightforward guide that shows you how to build responsive, mobile-first websites easily.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bootstrap: A Complete Guide\" \/>\n<meta property=\"og:description\" content=\"New to Bootstrap? Use our detailed guide to harness the power of this framework to enhance your web development projects.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-29T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-21T23:08:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/1220-x-628-OGIMAGE-_-Your-Complete-Bootstrap-Primer.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Ian Hernandez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Bootstrap: A Complete Guide\" \/>\n<meta name=\"twitter:description\" content=\"New to Bootstrap? Use our detailed guide to harness the power of this framework to enhance your web development projects.\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ian Hernandez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Your Complete Bootstrap Primer - DreamHost","description":"Learn how to use Bootstrap with our straightforward guide that shows you how to build responsive, mobile-first websites easily.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/","og_locale":"en_US","og_type":"article","og_title":"Bootstrap: A Complete Guide","og_description":"New to Bootstrap? Use our detailed guide to harness the power of this framework to enhance your web development projects.","og_url":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2024-04-29T14:00:00+00:00","article_modified_time":"2025-05-21T23:08:31+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/1220-x-628-OGIMAGE-_-Your-Complete-Bootstrap-Primer.webp","type":"image\/webp"}],"author":"Ian Hernandez","twitter_card":"summary_large_image","twitter_title":"Bootstrap: A Complete Guide","twitter_description":"New to Bootstrap? Use our detailed guide to harness the power of this framework to enhance your web development projects.","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Ian Hernandez","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/#article","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/"},"author":{"name":"Ian Hernandez","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/220faf2464d5ae08e41cf5f3b28fdc96"},"headline":"Your Complete Bootstrap Primer","datePublished":"2024-04-29T14:00:00+00:00","dateModified":"2025-05-21T23:08:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/"},"wordCount":2143,"publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/1460-x-1095-BLOG-HERO-_-Your-Complete-Bootstrap-Primer.webp","articleSection":["Tutorials","Website Design"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/","name":"Your Complete Bootstrap Primer - DreamHost","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/#primaryimage"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/1460-x-1095-BLOG-HERO-_-Your-Complete-Bootstrap-Primer.webp","datePublished":"2024-04-29T14:00:00+00:00","dateModified":"2025-05-21T23:08:31+00:00","description":"Learn how to use Bootstrap with our straightforward guide that shows you how to build responsive, mobile-first websites easily.","breadcrumb":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/#primaryimage","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/1460-x-1095-BLOG-HERO-_-Your-Complete-Bootstrap-Primer.webp","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/04\/1460-x-1095-BLOG-HERO-_-Your-Complete-Bootstrap-Primer.webp","width":1460,"height":1095,"caption":"Your Complete Bootstrap Primer"},{"@type":"BreadcrumbList","@id":"https:\/\/www-dev.dreamhost.com\/blog\/bootstrap-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Your Complete Bootstrap Primer"}]},{"@type":"WebSite","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website","url":"https:\/\/www-dev.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www-dev.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www-dev.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/220faf2464d5ae08e41cf5f3b28fdc96","name":"Ian Hernandez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","caption":"Ian Hernandez"},"description":"Ian is a Product Designer based in Los Angeles, California. He is responsible for driving brand and product design at DreamHost, developing and maintaining our internal design system, and writing frontend code when he can. In his free time, he enjoys walking his dog, learning history, and discovering new music online and irl. Connect with him on LinkedIn: https:\/\/www.linkedin.com\/in\/ianhernandez23\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/author\/ianh\/"}]}},"lang":"en","translations":{"en":44136,"es":45403,"de":51883,"pt":57273,"pl":57276,"ru":57279,"uk":57290,"it":67815,"fr":69212,"nl":69215},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/44136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1058"}],"replies":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/comments?post=44136"}],"version-history":[{"count":10,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/44136\/revisions"}],"predecessor-version":[{"id":63730,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/44136\/revisions\/63730"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/44137"}],"wp:attachment":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=44136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=44136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=44136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}