# HyperText Markup Language ## Concepts - Why putting `<script>` tag at the end? - Put `<link>` to [[css|CSS]] file in the `<head>`, to avoid FOUC (flash of un-styled content), so that users only see styled content. - Put `<script>` at the end so that page loads faster ## Tags - Attributes - key and values. - `class`, name things after what they are instead of how they look like - `id` is unique - Functionally `<div>`, `<article>` and `<section>` `<nav>` are all the same, but try to be specific. - Do two `<p>` tags instead of using `<br/>` - Opening/Closing/Self-closing/void tags - Anchor tags `<a>` - Division `<div>`, defined more by what is in it - `<span>` a container for small piece of text ## Events - A bi-direction process: event is first passing down to target (capturing), then "bubble" up (propagating )