Description

Book Synopsis
Lee Donahoe is cofounder of Learn Enough and is an entrepreneur, designer, and front-end developer. At the age of 16 his late father handed him a tutorial on HTML, and for more than 25 years since then he has been creating things for the Web. In addition to doing the design and front-end development for Learn Enough, Softcover, and the Ruby on Rails Tutorial, he is also a cofounder and front-end developer for Coveralls, a leading test coverage analysis service, and is tech cofounder and front-end developer for Buck Mason, a Los Angeles based clothing company once featured on ABC's Shark Tank. Lee is a graduate of USC, where he studied economics as well as multimedia and creative technologies.

Michael Hartl created the legendary Ruby on Rails Tutorial that helped jumpstart thousands of web development careers. A cofounder and principal author at Learn Enough, Hartl previously earned a Ph.D. in physics at the C

Table of Contents
Preface xvii
About the Authors xxiii

Part I: Hypertext Markup Language 1

Chapter 1: Basic HTML 3
1.1 Introduction 6
1.2 HTML Tags 8
1.3 Starting the Project 12
1.4 The First Tag 17
1.5 An HTML Skeleton 20

Chapter 2: Filling in the Index Page 29
2.1 Headings 29
2.2 Text Formatting 31
2.3 Links 35
2.4 Adding Images 41

Chapter 3: More Pages, More Tags 51
3.1 An HTML Page About HTML 51
3.2 Tables 54
3.3 Divs and Spans 62
3.4 Lists 66
3.5 A Navigation Menu 68

Chapter 4: Inline Styling 73
4.1 Text Styling 74
4.2 Floats 79
4.3 Applying a Margin 82
4.4 More Margin Tricks 85
4.5 Box Styling 88
4.6 Navigation Styling 90
4.7 A Taste of CSS 93
4.8 Conclusion 98

Part II: Cascading Style Sheets and Page Layout 101

Chapter 5: Introduction to CSS 103
5.1 You're a Front-End Developer 106
5.2 CSS Overview and History 109
5.3 Sample Site Setup 116
5.4 Start Stylin' 121
5.5 CSS Selectors 128

Chapter 6: The Style of Style 133
6.1 Naming Things 134
6.2 When and Why 137
6.3 Priority and Specificity 140
6.4 How to Be a Good Styling Citizen 145

Chapter 7: CSS Values: Color and Sizing 157
7.1 CSS Color 157
7.2 Introduction to Sizing 163
7.3 Pixels (and Their Less-Used Cousin, the Point) 164
7.3.1 Exercise 168
7.4 Percentages 169
7.4.1 Percentage Fonts 174
7.4.2 Exercises 174
7.5 em 175
7.6 rem Isn't Just for Dreaming 181
7.7 vh, vw: The New(er) Kids on the Block 184
7.8 Just Make It Look Nice 190

Chapter 8: The Box Model 193
8.1 Inline vs. Block 193
8.2 Margins, Padding, and Borders 199
8.3 Floats 206
8.4 A Little More About the overflow Style 214
8.5 Inline Block 219
8.6 Margins for Boxes 223
8.7 Padding . . . Not Just for Chairs 234
8.8 Fun with Borders 235

Chapter 9: Laying It All Out 251
9.1 Layout Basics 251
9.2 Jekyll 253
9.3 Layouts, Includes, and Pages (Oh My!) 259
9.4 The Layout File 261
9.5 CSS File and Reset 264
9.6 Includes Intro: Head and Header 275
9.7 Advanced Selectors 284
9.8 Positioning 291
9.9 Fixed Header 309
9.10 A Footer, and Includes in Includes 312

Chapter 10: Page Templates and Frontmatter 327
10.1 Template Content 327
10.2 There's No Place Like Home 330
10.3 More Advanced Selectors 342
10.4 Other Pages, Other Folders 356

Chapter 11: Specialty Page Layouts with Flexbox 361
11.1 Having Content Fill a Container 363
11.2 Vertical Flex Centering 371
11.3 Flexbox Style Options and Shorthand 375
11.4 Three-Column Page Layout 381
11.5 A Gallery Stub 386

Chapter 12: Adding a Blog 397
12.1 Adding Blog Posts 398
12.2 Blog Index Content Loop 412
12.3 A Blog Post Page 419

Chapter 13: Mobile Media Queries 429
13.1 Getting Started with Mobile Designs 429
13.2 Mobile Adaptation 438
13.3 Mobile Viewport 449
13.4 Dropdown Menu 453
13.5 Mobile Dropdown Menu 463

Chapter 14: Adding More Little Touches 475
14.1 Custom Fonts 475
14.2 Favicons 488
14.3 Custom Title and Meta Description 490
14.4 Next Steps 497

Chapter 15: CSS Grid 499
15.1 CSS Grid at a High Level 501
15.2 A Simple Grid of Content 504
15.3 minmax, auto-fit, and auto-fill 515
15.4 Grid Lines, Areas, and Layouts 527
15.5 Grid on the Inside 556
15.6 Conclusion 589

Part III: Custom Domains 591

Chapter 16: A Name of Our Own 593
16.1 Custom Domain Registration 594
16.2 Cloudflare Setup 599
16.3 Custom Domains at GitHub Pages 606

Chapter 17: Custom Email 619
17.1 Google Mail 619
17.2 MX Records 622
17.3 Site Analytics 626
17.4 Conclusion 630

Index 635

Learn Enough HTML CSS and Layout to Be Dangerous

    Product form

    £28.49

    Includes FREE delivery

    RRP £29.99 – you save £1.50 (5%)

    Order before 4pm tomorrow for delivery by Fri 19 Jun 2026.

    A Paperback / softback by Lee Donahoe, Michael Hartl


      View other formats and editions of Learn Enough HTML CSS and Layout to Be Dangerous by Lee Donahoe

      Publisher: Pearson Education (US)
      Publication Date: 12/10/2022
      ISBN13: 9780137843107, 978-0137843107
      ISBN10: 0137843100

      Description

      Book Synopsis
      Lee Donahoe is cofounder of Learn Enough and is an entrepreneur, designer, and front-end developer. At the age of 16 his late father handed him a tutorial on HTML, and for more than 25 years since then he has been creating things for the Web. In addition to doing the design and front-end development for Learn Enough, Softcover, and the Ruby on Rails Tutorial, he is also a cofounder and front-end developer for Coveralls, a leading test coverage analysis service, and is tech cofounder and front-end developer for Buck Mason, a Los Angeles based clothing company once featured on ABC's Shark Tank. Lee is a graduate of USC, where he studied economics as well as multimedia and creative technologies.

      Michael Hartl created the legendary Ruby on Rails Tutorial that helped jumpstart thousands of web development careers. A cofounder and principal author at Learn Enough, Hartl previously earned a Ph.D. in physics at the C

      Table of Contents
      Preface xvii
      About the Authors xxiii

      Part I: Hypertext Markup Language 1

      Chapter 1: Basic HTML 3
      1.1 Introduction 6
      1.2 HTML Tags 8
      1.3 Starting the Project 12
      1.4 The First Tag 17
      1.5 An HTML Skeleton 20

      Chapter 2: Filling in the Index Page 29
      2.1 Headings 29
      2.2 Text Formatting 31
      2.3 Links 35
      2.4 Adding Images 41

      Chapter 3: More Pages, More Tags 51
      3.1 An HTML Page About HTML 51
      3.2 Tables 54
      3.3 Divs and Spans 62
      3.4 Lists 66
      3.5 A Navigation Menu 68

      Chapter 4: Inline Styling 73
      4.1 Text Styling 74
      4.2 Floats 79
      4.3 Applying a Margin 82
      4.4 More Margin Tricks 85
      4.5 Box Styling 88
      4.6 Navigation Styling 90
      4.7 A Taste of CSS 93
      4.8 Conclusion 98

      Part II: Cascading Style Sheets and Page Layout 101

      Chapter 5: Introduction to CSS 103
      5.1 You're a Front-End Developer 106
      5.2 CSS Overview and History 109
      5.3 Sample Site Setup 116
      5.4 Start Stylin' 121
      5.5 CSS Selectors 128

      Chapter 6: The Style of Style 133
      6.1 Naming Things 134
      6.2 When and Why 137
      6.3 Priority and Specificity 140
      6.4 How to Be a Good Styling Citizen 145

      Chapter 7: CSS Values: Color and Sizing 157
      7.1 CSS Color 157
      7.2 Introduction to Sizing 163
      7.3 Pixels (and Their Less-Used Cousin, the Point) 164
      7.3.1 Exercise 168
      7.4 Percentages 169
      7.4.1 Percentage Fonts 174
      7.4.2 Exercises 174
      7.5 em 175
      7.6 rem Isn't Just for Dreaming 181
      7.7 vh, vw: The New(er) Kids on the Block 184
      7.8 Just Make It Look Nice 190

      Chapter 8: The Box Model 193
      8.1 Inline vs. Block 193
      8.2 Margins, Padding, and Borders 199
      8.3 Floats 206
      8.4 A Little More About the overflow Style 214
      8.5 Inline Block 219
      8.6 Margins for Boxes 223
      8.7 Padding . . . Not Just for Chairs 234
      8.8 Fun with Borders 235

      Chapter 9: Laying It All Out 251
      9.1 Layout Basics 251
      9.2 Jekyll 253
      9.3 Layouts, Includes, and Pages (Oh My!) 259
      9.4 The Layout File 261
      9.5 CSS File and Reset 264
      9.6 Includes Intro: Head and Header 275
      9.7 Advanced Selectors 284
      9.8 Positioning 291
      9.9 Fixed Header 309
      9.10 A Footer, and Includes in Includes 312

      Chapter 10: Page Templates and Frontmatter 327
      10.1 Template Content 327
      10.2 There's No Place Like Home 330
      10.3 More Advanced Selectors 342
      10.4 Other Pages, Other Folders 356

      Chapter 11: Specialty Page Layouts with Flexbox 361
      11.1 Having Content Fill a Container 363
      11.2 Vertical Flex Centering 371
      11.3 Flexbox Style Options and Shorthand 375
      11.4 Three-Column Page Layout 381
      11.5 A Gallery Stub 386

      Chapter 12: Adding a Blog 397
      12.1 Adding Blog Posts 398
      12.2 Blog Index Content Loop 412
      12.3 A Blog Post Page 419

      Chapter 13: Mobile Media Queries 429
      13.1 Getting Started with Mobile Designs 429
      13.2 Mobile Adaptation 438
      13.3 Mobile Viewport 449
      13.4 Dropdown Menu 453
      13.5 Mobile Dropdown Menu 463

      Chapter 14: Adding More Little Touches 475
      14.1 Custom Fonts 475
      14.2 Favicons 488
      14.3 Custom Title and Meta Description 490
      14.4 Next Steps 497

      Chapter 15: CSS Grid 499
      15.1 CSS Grid at a High Level 501
      15.2 A Simple Grid of Content 504
      15.3 minmax, auto-fit, and auto-fill 515
      15.4 Grid Lines, Areas, and Layouts 527
      15.5 Grid on the Inside 556
      15.6 Conclusion 589

      Part III: Custom Domains 591

      Chapter 16: A Name of Our Own 593
      16.1 Custom Domain Registration 594
      16.2 Cloudflare Setup 599
      16.3 Custom Domains at GitHub Pages 606

      Chapter 17: Custom Email 619
      17.1 Google Mail 619
      17.2 MX Records 622
      17.3 Site Analytics 626
      17.4 Conclusion 630

      Index 635

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account