# CSS: Extended Examples ## Selectors ### HTML Tag Type ```css p { color: blue; } h1 { font-size: 24px; } ``` ### Class ```css .btn { background: red; padding: 10px; } .text { color: green; } ``` ### ID ```css #header { width: 100%; height: 60px; } #main { margin: 20px; } ``` ### Attribute ```css [type="text"] { border: 1px solid gray; } [href^="https"] { color: blue; } [alt*="icon"] { width: 16px; } ``` ## Combinators ### Child (>) ```css div > p { margin: 0; } ul > li { list-style: none; } ``` ### Descendant (space) ```css nav a { text-decoration: none; } div p { font-size: 14px; } ``` ### Next-Sibling (+) ```css h1 + p { margin-top: 0; } img + span { margin-left: 10px; } ``` ### Subsequent-Sibling (~) ```css h2 ~ p { color: gray; } input ~ label { font-weight: bold; } ``` ### Selector List (,) ```css h1, h2, h3 { font-family: Arial; } .btn, .link { cursor: pointer; } ``` ## Pseudo Classes ### :hover ```css a:hover { color: red; } button:hover { background: blue; } ``` ### :active ```css button:active { transform: scale(0.95); } a:active { color: purple; } ``` ### :before ```css h1:before { content: "→ "; color: red; } .icon:before { content: "★"; } ``` ### :after ```css a:after { content: " ↗"; font-size: 12px; } p:after { content: "."; } ``` ### :first-child ```css li:first-child { font-weight: bold; } p:first-child { margin-top: 0; } ``` ### :last-child ```css li:last-child { border-bottom: none; } div:last-child { margin-bottom: 0; } ``` ### :nth-child() ```css tr:nth-child(odd) { background: #f0f0f0; } li:nth-child(3n) { color: blue; } ``` ## Shorthand Properties ### margin ```css /* Shorthand */ .box { margin: 20px; } /* Longhand */ .box { margin-top: 20px; margin-right: 20px; margin-bottom: 20px; margin-left: 20px; } ``` ### padding ```css /* Shorthand */ .container { padding: 8px 12px; } /* Longhand */ .container { padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; } ``` ### border ```css /* Shorthand */ .box { border: 2px solid black; } /* Longhand */ .box { border-width: 2px; border-style: solid; border-color: black; } ``` ### background ```css /* Shorthand */ .hero { background: url(bg.jpg) center/cover no-repeat; } /* Longhand */ .hero { background-image: url(bg.jpg); background-position: center; background-size: cover; background-repeat: no-repeat; } ``` ### font ```css /* Shorthand */ .title { font: bold 24px/1.2 Arial, sans-serif; } /* Longhand */ .title { font-weight: bold; font-size: 24px; line-height: 1.2; font-family: Arial, sans-serif; } ```