HTML Academy
Create your own CSS rule
Introduction to HTML and CSS9/13
Back to the list of tasks
  • 1. What is HTML?
  • 2. HTML tags
  • 3. Tag nesting
  • 4. Tag attributes
  • 5. What is CSS?
  • 6. Change the values of CSS properties
  • 7. Let’s change the properties in the CSS rules
  • 8. Create your own CSS rule
  • 9. Apply the styles by class
  • 10. Let’s use two classes
  • 11. Let’s override the styles
  • 12. Let’s finish setting up the styles
  • 13. Summary of “Introduction to HTML and CSS”
Let’s use two classes
  • Sign up
  • Log in

Loading…
Everything will be ready in few seconds

  • Theory
  • Theory
  • Comments

Apply the styles by class

Muffin reviewed the current version of his website and he was pleased. He has divided the skills into three service packages: “Economy” includes the first item on the list of skills, “Standard” includes the next two items, and “VIP” includes the final two.

So, here’s a new task from the boss: Give the three groups of skills different styles so they are easy to tell apart. We can easily agree on the following division of labor: we will take responsibility for the visual design, and you can implement it technically.

First, let’s define a default appearance for all of the items in the list (left padding, border and text color), which will be the same for all service packages. (We will specify different styles for different service packages later.)

What is the best way to do this? Just like in the last step, we could add a new CSS rule with a selector for the tag li. However, that will apply to all of the list items on the page, and we only need to style the items in the list of skills. Sure, at the moment these are the only list items on the page, but we’ve learned by now that Muffin is a demanding boss and will surely want more list items on the page before too long!

How do items in a regular list differ from those in the list of skills? They differ by class! The items in the list of skills are assigned the class skills-item. That is, all we need to do is to select the tags with this class. And to do this, we use a special selector, called a class selector:

.feature-kitten {…}

A class selector starts with a period followed by a class name (with no space between them). A CSS rule for the class skills-item has already been specified in the styles, so all you need to do is add a few properties to it.

Comments

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Instructor Muffin</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <header class="site-header"> <h1>Instructor Muffin</h1> <p>Training for beginner kittens</p> <img src="img/muffin.png" width="359" height="159" alt="Muffin photo"> </header> <section class="features"> <h2>Why choose me?</h2> <p class="feature-kitten">I myself was once a kitten. But look at me now.</p> <p class="feature-train">I have got the master fully trained.</p> <p class="feature-cat">I have been a full-time professional cat for more than 5 years now.</p> </section> <section class="skills"> <h2>What will you learn, you may ask?</h2> <ul class="skills-list"> <li class="skills-item">How to snatch food from the master’s plate;</li> <li class="skills-item">How to give furniture a vintage look;</li> <li class="skills-item">How to open the door and not go in;</li> <li class="skills-item">How to wake the master up at night;</li> <li class="skills-item">How to scatter fur around the apartment.</li> </ul> </section> <footer class="site-footer"> <p>© Muffin, 2019</p> <p>I don’t have any contact information, but I can find you myself.</p> </footer> </div> </body> </html>
CSS
body { padding: 0; font-family: "Arial", sans-serif; font-size: 14px; line-height: 18px; color: #000000; background: #ffffff url("img/muffin-background.jpg") no-repeat 50% 0; } h1 { width: 260px; font-family: "Georgia", serif; font-size: 36px; line-height: 36px; } h2 { padding-bottom: 12px; border-bottom: 1px solid #cccccc; } .site-header { margin-bottom: 30px; } .skills-item { margin-bottom: 15px; /* Add properties here */ } .container { width: 480px; margin: 0 auto; } .site-header img { display: block; margin: 0 auto; } .features { margin-bottom: 30px; } .features p { display: inline-block; vertical-align: top; width: 30%; margin: 0 5px; text-align: center; background-repeat: no-repeat; background-position: center top; } .feature-kitten { padding-top: 60px; background-image: url("img/bottle.svg"); } .feature-cat { padding-top: 60px; background-image: url("img/cat.svg"); } .feature-train { padding-top: 60px; background-image: url("img/whistle.svg"); } .skills-list { padding: 0; list-style: none; } .site-footer { display: flex; justify-content: space-between; color: #999999; }

What didn’t you like in this task?

Thanks! We’ll fix everything at once!

The code has changed, click “Refresh” or turn autorun on.

You’ve gone to a different page

Click inside the mini-browser to shift the focus onto this window.

100%
Goalscompleted
0
    1. Add the property padding-left: 20px; to the rule .skills-item.
    2. Then add the property border-left with the value 10px solid #c4c4c4;.
    3. And finally add the property color with the value #999999;.

    Cookies ∙ Privacy ∙ License Agreement ∙ About ∙ Contacts ∙ © HTML Academy OÜ, 2019−2026

    VISAMastercard

    Log in

    or

    Forgot your password?

    Sign up

    Sign up

    or
    Log in

    Restore access

    Have you forgotten your password or lost access to your profile? Enter your email connected to your profile and we will send you a link to restore access.

    Forgot to connect your email to the profile? Email us and we’ll help.