HTML/CSS/Style Basics/Child Selector
Содержание
Apply styles to label elements, but only if they appear inside of an input form
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style type="text/css">
form label {
display: block;
font-weight: bold;
margin: 5px;
width: 225px;
text-align: right;
background: black;
}
</style>
<title>Feedback Form - Widgets and What"s-its</title>
</head>
<body>
<h1>Widgets and What"s-its</h1>
<form>
<h2>Tell us what"s on your mind..</h2>
<div>
<label for="feedback[name]">Name:</label>
<input type="text" size="25" name="feedback[name]" />
</div>
<div>
<label for="feedback[email]">Email:</label>
<input type="text" size="25" name="feedback[email]" />
</div>
<div>
<label for="feedback[address]">Address:</label>
<textarea name="feedback[address]" cols="40" rows="3" wrap="virtual"></textarea>
</div>
<div>
<label for="feedback[message]">Comments:</label>
<textarea name="feedback[message]" cols="40" rows="6" wrap="virtual"></textarea>
</div>
<div>
<label for="feedback[heard]">How"d you hear about us?</label>
<select name="feedback[heard]">
<option value="">Choose...</option>
<option value="newspaper">Newspaper</option>
<option value="magazine">Magazine</option>
<option value="television">Television</option>
<option value="radio">Radio</option>
<option value="other">Other</option>
</select>
</div>
</form>
</body>
</html>
Child Selector Demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
#my-id > * { border:3px solid black; }
</style>
</head>
<body>
<p class="my-class">p.my-class</p>
<div id="my-id">
<ol>
<li>div ol li</li>
<li>div ol li</li>
<li>
<p class="my-class">div ol li p.my-class </p>
</li>
</ol>
</div>
</body>
</html>
Direct Child Selectors
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style type="text/css">
form > div > label {
float: left;
}
form > div {
clear: left;
}
div > input, div > select {
margin: 3px;
padding: 4px;
}
select > option {
padding: 4px;
}
</style>
<title>Feedback Form - Widgets and What"s-its</title>
</head>
<body>
<h1>Widgets and What"s-its</h1>
<form>
<h2>Tell us what"s on your mind..</h2>
<div>
<label for="feedback[name]">Name:</label>
<input type="text" size="25" name="feedback[name]" />
</div>
<div>
<label for="feedback[email]">Email:</label>
<input type="text" size="25" name="feedback[email]" />
</div>
<div>
<label for="feedback[address]">Address:</label>
<textarea name="feedback[address]" cols="40" rows="3" wrap="virtual"></textarea>
</div>
<div>
<label for="feedback[message]">Comments:</label>
<textarea name="feedback[message]" cols="40" rows="6" wrap="virtual"></textarea>
</div>
<div>
<label for="feedback[heard]">How"d you hear about us?</label>
<select name="feedback[heard]">
<option value="">Choose...</option>
<option value="newspaper">Newspaper</option>
<option value="magazine">Magazine</option>
<option value="television">Television</option>
<option value="radio">Radio</option>
<option value="other">Other</option>
</select>
</div>
</form>
</body>
</html>
Set style for direct child
<html>
<head>
<title>Set style for direct child</title>
<style type="text/css">
p > strong {
text-decoration: underline;
}
</style>
<body>
<div>
<p>Nothing happens to this part of the sentence because this
<strong>strong</strong> isn"t the direct child of div.</p>
However, this <strong>strong</strong> is the child of div.
Therefore, it receives the style dictated in the CSS rule.
</div>
<body>
Use > to mark a direct relationship
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
html>body #navsite ul li a {
width: auto;
}
</style>
</head>
<body>
<div id="navsite">
<p>Site navigation:</p>
<ul>
<li><a href="">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Archives</a></li>
<li><a href="">Writing</a></li>
<li><a href="">Speaking</a></li>
<li><a href="">Contact</a></li>
</ul>
</div>
</body>
</html>