# 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 )