CSS从入门到精通——基础选择器
第1关:CSS 元素选择器任务描述在完成本实训之后,你将掌握元素选择器、类选择器和id选择器这三种基础选择器。你将会学会独立制作如下新闻主页页面:本关任务:熟悉元素选择器,使用属性选择器修改文档样式。任务实现效果如图:相关知识元素选择器最常见和易理解的CSS选择器是元素选择器,又称为类型选择器。也就是将HTML文档中的元素,直接作为选择器使用。例如对于HTML页面:<body><
第1关:CSS 元素选择器
任务描述
在完成本实训之后,你将掌握元素选择器、类选择器和id
选择器这三种基础选择器。你将会学会独立制作如下新闻主页页面:
本关任务:熟悉元素选择器,使用属性选择器修改文档样式。
任务实现效果如图:
相关知识
元素选择器
最常见和易理解的CSS
选择器是元素选择器,又称为类型选择器。也就是将HTML
文档中的元素,直接作为选择器使用。
例如对于HTML
页面:
<body>
<h1>标题1</h1>
<h2>标题2</h2>
<p>普通段落中<a href="#">删除的引用。</a></p>
</body>
使用元素选择器添加元素样式:
<style type="text/css">
html {color:black;}
h1 {color:darkcyan;}
h2 {color:lightSeaGreen;}
p {color:grey;}
a {text-decoration:line-through;}
</style>
显示效果如下:
当我们指定一个元素,并设置样式属性之后,文档中该元素便会应用样式。例如,我们设置p
元素的颜色为灰色(grey
),在没有其他样式覆盖的情况下,文档中所有的p
元素都将为灰色。
如果想要多种元素应用同一样式,可以直接使用组合元素选择器
。将多个要应用样式的元素用逗号隔开,例如:
例如对于HTML
页面:
<body>
<h1>组合选择器</h1>
<p>组合选择器,可以将样式同时运用于多个元素。</p>
</body>
</html>
使用元素选择器添加元素样式:
<style type="text/css">
/* 组合元素选择器 */
/*将`h1`、`p`元素的颜色同时设置为灰色*/
h1,p {color:grey;}
</style>
显示效果如下:
注意:
- 多个元素之间的逗号是必不可少的,如果缺失了逗号将表示其他含义。
元素选择器语法
我们可以看出元素选择器的语法规则如下:
/*单个元素选择器*/
元素 {样式声明}
/*组合元素选择器*/
元素1,元素2 {样式声明}
编程要求
使用元素选择器修改页面样式,要求如下:
-
设定
html
元素的background-color
为#F0F0F0
; -
设定
header
元素的padding
为40px
,background-color
为白色; -
添加
footer
元素的font-size
为0.6em
,字体颜色为灰色(grey
)。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>元素选择器</title>
<style type="text/css">
/* ********** BEGIN ********** */
/* 元素选择器 */
html {
background-color: #F0F0F0;
}
header{
padding:40px;
background-color:white;
}
footer {
margin-top: 20px;
font-size:0.6em;
color:grey;
}
/* ********** END ********** */
</style>
</head>
<body>
<div>
<header>
<li><a href="#chosen">精选</a></li>
<li><a href="#news">时事</a></li>
<li><a href="#finance">财政</a></li>
<li><a href="#think">思想</a></li>
<li><a href="#life">生活</a></li>
</header>
<div>
<section>
<h2>精选</h2>
<li>精选新闻1</li>
<li>精选新闻2</li>
<li>精选新闻3</li>
</section>
<section>
<h2>时事</h2>
<li>时事新闻1</li>
<li>时事新闻2</li>
<li>时事新闻3</li>
</section>
<section>
<h2>财政</h2>
<li>财政新闻1</li>
<li>财政新闻2</li>
<li>财政新闻3</li>
</section>
<section>
<h2>思想</h2>
<li>思想新闻1</li>
<li>思想新闻2</li>
<li>思想新闻3</li>
</section>
<section>
<h2>生活</h2>
<li>生活新闻1</li>
<li>生活新闻2</li>
<li>生活新闻3</li>
</section>
</div>
<footer>Copyright (c) News Copyright Holder All Rights Reserved.</footer>
</div>
</body>
</html>
第2关:CSS 类选择器
任务描述
本关任务是通过类选择器的方式,更改独立于文档元素的属性。
相关知识
类选择器
类选择器允许以一种独立于文档元素的方式来指定样式。通常情况只希望应用样式,而不考虑具体的元素时,会使用类选择器。
例如,对于HTML
页面:
<body>
<div class="main">
<article class="news">
<h1>地震自救指南</h1>
<p>大的晃动时间约为1分钟左右。这时首先应顾及的是您自己与家人的人身安全。首先,在重心较低、且结实牢固的桌子下面躲避,并紧紧抓牢桌子腿。在没有桌子等可供藏身的场合,无论如何,也要用坐垫等物保护好头部。</p>
</article>
</div>
</body>
在该页面中,我们将第一个div
元素的class
设置为main
,article
元素的class
值设置为news
。通常设置class
名字时,不要设置已有元素名,例如p
、articel
。
之后,添加页面样式:
<style type="text/css">
.main {
background-color: ivory;
margin: 10px;
}
.news {
padding: 10px;
color: black;
font-weight: bold;
}
p {
color: grey;
}
</style>
与元素选择器不同,对同一类的元素应用样式,需要在类名前加上一个点号(.),然后书写相应的样式声明。
最后,样式应用的效果如图:
类选择器语法
所以,我们可以看出,类选择器的语法规则如下:
-
首先,将
html
中想要应用类样式的元素,指定类名;<元素名 class="指定的类名"></元素名>
<元素名 class="指定的类名">
-
然后,书写相应类的样式;
.指定的类名 {样式声明}
编程要求
使用类选择器修改页面样式,具体要求入下:
-
给第
43
行的div
元素添加名字为newsSection
的类; -
在第
27
行添加newsSection
类的样式:外边距为20
(margin-top: 20px;
)内边距为20
(padding: 20px;
)和背景颜色白色(background-color: white;
)。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>类选择器</title>
<style type="text/css">
/* 元素选择器 */
html {
background-color: #F0F0F0;
}
header {
padding: 40px;
background-color: white;
}
footer {
margin-top: 20px;
font-size: 0.6em;
color: grey;
}
/* 类选择器 */
.main {
margin: 10px;
}
/* ********** BEGIN ********** */
.newsSection
{
margin-top: 20px;
padding: 20px;
background-color: white;
}
/* ********** END ********** */
</style>
</head>
<body>
<div class="main">
<header>
<li><a href="#chosen">精选</a></li>
<li><a href="#news">时事</a></li>
<li><a href="#finance">财政</a></li>
<li><a href="#think">思想</a></li>
<li><a href="#life">生活</a></li>
</header>
<!-- ********** BEGIN ********** -->
<div class="newsSection">
<!-- ********** END ********** -->
<section>
<h2>精选</h2>
<li>精选新闻1</li>
<li>精选新闻2</li>
<li>精选新闻3</li>
</section>
<section>
<h2>时事</h2>
<li>时事新闻1</li>
<li>时事新闻2</li>
<li>时事新闻3</li>
</section>
<section>
<h2>财政</h2>
<li>财政新闻1</li>
<li>财政新闻2</li>
<li>财政新闻3</li>
</section>
<section>
<h2>思想</h2>
<li>思想新闻1</li>
<li>思想新闻2</li>
<li>思想新闻3</li>
</section>
<section>
<h2>生活</h2>
<li>生活新闻1</li>
<li>生活新闻2</li>
<li>生活新闻3</li>
</section>
</div>
<footer>Copyright (c) News Copyright Holder All Rights Reserved.</footer>
</div>
</body>
</html>
第3关:CSS id选择器
任务描述
在本关中,你将通过id
选择器的方式完成页面菜单栏样式布局,栏目导航等任务。
完成任务之后,基本页面效果如下:
动态效果如下:
相关知识
id选择器
id
选择器与我们上一关中学习的类选择器类似,但在使用上有不同。
使用类选择器时,指定一个元素属于某类,使用的是关键字class
,例如:
<body>
<h1 class="important">温馨提示</h1>
<p>少一串脚印,多一份绿意。</p>
</body>
而在使用id
选择器时,使用的是关键字id
。对于上面类选择器的例子,用id
选择器书写:
<body>
<h1 id="important">温馨提示</h1>
<p>少一串脚印,多一份绿意。</p>
</body>
在样式表中,指定对应id
名元素的样式,使用#
符号,也称为棋盘号或井号。
#important {
color: red;
font-weight: bold;
}
样式应用效果如图:
id选择器语法
同理,我们可以看出,id
选择器的语法规则如下:
-
首先,将
html
中想要应用类样式的元素,指定id
名。<元素名 id="指定的类名"></元素名>
<元素名 id="指定的类名">
-
然后,书写相应类的样式。
#指定的类名 {样式声明}
类选择器与id选择器的区别
类选择器与id
选择器类似,那么它们的区别是什么呢?什么情况下应该使用哪一种选择器呢?
它们最大的区别在于,在一个 HTML
文档中,可以为任意多个元素指定类,但id
选择器只能使用一次,一个id
只能运用于一个元素。
一般情况下,都推荐使用类选择器。而在一些特定情况下,我们才会建议使用id
选择器。例如,通过id
选择器在页面中定义锚,在编写 JavaScript
为指定的页面元素应用特殊行为时。
编程要求
-
为
header
元素添加名为menu
的id; -
使用
id
选择器,设置精选(#chosen)
标题为红色(red
),时事( #news)
标题为蓝色(blue
),财政(#finance)
标题为橄榄绿(olive
),思想(#think)
标题为绿色(green
),生活(#life)
标题为橘色(orange
)。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ID选择器</title>
<style type="text/css">
/* 元素选择器 */
html {
background-color: #F0F0F0;
}
header {
padding: 40px;
background-color: white;
}
footer {
margin-top: 20px;
font-size: 0.6em;
color: grey;
}
/* 类选择器 */
.main {
margin: 10px;
}
.newsSection {
margin-top: 20px;
padding: 20px;
background-color: white;
}
/* ********** BEIGN ********** */
#chosen{
color:red;
}
#news{
color:blue;
}
#finance{
color:olive;
}
#think{
color:green;
}
#life{
color:organge;
}
/*选择menu元素下的li子元素*/
#menu li {
float: left;
width: 70px;
font-size: 1.2em;
font-weight: lighter;
}
/*选择menu元素下的li子元素和li下得a子元素*/
#menu li, li a {
list-style: none;
text-decoration: none;
}
/* ********** END ********** */
</style>
</head>
<body>
<div class="main">
<!-- ********** BEGIN ********** -->
<header id="menu">
<!-- ********** END ********** -->
<li><a href="#chosen">精选</a></li>
<li><a href="#news">时事</a></li>
<li><a href="#finance">财政</a></li>
<li><a href="#think">思想</a></li>
<li><a href="#life">生活</a></li>
</header>
<div class="newsSection">
<section>
<h2 id="chosen">精选</h2>
<li>精选新闻1</li>
<li>精选新闻2</li>
<li>精选新闻3</li>
</section>
<section>
<h2 id="news">时事</h2>
<li>时事新闻1</li>
<li>时事新闻2</li>
<li>时事新闻3</li>
</section>
<section>
<h2 id="finance">财政</h2>
<li>财政新闻1</li>
<li>财政新闻2</li>
<li>财政新闻3</li>
</section>
<section>
<h2 id="think">思想</h2>
<li>思想新闻1</li>
<li>思想新闻2</li>
<li>思想新闻3</li>
</section>
<section>
<h2 id="life">生活</h2>
<li>生活新闻1</li>
<li>生活新闻2</li>
<li>生活新闻3</li>
</section>
</div>
<footer>Copyright (c) News Copyright Holder All Rights Reserved.</footer>
</div>
</body>
</html>
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)