Learn the basics of HTML5, CSS3, and Bootstrap 5
$4.99
Minimum price
$9.99
Suggested price

Learn the basics of HTML5, CSS3, and Bootstrap 5

Building Amazing Layouts (book 1)

About the Book

This book covers the basics of building website layouts in HTML and CSS, from the very beginning. We go from the very beginning and naturally progress to building simple layouts. By the end of the book you should have solid foundations that you can build from.

About the Author

Ajdin Imsirovic
Ajdin Imsirovic

Ajdin Imsirovic is a full-stack web developer who has published several courses (way back in 2015) on the subject of web design and web development. 

Before self-publishing books on Leanpub, he authored four books on front-end development for Packt Publishing:

  1. Bootstrap 4 Cookbook (Over 75 recipes to help you build elegant and responsive web applications with Bootstrap 4), June 2017
  2. Elm Web Development (An introductory guide to building funcational web apps using Elm), March 2018
  3. Vue.js Quick Start Guide (Learn how to build amazing and complex reactive web applications easily using Vue.js), October 2018
  4. Vue CLI 3 Quick Start Guide (Build and maintain Vue.js applications quickly with the standard CLI), May 2019

Table of Contents

  • Chapter 1: Whitespace, HTML elements, and CSS selectors
    • BROWSER WHITESPACE
    • GETTING STARTED USING CSS
  • Chapter 2: Normal document flow, block elements, and inline elements
    • NORMAL DOCUMENT FLOW
    • CONCLUSIONS AND SUMMARY
  • Chapter 3: CSS element selectors vs class selectors
    • STYLING BLOCK-LEVEL ELEMENTS
    • CONCLUSIONS
  • Chapter 4: Controlling document flow via display property
    • CONTROLLING DOCUMENT FLOW USING CSS display PROPERTY
    • CONCLUSIONS
  • Chapter 5: Exploring the differences between block and inline elements
    • When is it reasonable to not add a CSS class?
    • Setting <span> elements to display: block
    • Are elements on our page going to behave like block-level or inline elements?
    • Flipping the behavior of inline and block-level elements
    • Conclusions
  • Chapter 6: The box model
    • Previewing the box model in the browser
    • Visually mimicking the box model using CSS
    • Controlling the box model
    • Specifying separate CSS classes for individual padding and margin properties
  • Chapter 7: CSS Positioning
    • What is CSS positioning?
    • Relative positioning with top, right, bottom and left values
    • Practicing relative positioning
  • Chapter 8: Relative, absolute, and fixed positioning
    • Position relative vs position absolute
    • An example to practice absolute positioning
    • Position parent element relative and child element absolute
    • A mini-test on absolute elements inside relative elements
    • CSS id syntax
    • Working with position: fixed
    • Conclusions for position fixed
  • Chapter 9: Images and floats in CSS
    • Images are incline elements
    • Floating images left and right
    • Issues with floats and layouts
    • Non-floated parent floating a child div
    • Clearing floats
    • Possible values of the clear property
    • Why use clear: both over clear: left or clear: right
    • Practical examples of clearing floats
    • The clearfix hack
  • Chapter 10: CSS selectors and CSS targeting revisited
    • CSS Specificity
    • CSS specificity rules
    • The most commonly used CSS selectors
    • The universal selector, *
    • The class selector
    • Grouped class selectors
    • The descendant class selector
    • The element selector
    • The id selector
    • The immediate child selector
    • Practicing slightly more complex selectors
    • Pseudo-classes in CSS
    • The ::before and ::after pseudo elements
  • Chapter 11: Building the first layout
    • The mockup
    • Our layout’s HTML code
    • Our layout’s CSS code
    • Using the calc() function in CSS
    • Grouping CSS selectors to optimize our CSS code
    • Conclusion
  • Chapter 12: Responsive web layouts with media queries
    • How media queries work
  • Chapter 13: Converting our first layout into a responsive one
    • What is flexbox
    • Understanding our simple flexbox-based non-responsive website layout
    • Step 1: Give our site some structure
    • Step 2: Add flexbox styles to our HTML structure
    • Step 3: Setting the inner wrapping <div> to display: flex
    • Step 4: Stretching the <aside> and <main> to 100% of the wrapping div
    • Step 5: Stretching the sidebar and main content area vertically
    • Making our layout responsive with media queries
  • Chapter 14: CSS resets and Emmet
    • What lead to the appearance of CSS resets
    • User agent stylesheets
    • Removing styles from codingexercises.com
    • Popular CSS resets
    • Should we use CSS resets
    • Emmet
    • What is Emmet?
    • How to use Emmet
    • How Emmet abbreviations work
    • The > in Emmet
    • The {} in Emmet
    • The + in Emmet
    • The () and * in Emmet
    • The $ symbol in Emmet
  • Chapter 15: Column-based CSS layouts
    • A very brief history of CSS layouts
    • In 2005, table-based layouts were still a thing
    • The invention of the CSS column grid systems
    • Building our own version of 960 column grid system
    • Building our 12 columns
    • Making our 12 columns line up next to each other
    • Making our CSS column grid responsive
    • Adding media queries for column classes
    • Conclusion
  • Chapter 16: An overview of popular CSS frameworks
    • Benefits of CSS frameworks
    • Disadvantages of CSS frameworks
    • Bootstrap, Bulma, and MDL
    • Bootstrap front-end framework
    • Bulma CSS framework
    • MDL framework
  • Chapter 17: Introduction to SCSS
    • A Sass demo
    • Benefits of using Sass/SCSS
    • Initializing a new project to test node-sass
    • Installing node-sass
    • Running node-sass
    • Compiling our SCSS file
  • Chapter 18: Build your own micro CSS framework
    • The structure of our CSS micro-framework
    • 1. A CSS reset
    • 2. Layout classes
    • 3. Widths, heights, margins, and paddings
    • 4. Typography
    • 5. Effects (such as colors, shadows, or opacity)
    • 6. Column-grid
  • Chapter 19: Building a layout with our micro CSS framework
    • Adding HTML structure
    • Adding the column grid and background color CSS classes to our HTML
  • Chapter 20: Building a layout with Bootstrap 4
    • Adding the HTML structure
    • Adding Bootstrap 4.3.1 styles
    • Vertically stretching the available screen space to fit the screen
    • Using Bootstrap 4 components
  • Chapter 21: CSS transitions, animations, and transforms
    • An introduction to transitions in CSS
    • A definition of CSS transitions
    • Adding two transitions on a same HTML element
    • Introduction to CSS animations
    • Writing a simple animation in CSS
    • Adding the forwards value
    • Running two animations on the same HTML element based on the state
    • Adding multiple steps to our animations
    • CSS transforms
    • Conclusion
  • Chapter 22: CSS variables
    • Why CSS variables
    • Using CSS variables
    • Starting to convert the layout example using CSS variables
    • Adding variables to the entire layout
  • Chapter 23: Introducing the CSS grid
    • Flexbox is one-dimensional
    • Flexbox is one-dimensional, but you can nest it to make it become two-dimensional
    • Introduction to CSS grid
    • Using fr units instead of hard-coded pixel values
    • Building a simple layout using CSS grid
    • Improving our layouts with grid-template-areas
    • Making the middle row of a grid layout extend the full height of the available screen
  • Chapter 24: CSS tips and tricks for beginners
    • Tip no. 1: Center a div with the CSS declaration of margin: 0 auto
    • Tip no. 2: Never override a framework CSS class directly!
    • Tip no. 3: Narrow containers in Bootstrap
    • Tip no. 4: To style a navigation, use the <ul> element
    • Tip no. 5: Avoid over-qualified selectors
    • Tip no. 6: How to add a shadow to a div
    • Tip no. 7: How to add a shadow to text in CSS
    • Tip no. 8: You can add nice effects with hover and transition
    • Tip no. 9: Using rgb alpha and hsl alpha colors
    • Tip no. 10: Using CSS filters, you can quickly turn an image grayscale

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Do Well. Do Good.

Authors have earned$11,020,212writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF, EPUB and/or MOBI files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub