# Selector If you've got some text that you only want to be larger and red if it's the first paragraph of an article, how do you do that? <article> <p>I want to be red and larger than the other text.</p> <p>I want to be normal sized and the default color.</p> </article> article p:first-of-type { color: red; font-size: 1.5em; } 1- # Universal selector * { color: hotpink; } This rule causes every HTML element on the page to have hotpink text. 2- Class selector The value of a class attribute can be almost anything you want it to be. One thing that could trip you up, is that you can't start a class (or an ID) with a number, such as .1element. .red { border: 1px solid blue; } <div class="red"></div> 3- ID selector #rad { border: 1px solid blue; } <div id="rad"></div> 4- Grouping selectors strong, em, .my-class, [lang] { color: red; } 5- Attribute Square brackets [] are used for attribute simple selectors. input [type=”text”] { background-color: #444; width: 200px; } <input type="text"> 6- General Sibling Combinator: h2 ~ p { margin-bottom: 20px; } <h2>Title</h2> <p>Paragraph example.</p> <p>Paragraph example.</p> <p>Paragraph example.</p> <div class=”box”> <p>Paragraph example.</p> </div> 7- Adjacent Sibling Combinator: p + p { text-indent: 1.Sem; margin-bottom: 0; } must be an immediate sibling, not just a general sibling. 8- Pseudo-classes /* Our link is hovered */ a:hover { outline: 1px dotted green; } /* Sets all even paragraphs to have a different background */ p:nth-child(even) { background: floralwhite; } 9- Pseudo-element Pseudo-elements differ from pseudo-classes because instead of using a single colon (:), we use a double colon (::). li::marker { color: red; } 10- Type selector A type selector matches a HTML element directly. /* Apply All <section> elements. */ section { padding: 2em;} /* Apply All <a> elements. */ a { color: red;}