Web Design
Lecture & Discussion:
CSS Page Composition
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
The CSS Box Model
There are four basic components �to each HTML <div> </div> element.
These components dictate the size and spacing �of HTML <div> </div> elements on the page:
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Margin, Border, Padding, Content
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
div {
width: 150px;
margin: 40px;
border: 4px solid orange;
padding: 40px;
background-color: lime;
}
(margin-top)
(border-top)
(padding-top)
(padding-bottom)
(border-bottom)
(margin-bottom)
(margin-right)
(border-right)
(padding-right)
(margin-left)
(border-left)
(padding-left)
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
CSS Reset
CSS Reset
Almost all HTML elements come with some margin and padding values automatically applied to them (usually about 5 pixels or so).
div {
margin: 5px;
padding: 5px;
}
CSS Reset
Rather than having to re-style every single element on the page individually (which would be very tedious and annoying), we can use CSS Reset.
div {
margin: 0;
padding: 0;
}
CSS Reset
A typical CSS Reset clears out the margins and padding and gets rid of numbers and bullet points for ordered and unordered lists.
* {
margin: 0;
padding: 0;
list-style-type: none;
}
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
CSS display Property
The <div> </div> element is a block-level element, so unless otherwise defined or nested, the element will expand and drop below other block-level elements.
<h1> </h1> is a block-level element
<ul> </ul> is a block-level element
<ol> </ol> is a block-level element
<li> </li> is a block-level element
<p> </p> is a block-level element
CSS display Property
The <a> </a> element is an inline element, so unless otherwise defined or nested, the element will occupy only as much space as necessary to display the content, and other inline elements can sit on the same line.
<a> </a> is an inline element
<button> </button> is an inline element
<cite> </cite> is an inline element
<em> </em> is an inline element
<img> is an inline element
<strong> </strong> is an inline element
CSS display Property
We use the display: property as our primary tool �to control the layout of the <div> elements on our page.
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
HTML5 Semantic Element Tags
Semantic elements are just like the division element <div> </div>, but semantic elements clearly describe their meaning for both humans and computers.
<div> is non-semantic, a blank, meaningless element. BAD!!!!!
<div id="header"> only has semantic meaning for humans. Computers can’t make sense of this, its meaning is illegible. BAD!!!
<header> is semantic for both humans and computers, which vastly improves legibility and SEO (Search Engine Optimization). GOOD!!!!!
HTML5 Semantic Element Tags
<body>
<header> <h1></h1> <h2></h2> </header>
<nav> <ul> <li></li> </ul> </nav>
<main>
<section> <h3></h3>
<article> <h4></h4>
<figure>
<figcaption> </figcaption>
</figure>
</article>
</section>
</main>
<footer> </footer>
</body>
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
IDs & Classes
IDs are like serial numbers – use �them to refer to only one element.
<h2 id="section-two">Section Two</h2>
h2#section-two {
margin-top: 10px;
border-top: 2px dashed red;
padding-top: 10px;
}
Section One
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Section Two
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
IDs & Classes
Classes are like barcodes – use �them to refer to lots of elements.
<h4 class="magenta">Paragraph #1</h4>
…
<h4 class="magenta">Paragraph #2</h4>
…
<h4 class="magenta">Paragraph #3</h4>
.magenta {
color: magenta;
}
Paragraph #1
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Paragraph #2
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Paragraph #3
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
CSS Pseudo-Classes
Pseudo-classes are used to define a special state �of an element. Pseudo-classes give us richer control over user interactions.
By default, only <a href="page.html"> anchor tag links </a> have pseudo-class styles, but we can apply pseudo-classes to any element on the page.
CSS Pseudo-Classes
a:link { a:visited {
color: blue; color: purple;
text-decoration: underline; text-decoration: underline;
} }
a:hover { a:active {
color: blue; color: red;
text-decoration: underline; text-decoration: underline;
} }
CSS Pseudo-Classes
Hi, I’m just a default anchor
Hi, I’m a default visited anchor
Hi, I’m a default anchor during hover
Hi, I’m a default active anchor
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
CSS Page Composition
CSS Page Composition
CSS Dimensions
CSS Page Composition
CSS Dimensions (Fixed dimensions)
CSS Page Composition
CSS Dimensions (Fixed dimensions)
Picture elements
CSS Page Composition
CSS Dimensions (Fixed dimensions)
Picture elements
Typeface unit (1 pt = 1/72 inch)
CSS Page Composition
CSS Dimensions (Fixed dimensions)
Picture elements
Typeface unit (1 pt = 1/72 inch)
Relative to the font-size of the parent element �(2em means 2 times the size of the current font)
CSS Page Composition
CSS Dimensions (Fixed dimensions)
Picture elements
Typeface unit (1 pt = 1/72 inch)
Relative to the font-size of the parent element �(2em means 2 times the size of the current font)
CSS Page Composition
CSS Dimensions (Fixed dimensions)
Picture elements
Typeface unit (1 pt = 1/72 inch)
Relative to the font-size of the parent element �(2em means 2 times the size of the current font)
CSS Page Composition
CSS Dimensions
CSS Page Composition
CSS Dimensions (Flexible dimensions)
CSS Page Composition
CSS Dimensions (Flexible dimensions)
Percent of the parent element
CSS Page Composition
CSS Dimensions (Flexible dimensions)
Percent of the parent element
Percentage of the browser �window width
CSS Page Composition
CSS Dimensions (Flexible dimensions)
Percent of the parent element
Percentage of the browser �window width
Percentage of the browser �window height
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
CSS Page Composition
CSS float: Property
CSS Page Composition
CSS float: Property
Allows elements to stack horizontally�across the width of the page.
CSS Page Composition
CSS float: Property
CSS Page Composition
CSS float: Property
Elements will not float or stack horizontally
CSS Page Composition
CSS float: Property
Elements will not float or stack horizontally
Elements stack horizontally from left to right
CSS Page Composition
CSS float: Property
Elements will not float or stack horizontally
Elements stack horizontally from left to right
Elements stack horizontally from right to left
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
CSS Page Composition
CSS position Property
CSS Page Composition
CSS position Property
Determines how an element should behave in relation to its starting location on the page and the user’s scroll through the window
CSS Page Composition
CSS position Property
CSS Page Composition
CSS position Property
Element is positioned by the normal flow of elements on the page
CSS Page Composition
CSS position Property
Element is positioned by the normal flow of elements on the page
Element can be adjusted away from its normal position – using the CSS properties top, right, bottom, and left – otherwise it just goes with the page flow
CSS Page Composition
CSS position Property (continued)
CSS Page Composition
CSS position Property (continued)
Element is positioned in relationship to just the page body
CSS Page Composition
CSS position Property (continued)
Element is positioned in relationship to just the page body
Element always stays in the same position, even while scrolling, �(as if you taped it to the glass of the user’s screen/viewport)
CSS Page Composition
CSS position Property (continued)
Element is positioned in relationship to just the page body
Element always stays in the same position, even while scrolling, �(as if you taped it to the glass of the user’s screen/viewport)
Element will only scroll inside of its �parent element, but otherwise, it’s stuck.
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions �CSS float property
CSS position property �CSS border-radius property
CSS Page Composition
CSS border-radius: Property
Defines rounded-corners for an element, �or turns it into an ellipse/circle.
CSS Page Composition
CSS border-radius: Property
Defines rounded-corners for an element, �or turns it into an ellipse/circle.
0%
CSS Page Composition
CSS border-radius: Property
Defines rounded-corners for an element, �or turns it into an ellipse/circle.
0%
12%
CSS Page Composition
CSS border-radius: Property
Defines rounded-corners for an element, �or turns it into an ellipse/circle.
0%
24%
12%
CSS Page Composition
CSS border-radius: Property
Defines rounded-corners for an element, �or turns it into an ellipse/circle.
0%
24%
12%
36%
CSS Page Composition
CSS border-radius: Property
Defines rounded-corners for an element, �or turns it into an ellipse/circle.
0%
50%
24%
12%
36%
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions
CSS position property �CSS float property �CSS border-radius property
Quick Review
HTML <div> Elements, CSS Box Model, margin, border, padding, Content, CSS Reset, CSS display property, HTML5 Semantic Tags, IDs, Classes, and Pseudo-classes
CSS Page Composition
CSS Dimensions
CSS position property �CSS float property �CSS border-radius property
Web Design is an open-source learning resource.
Class material developed by Ian Besler.�
Licensed under a Creative Commons�Attribution-NonCommercial-ShareAlike�4.0 International License.