Welcome to Advanced GIS, Lecture 8
This is a web page that can be viewed as slides.
→ to move forward
← to go back
Class 8
#bids {
line-color: #ae8;
line-width: 0.5;
polygon-opacity: 1;
polygon-fill: #ae8;
}
a {
color: blue;
font-size: 20px;
}
a {
color: blue;
font-size: 20px;
}
pick the a
elements (links)
a {
color: blue;
font-size: 20px;
}
make the elements blue
a {
color: blue;
font-size: 20px;
}
make the font 20 pixels large
<p>
<a href="...">Link One</a>
</p>
<p>
<a href="...">Link Two</a>
</p>
<a href="...">Link Three</a>
a {
color: blue;
font-size: 20px;
}
<p>
<a href="...">Link One</a>
</p>
<p>
<a href="...">Link Two</a>
</p>
<a href="...">Link Three</a>
a {
color: blue;
font-size: 20px;
}
body {
...
}
body
(the whole page)p {
...
}
p
elements (paragraphs)selector {
property: value;
...
}
head
!head
, and in a style
element<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style>
</style>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style>
p {
font-size: 35px;
}
</style>
</head>
<body>
</body>
</html>
(1) try out a change in developer tools, then copy and paste it to your file
(2) comment things out rather than delete them
(2) comment things out rather than delete them:
a {
/* Trying out a new color */
/*color: blue;*/
color: rgb(88, 18, 209);
...
}
<span class="legend-label">
land use vacant
</span>
<span class="legend-label">
land use vacant
</span>
(in your style
element) you could say:
.legend-label {
font-weight: bold;
}
<span id="vacant-land-use-label">
land use vacant
</span>
<span id="vacant-land-use-label">
land use vacant
</span>
(in your style
element) you could say:
#vacant-land-use-label {
font-weight: bold;
}
<span class="legend-label">
land use vacant
<a href="...">more info</a>
</span>
<span class="legend-label">
land use vacant
<a href="...">more info</a>
</span>
what if we want to style a
elements only if they are in elements of class legend-label
?
<span class="legend-label">
land use vacant
<a href="...">more info</a>
</span>
a {
...
}
would style all links
<span class="legend-label">
land use vacant
<a href="...">more info</a>
</span>
.legend-label {
...
}
would style too much, too
<span class="legend-label">
land use vacant
<a href="...">more info</a>
</span>
.legend-label a {
...
}
<span class="legend-label">
land use vacant
<a href="...">more info</a>
</span>
.legend-label a {
...
}
"style the a
elements in elements with class legend-label
"
it doesn't matter how far inside the a
element is:
<span class="legend-label">
land use vacant
<div>
<div>
<div>
<a href="...">more info</a>
</div>
</div>
</div>
</span>
and you can combine more selectors if it makes sense
#legend .legend-label div .source a {
...
}
.cat-box {
padding: 50px;
}
.cat-box {
margin: 100px;
padding: 50px;
}
.cat-box {
border: 1px solid red;
margin: 100px;
padding: 50px;
}
(use -left
, -bottom
, -right
, -top
)
.cat-box {
margin: 100px;
margin-left: 200px;
}
<p>
a special paragraph
</p>
<p style="font-size: 100px;">
a special paragraph
</p>
<p style="font-size: 100px; color: pink; margin-top: 50px;">
a special paragraph
</p>
the last style wins
so if your styles aren't working, make sure they come after other styles that might be affecting your elements
a {
color: blue;
font-size: 20px;
}
a {
color: red;
}
not very specific:
div {
...
}
more specific:
.cat-box {
...
}
even more specific:
div .cat-box {
...
}
most specific:
<div style="..."></div>
so if your styles aren't working when you think they should be, make their selectors more specific
p
.class
#id
#id span a
<head>
<style>/* your CSS */</style>
</head>
<a style="/* your CSS */">...</a>
<ul class="legend-labels">
<li>None</li>
<li>< 1</li>
<li>1 - 5</li>
<li>5 - 10</li>
<li>10 - 50</li>
<li>50+</li>
</ul>
<ul class="legend-labels">
<li>
<span></span>
None
</li>
<li>
<span></span>
< 1
</li>
...
</ul>
Style the legend boxes:
.legend-labels span {
display: inline-block;
border: 1px solid black;
width: 25px;
height: 10px;
margin-right: 5px;
}
this lets you set the width and height on elements that are not blocks (eg, <code>,
<a>
)
.legend-labels span {
display: inline-block;
}
<ul class="legend-labels">
<li>
<span id="legend-label-0"></span>
None
</li>
<li>
<span id="legend-label-1"></span>
< 1
</li>
...
</ul>
#legend-label-0 {
background: white;
}
#legend-label-1 {
background: #FFFFE5;
}
...
.legend-labels {
list-style: none;
padding: 0;
}