Lesson 11: Styling Elements with CSS
Overview
This lesson continues the introduction to CSS style properties, this time focusing more on non-text elements. Students begin this lesson by looking at a website about Desserts of the World. They investigate and modify the new CSS styles on this website, adding their own styles to the page. After working on the Desserts page, students apply their knowledge of new CSS properties to do more styling of their personal websites.
Purpose
This lesson builds on what students previously learned about CSS properties, this time looking at properties that can be used all elements. These new properties impact the visual look of the web page beyond its text and give students more precise control over the layout of their pages. As students expand their knowledge of style properties, many may have questions about how they can do even more with CSS. Curious students can explore more properties at W3 Schools .
Assessment Opportunities
-
Use CSS properties to change the layout properties of elements.
See Level 11 in Code Studio.
-
Create a CSS rule-set for the body element that impacts all elements on the page.
See Level 11 in Code Studio
Agenda
Warm Up (5 minutes)
Activity (40 minutes)
Wrap Up (5 minutes)
View on Code Studio
Objectives
Students will be able to:
- Use CSS properties to change the size, position, and borders of elements.
- Create a CSS rule-set for the body element that impacts all elements on the page.
Introduced Code
Teaching Guide
Warm Up (5 minutes)
Discuss: What Styles Do You Want?
Prompt: Yesterday we styled text elements. What other ways do you wish you could style your page?
Discussion Goal
Goal: Students will likely bring up:
- Adding background colors to things
- Being able to move things around on the page (center, left, right)
- Being able to add borders to things
- Being able to control the size of objects
Discuss: Have students share styles they would like to be able to add their page.
Remarks
Today we are going to learn more properties we can use to style our web pages. Hopefully some of them allow you to add some of the styles we listed in this discussion.
Activity (40 minutes)
Teaching Tip
Pair Programming: Consider using pair programming for some or all of this lesson, in particular as students are learning new CSS properties.
Web Lab: Styling Elements with CSS
Transition: Send students to Code Studio.
Wrap Up (5 minutes)
Journal: Have students add the new properties they learned to the CSS Properties page in their journal or the class poster.
Prompt: Have students reflect on their development of the five practices of CS Discoveries (Problem Solving, Persistence, Creativity, Collaboration, Communication). Choose one of the following prompts as you deem appropriate.
-
Choose one of the five practices in which you believe you demonstrated growth in this lesson. Write something you did that exemplified this practice.
-
Choose one practice you think you can continue to grow in. What’s one thing you’d like to do better?
-
Choose one practice you thought was especially important for the activity we completed today. What made it so important?
- Lesson Overview
- Student Overview
Student Instructions
What does the body selector do?
Because the content of the web page is all inside the `body` tag, the body selector gives style rules for everything on the web page.What does the border-style property do?
The `border-style` property determines what kind of border (solid, dotted, dashed, etc.) the element has. You can read more about this property at W3Schools - CSS border-style PropertyWhat does the border-radius property do?
The `border-radius` property determines the radius of the curves at the corners of the element. A bigger radius makes a bigger, softer curve, and a smaller radius makes a smaller, sharper curve. A radius of zero makes a regular corner. You can read more about this property at W3Schools - CSS3 border-radius propertyWhat does the float property do?
The `float` property makes an element "float", meaning that the elements that come after it all flow around it. If the `float` value is `left`, the element will float to the left, and the elements after it will show up on its right. If the `float` value is `right`, the element will float to the right, and the elements after it will show up on its left. You can read more about this property at W3Schools - CSS float PropertyLayout and Style
- Look through web page below for new styles.
- Open the style sheet
- With your partner, discuss which parts of the CSS code you think are making the page appear different.
- What makes the entire page blue?
- How are the images positioned to the left of all the other elements?
- What made the image corners rounded?
In the next few levels, you'll be changing and adding new styles on this page.
Student Instructions
How does the code work?
Here is the code that is making the background of the page blue:body { background-color: lightblue; }* `body` is the _selector_. It specifies which elements will have to follow the rules inside the curly braces, in this case, the body element is the entire page. * `background-color: lightblue;` is the rule that makes the entire page light blue. * `background-color` is the _property_. It explains what the rule is about, in this case the color of the background. * `lightblue` is the _value_. It explains how the rule should be applied, in this case making the background light blue.
What colors can I use in CSS?
CSS includes most common color names (red, blue, green, etc.), and many uncommon ones. You can see a full list of CSS color names at W3Schools - HTML Color Names. You can still use colors that are not included in the named list, but you will need to use their RGB values. You can read more about using colors in CSS at W3Schools - CSS Legal Color ValuesWhat does the background-color property do?
The `background-color` property determines the color of the background of an element. You can read more about the property at W3Schools - CSS background-color PropertyWhat if an element inside the page has a different background color from the body?
You can see the answer to this question by adding a `background-color` rule to the `p` tag. The paragraphs will have the background color in the rule for the `p` tag, and the rest of the page will follow the rule for the `body` tag.What is a style sheet?
A style sheet is a document that controls how a web page will appear. External style sheets are separate files that are linked to the HTML page.What is CSS?
CSS is a language that controls the way content on a web site appears. It uses rule-sets to change the look of a page. Each rule set has a selector, which specifies which elements on the page will be affected, and the rules, which explain how to display the elements. Each rule consists of a property and a value for that property. Here’s an example of a rule-set that makes the text in an `h2` tag blue and cursive:h2 { color: blue; font-family: cursive; }In this example, `h2` is the selector, `color` and `font-family` are properties, and `blue` and `cursive` are the values for those properties.
Background Color
- Find the code in the style sheet that is making the background of the entire page light blue.
- Change the code to make the page a different color.
- Try to change the background color of just the paragraphs.
- The Body Element
- Student Overview
Student Instructions
What does the body selector do?
Because the content of the web page is all inside the `body` tag, the body selector gives style rules for everything on the web page.What does the color property do?
The `color` property specifies the color of the text. If there’s no text, it won’t do anything. Read more at W3Schools - CSS color PropertyWhat does the text-align property do?
The `text-align` property aligns the text to the left, right, or center. You can read more at W3Schools - CSS text-align PropertyWhat does the text-decoration property do?
The `text-decoration` property puts a line over, under, or through a piece of text. You can read more about the property at W3Schools - CSS text-decoration PropertyWhat does the font-family property do?
The `font-family` property changes the font of the text. It gives a general description of the type of font that should be used, but each browser might display the font slightly differently. Read more at W3chools - CSS font-family PropertyWhat does the font-size property do?
The `font-size` property changes the size of the text. You can use general terms, such as `small`, `medium`, and `large`, or you can specify the exact size in pixels, such as `20px`. Read more at W3Schools - CSS font-size PropertyWhat is a stylesheet?
A style sheet is a document that controls how a web page will appear. External style sheets are separate files that are linked to the HTML page.What is CSS?
CSS is a language that controls the way content on a web site appears. It uses rule-sets to change the look of a page. Each rule set has a selector, which specifies which elements on the page will be affected, and the rules, which explain how to display the elements. Each rule consists of a property and a value for that property. Here’s an example of a rule-set that makes the text in an `h2` tag blue and cursive:h2 { color: blue; font-family: cursive; }In this example, `h2` is the selector, `color` and `font-family` are properties, and `blue` and `cursive` are the values for those properties.
The Body Element
- Find the
body
rule-set in the style sheet. - Discuss with a partner what you think will happen if you add
text-align
,color
, or other text properties to thebody
rule set. - Try out some different properties to check your guesses.
Student Instructions
What colors can I use in CSS?
CSS includes most common color names (red, blue, green, etc.), and many uncommon ones. You can see a full list of CSS color names at W3Schools - HTML Color Names. You can still use colors that are not included in the named list, but you will need to use their RGB values. You can read more about using colors in CSS at W3Schools - CSS Legal Color ValuesHow does the code work?
Here is the code that is making the image borders:img { border-color: saddlebrown; border-width: 4px; border-style: solid; border-radius: 10px; }
img
is the selector. It specifies which elements will have to follow the rules inside the curly braces, in this case, the images.border-color: saddlebrown;
,border-width: 4px;
,border-style: solid;
, andborder-radius: 10px;
are the rules that make the border.
What does the border-style
property do?
The border-style
property determines what kind of border (solid, dotted, etc.) the element has. You can read more about this property at W3Schools - CSS border-style Property
What does the border-radius
property do?
The border-radius
property determines the radius of the curves at the corners of the element. A bigger radius makes a bigger, softer curve, and a smaller radius makes a smaller, sharper curve. A radius of zero makes a regular corner. You can read more about this property at W3Schools - CSS3 border-radius property
What does the float
property do?
The float
property makes an element "float", meaning that the elements that come after it all flow around it. If the float
value is left
, the element will float to the left, and the elements after it will show up on its right. If the float
value is right
, the element will float to the right, and the elements after it will show up on its left. You can read more about this property at W3Schools - CSS float Property
Borders
- Find the rules in the style sheet that set image borders color and width.
- Change the color and width of your borders.
- Try out some different border styles.
- Choose from
dotted
,dashed
,solid
, anddouble
- Put a border on another type of page element, such as one of the headings or the paragraphs.
Student Instructions
How does the code work?
Here is the code that is making the image borders:img { border-color: saddlebrown; border-width: 4px; border-style: solid; border-radius: 10px; }
img
is the selector. It specifies which elements will have to follow the rules inside the curly braces, in this case, the images.border-color: saddlebrown;
,border-width: 4px;
,border-style: solid;
, andborder-radius: 10px;
are the rules that make the border.
What does the border-style
property do?
The border-style
property determines what kind of border (solid, dotted, etc.) the element has. You can read more about this property at W3Schools - CSS border-style Property
What does the border-radius
property do?
The border-radius
property determines the radius of the curves at the corners of the element. A bigger radius makes a bigger, softer curve, and a smaller radius makes a smaller, sharper curve. A radius of zero makes a regular corner. You can read more about this property at W3Schools - CSS3 border-radius property
What does the float
property do?
The float
property makes an element "float", meaning that the elements that come after it all flow around it. If the float
value is left
, the element will float to the left, and the elements after it will show up on its right. If the float
value is right
, the element will float to the right, and the elements after it will show up on its left. You can read more about this property at W3Schools - CSS float Property
Border Radius
- Look at the
border-radius
property inside yourimg
rule-set - Discuss with your partner what you think the property does.
- Try different values for border radius and decide which one you like the best.
Student Instructions
How does the code work?
Here is the code that is making the image float on the left hand side of the page:img { float: left; }* `img` is the _selector_. It specifies which elements will have to follow the rules inside the curly braces, in this case, the images. * `float: left;` is the rule that makes the image float to the left.
What does the float
property do?
The `float` property makes an element "float", meaning that the elements that come after it all flow around it. If the `float` value is `left`, the element will float to the left, and the elements after it will show up on its right. If the `float` value is `right`, the element will float to the right, and the elements after it will show up on its left. You can read more about this property at W3Schools - CSS float Property
Float
Student Instructions
How does the code work?
Here is the code that is making the image its current size: img { width: 250px; } * `img` is the _selector_. It specifies which elements will have to follow the rules inside the curly braces, in this case, the images. * `width: 250px` is the rule that makes the image 250 pixels wide. It also changes the height so that the image does not stretch.
What does the width
property do?
The `width` property determines how wide the element will be. Most of the time, you will define the width in pixels, which makes the element take up an exact amount of space on the screen. Defining the width will also change the height so that the image does not stretch, unless you have also defined the height. You can read more about this property at W3Schools - CSS width Property
What does the height
property do?
The `height` property determines how tall the element will be. Most of the time, you will define the height in pixels, which makes the element take up an exact amount of space on the screen. Defining the height will also change the width so that the image does not stretch, unless you have also defined the width. You can read more about this property at W3Schools - CSS height Property
What does px
mean / What is a pixel?
Pixel, which is abbreviated `px`, is how elements are measured in CSS. It’s the size of a single point of light on the screen.
Why does using a width and height rule at the same time sometimes stretch out the image?
When the width of an images changes, the height must change by the same percentage, otherwise the image will stretch. For example, if you double the width of an image, you must also double the height, or the image will be stretched horizonally. When you only define the width or the height, the computer will automatically change the other property so that the image looks the same.Width and Height
Student Instructions
How does the code work?
Here is the code that is putting extra space around the images:img { margin: 10px; }
-
img
is the selector. It specifies which elements will have to follow the rules inside the curly braces, in this case, the images. -
margin: 10px;
is the rule that puts 10 pixels of space around the image.
What does the margin
property do?
The margin
property determines how much space will be around the image. Most of the time, you will define in the margin in pixels. You can read more about this property at W3Schools - CSS margin Property
What does px
mean / What is a pixel?
Pixel, which is abbreviated px
, is how elements are measured in CSS. It’s the size of a single point of light on the screen.
Margin
Margins specify how much space should be around an element.
Assessment Opportunities
Create rules that affect entire groups of elements; apply formatting in a web page using CSS.
Extensive Evidence
The background, images, and text have all been styled as described in the instructions. There are no syntax errors or extra code (that does not function) in the stylesheet.
Convincing Evidence
The background, images, and text have all been styled as described in the instructions, but there may be minimal errors or non-functioning code in the stylesheet.
Limited Evidence
Rule-sets have been created in the style-sheet to style the background, images, and text, but there are major errors that prevent the code from working properly.
No Evidence
There are no rule-sets in the stylesheet, or the rule-sets do not have the necessary selectors to style the background or images in the pages.
Student Instructions
Try it out!
Now that you've seen some different ways to style, it's time to try it out yourself. Here's a web page you've seen before, but it needs some style!
Do This
- Give the webpage a background color.
- Put more space around the images.
- Make all of the text a different color.
- Add any other styles you want.
- Layout Properties
- Student Overview
- Styling your Website
- 13
Student Instructions
Personal Web Site
Try out some of these new CSS properties on your personal web site.
- Add styling of your choice to your web site. Be sure to use at least three new CSS properties.
Checklist
-
At least three of the following CSS Properties are used:
height
width
border-style
border-radius
border-width
float
margin
We encourage you to use more than three, though! Explore additional CSS properties and add them to your page.
Standards Alignment
View full course alignment
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
- 2-AP-16 - Incorporate existing code, media, and libraries into original programs, and give attribution.
- 2-AP-19 - Document programs in order to make them easier to follow, test, and debug.