Week 7: HTML & CSS Review
There is no new reading material this week. Use your time to review the first six readings for the course, along with the notes and code for the sessions. This page outlines some key ideas and skills to focus on as you review.
General Advice
- I will not ask you for dates, people's names, or historical facts.
- I will not ask you for precise definitions.
-
I will not expect you to remember CSS property names exactly.
For example, I don't expect you to commit to memory that to
change the text's color, we use
color
, nottext-color
. However, knowing some of the most common properties and their values is useful. - A good way to prepare is to review carefully each homework assignment and each in-class exercise we worked on.
- Review key parts of the readings and session notes. You don't need to reread every page in complete detail.
-
Be prepared:
- to provide short answers to conceptual questions,
- to look for obvious errors in short snippets of code, and
- to write short snippets of HTML and CSS to achieve a desired effect.
Architecture of the Web
- Understand the difference between the Internet and the World Wide Web.
-
Have a basic understanding of each of
these concepts.
(I will not ask you to give formal definitions.)
- URL
- HTTP
- web server
- web browser
- HTML
-
Have a basic understanding of
the client-server model
of communication:
- the process that starts when we type a URL into a browser (or click a link) and ends when a web page displayed on the screen
- how the five items in the previous bullet are involved in the process
HTML
- Know what markup is and why we do it.
- What's the difference between an HTML tag and an HTML element?
-
Know HTML basics:
- syntax: tags, attributes, opening and closing tags, and proper tag nesting
-
document structure:
html/head/body
and what each part might contain
-
You don't have to memorize lots of detail. If you are given
a snippet of HTML code, be prepared to:
- identify what's what in the code
- identify an obvious error in the code
-
Know what
semantic elements
are and why we use them. These include the grouping elements
nav
,main
, andfooter
. -
Know why we use the generic grouping elements
div
andspan
. - Know how to markup simple text consisting of headings and paragraphs.
-
Know how to make a link using the
a
tag. I may ask you to link to a file that is located in a subfolder. - Know how to make a simple ordered and unordered list.
-
Know how to display an image using the
img
tag. -
Know how to make a simple table using the
table
,tr
,td
, andth
tags.
CSS
- Why do we need CSS?
- What do we mean when we say HTML is for defining structure and that CSS is for defining for presentation?
- Where can we place CSS code? Where do we prefer to place it? Why?
-
Know
the basic syntax
of a CSS rule:
- selector
- curly braces
- declarations: property/value pairs separated by colons and terminated by semicolons
-
You don't have to memorize lots of detail. If you are given
a snippet of CSS code, be prepared to:
- identify what's what in the code
- identify an obvious error in the code
- Know about CSS selectors: the kinds of selector we have used in class, and why we need different kinds of selectors.
- Know the CSS box model: content, padding, border, and margin.
- Know the difference between block-level elements and inline elements.
-
Know why CSS makes the use of
div
andspan
elements so common in HTML documents. - Know how we specify colors using names, RGB values, and hexadecimal values.
-
Know basics of CSS layout:
- normal flow
- tweaks to normal flow, such as float an element
- flexbox as an alternate way to layout a page
-
the basic ideas behind positioning
(I will not ask you for details about different types of positioning or overflow.)
- Know how to write a simple ruleset to style text: headings, paragraphs, links, images, lists and their items, and tables and their cells.
As mentioned in General Advice, I don't expect you to memorize a bunch of specific property names and values. However, you should be able to write rules that demonstrate three weeks of experience with CSS.