-
Notifications
You must be signed in to change notification settings - Fork 0
/
lab_031.html
93 lines (88 loc) · 4.04 KB
/
lab_031.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!doctype html>
<html lang="en">
<head>
<title>
Lab 31 - Pseudo Classes and Pseudo Elements
</title>
<meta charset="UTF-8" />
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
<meta "="" content=" width=device-width, initial-scale=1.0" name="viewport" />
<meta content="A guided tour through the fundamentals of Git, HTML, & CSS" name=" description" />
<meta content="#0000ff" name="theme-color" />
<link href="manifest.json" rel="manifest" />
<link href="css/reset.css" media="screen" rel="stylesheet" />
<link href="css/screen.css" media="screen" rel="stylesheet" />
<link href="css/prism.css" rel="stylesheet" />
</head>
<body data-lab-id="31">
<a class="skip-to-content" href="#content" tabindex="1">
Skip to content
</a>
<main class="layout">
<nav id="index">
<p class="link-home">
<a href="index.html">
<span>Hack4Impact Starter Pack</span>
</a>
</p>
<button class="link-menu">
Menu
</button>
<nav tabindex="0">
<ol>
</ol>
</nav>
</nav>
<div id="content" tabindex="-1">
<h1 class="lab_title">
<em>Lab 31</em>
Pseudo Classes
</h1>
<h2>Goals</h2>
<ul>
<li>Learn about pseudo classes in CSS</li>
</ul>
<h2>Pseudo Classes</h2>
<p><em>Pseudo classes</em> are an extra add-on to CSS selectors that make selections
that much more specific. They target an element's <strong>state</strong> or <strong>interaction</strong>. For
example, if we want a different style for when someone hovers over a button or after a link
has been pressed.</p>
<p> The ones we will talk about are <code class="language-css">link</code>,
<code class="language-css">visited</code>, <code class="language-css">active</code>,
<code class="language-css">hover</code>, and <code class="language-css">focus</code>.
</p>
<p>The pseudo classes below, <code class="language-css">link</code> and
<code class="language-css">visited</code>, target <em>unvisited</em> and <em>visited</em> links
respectively. The styles will apply depending on whether the user has visited the page before.
</p>
<pre data-range="1,8" data-src="prism/css/3101.css"></pre>
<p>The following pseudo classes are <em>dynamic</em> pseudo classes. They are applied when something happens
or for a specific kind of interaction.</p>
<ul>
<li><code class="language-css">active</code> handles the user activating, or clicking on, something e.g. the
link.</li>
<li><code class="language-css">hover</code> handles user input moving over the element e.g. a mouse hovering
over a link</li>
<li><code class="language-css">focus</code> handles when something is selected by, or is ready for, keyboard
input</li>
</ul>
<pre data-range="10, 21" data-src="prism/css/3101.css"></pre>
<p class="note"><strong>Note:</strong> <code class="language-css">focus</code> is most often used for <strong>form
elements</strong> such as <code class="language-html"><input></code> or <code
class="language-html"><textarea></code>, however they can also be used on links for increased
accessibility! Some visitors may be using a keyboard to navigate the website.</p>
<h2>Review CSS</h2>
<p>Take a look at the full CSS style sheet from Lab 29 and see if you can identify the different selectors
and pseudo classes. Is there anything that you don't understand yet?</p>
<p>How about the minimum style sheet? What is missing and what is the same? Take note of your observations and move
on to the next labs.</p>
</div>
</main>
<script src="js/ui.js" type="text/javascript"></script>
<script src="js/prism.js" type="text/javascript"></script>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
mermaid.initialize({startOnLoad: true, theme: "base"});
</script>
</body>
</html>