前面说过样式规则。也知道了样式规则语法形式为:选择器+声明块

如:div{ color:black;padding:10px; }   div即表示选择器(此处是元素选择器),花括号里的内容就是声明块。

选择器用于指定样式规则可作用于HTML文档中的哪个或者哪些元素。

常见的选择器类型有下面几种:

1、元素选择器(类型选择器):匹配选择器的网页上的不论什么HTML元素,不考虑这些元素在文档树中的位置。

如:p{ background:aqua; color:pink; }   匹配网页上的不论什么p元素,不考虑p元素在文档树中的位置

2、类选择器:被用于选择有某个class属性的不论什么HTML元素,语法形式:.类名{属性:值;}

<head>
<style type="text/css">
.hello{
width:100px;
height: 100px;
background: #eee;
color: blue;
font-weight: bold;
}
</style>
</head>
<body>
<span style="white-space:pre"> </span><div class="hello">类选择器</div>
</body>

同一class属性值能够再同一页面出现多次

3、ID选择器:被用于选择有某个ID属性的不论什么HTML元素,语法形式: #id名{ 属性:值;}

<head>
<style type="text/css">
#hello{
width:100px;
height: 100px;
background: #eee;
color: blue;
font-weight: bold;
}
</style>
</head>
<body>
<span style="white-space:pre"> </span><div id="hello">ID选择器</div>
</body>

同一ID属性值在同一页面上仅仅能出现一次

4、通配符选择器:用于选择全部元素,语法:*{ 属性:值}

5、包括选择器:用于选择文档的一个元素的后代元素

第一种方法:

<head>
<style type="text/css">
p span{
font-weight: bold;
color:red;
}
</style>
</head>
<body>
<p>how <span> are</span> you?</p>
</body>

另外一种方法

<head>
<style type="text/css">
p>.sp{
font-weight: bold;
color:red;
}
</style>
</head>
<body>
<span style="white-space:pre"> </span><p>how <span class="sp"> are</span> you?</p>
</body>

6、伪类选择器:以不同方式格式化超链接<a>元素的四种不同状态

a:link{} 用在未訪问的链接的选择器

a:visited{} 用在已訪问的链接的选择器

a:hover{} 用在鼠标光标放在其上的链接的选择器。当中hover还能够用在别的元素中用于制作在鼠标光标放在目标上的样式的编辑

a:active{} 用在获得焦点(比方:被点击)的链接上的选择器

<head>
<style type="text/css">
.a:link{color: #000;}
.a:visited{color: #ff0;}
.a:hover{color:red;}
.a:active{color:black;}
</style>
</head>
<body>
<a href="#" class="a">点点点</a>
</body>

7、伪元素选择器:

(1) :first-line  用于一个元素的第一行的选择器

如段落的第一行

<head>
<style type="text/css">
p:first-line{
color:red;
}
</style>
</head>
<body>
<p>hello<br/>world</p>
</body>

仅仅有hello是红色的

(2) :first-letter  用于一个元素的第一个字符的选择器

如段落的第一个字符

<head>
<style type="text/css">
p:first-letter{
color:red;
}
</style>
</head>
<body>
<p>蓦然回首</p>
</body>

仅仅有字是红色的。

(3) :first-child  用于<body>中第一个是( :first-child)前面的元素的全部内容的选择器

<head>
<style type="text/css">
p:first-child{
color:red;
}
</style>
</head>
<body>
<p>蓦然回首</p>
<p>然后呢?</p>
</body>

蓦然回首是红色的

<head>
<style type="text/css">
p:first-child{
color:red;
}
</style>
</head>
<body>
<div>歌声里</div>
<p>蓦然回首</p>
<p>然后呢?</p>
</body>

没有字体内容的颜色是红色的。由于<body>中第一个元素是div,而不是p



选择器的优先级
:ID选择器 > 类选择器 > 伪类选择器 > 元素/伪元素选择器 > 通配符选择器

CSS基础2——选择器的更多相关文章

  1. HTML&CSS基础-属性选择器

    HTML&CSS基础-属性选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...

  2. HTML&CSS基础-常用选择器

    HTML&CSS基础-常用选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...

  3. CSS基础和选择器

    什么是CSS? CSS是指层叠样式表(Cascading Style Sheets),样式定义如何显示HTML元素,样式通常又会存在于样式表中.也就是说把HTML元素的样式都统一收集起来写在一个地方或 ...

  4. 李洪强和你一起学习前端之(3)Css基础和选择器

    大家好! 经过了前面的学习,是不是对前端的学习有了初步的了解.虽然我之前有iOS开发的经验,现在接触一门新的语言,对我来说 有一定的优势,但是一门技术对于谁来说都是公平的,我承认,我在接触新知识的时候 ...

  5. CSS基础--属性选择器、伪类选择器

    属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  6. CSS基础及选择器

    CSS层叠样式表与表相分离.常用CSS2和CSS3. HTML引入CSS 1.行内样式 <div style="color:red"></div> 2.内部 ...

  7. Css基础-id选择器

    id 选择器以#来定义 <p id="pid">Hello css</p> #pid { color:red; } <div id="div ...

  8. CSS 基础 优先级 选择器 继承

    1.样式优先级 (内联样式)Inline style     >    (内部样式)Internal style sheet     >     (外部样式)External style ...

  9. CSS基础之选择器

    一:CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到,一个样式表时,就会按照. 二:CSS语法 每个CSS有两部分组成:选择器和声明 ...

随机推荐

  1. bzoj 1879: [Sdoi2009]Bill的挑战

    题目链接 bzoj 1879: [Sdoi2009]Bill的挑战 题解 n<=15,装压吧 对所有字符串进行装压 可以预处理一个数组can[i][j]表示所有的字符串中,有哪些可以在第i位匹配 ...

  2. POJ 3264 Balanced Lineup(zkw线段树)

    [题目链接] http://poj.org/problem?id=3264 [题目大意] 求区间最大值和最小值的差值 [题解] 线段树维护区间极值即可 [代码] #include <cstdio ...

  3. 【NOIP模拟赛】【乱搞AC】【贪心】【模拟】匹配

    匹配 (match.pas/match.c/match.cpp) [题目描述] 到了新的学期,Mcx痛苦的发现通用技术课居然是有实验课的,这样的话他就不得不放弃写作业的想法而去做一件类似于搭积木的事情 ...

  4. 使用TensorFlow实现神经网络的介绍

    http://www.toutiao.com/i6414029277641048577/

  5. pr_debug、dev_dbg等动态调试一

    内核版本:Linux-3.14 作者:彭东林 邮箱:pengdonglin137@163.com pr_debug: #if defined(CONFIG_DYNAMIC_DEBUG) /* dyna ...

  6. 一个小时内学习SQLite数据库

    一个小时内学习SQLite数据库 2012-05-11 10:24 红薯 OSCHINA 字号:T | T SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. ...

  7. win10 安装java

    https://jingyan.baidu.com/article/fea4511a12b158f7bb9125b9.html 一 下载java SE 官网 二设置环境变量 JAVA_HOME PAT ...

  8. 浏览器的DNS缓存查看和清除

    有dns的地方,就有缓存.浏览器.操作系统.Local DNS.根域名服务器,它们都会对DNS结果做一定程度的缓存.本文总结一些常见的浏览器和操作系统的DNS缓存时间 浏览器先查询自己的缓存,查不到, ...

  9. C#中SortedList类的使用

    C#中SortedList类 命名空间:System.Collections 程序集:mscorlib(在mscorlib.dll中) 语法:public class SortedList : IDi ...

  10. vim常用操作之复制剪切粘贴,注释取消注释,多行缩进等

    进入vim按下v键,选择要操作的对象 按下y复制,d剪切,p粘贴 >缩进,<取消缩进 按下esc退出操作 按下ctrl+v,选择要操作对象, 按下大写I,写入注释符号,按下d取消注释 按下 ...