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 the CSS property
  • 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 redefine 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. But then he remembered that clients often call him to ask what the rates for his training course are. And he is already tired of explaining to customers that the “Economy” service package includes the first item on the list of skills, the “Standard” service package includes the next two items, and the “VIP” service package includes the final two after that.

So, here’s a new task from the boss: Design the list of skills so that it is immediately clear which skill is included in which package. 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 (margin, border and text color), which will be the same for all service packages. (We will specify different styles for difference 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 specify the styles for the list items about the Economy plan. 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−2025

    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.