CSS多种选择器

CSS选择器:就是给CSS指定要作用的标签,那个标签就是CSS选择器。


CSS分为基本选择器和扩展选择器。
基本选择器

  • ID选择器(ID selector,IS): 可以为标有特定 id 的 HTML 元素指定特定的样式
  • 标签选择器(element selector,ES): 以 html 标签作为 css 修饰所用的选择器
  • 类选择器(class selector,CS): 对一类标签进行使用的选择器
  • 通用选择器 : 针对所有标签都适用的选择器(一般不建议使用)

扩展选择器

  • 后代选择器
  • 子类选择器
  • 兄弟选择器
  • 相邻兄弟选择器

基础选择器

ID选择器:以 “#” 来定义

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式.
语法格式:#S{...}
举例:

<head>
<meta charset="utf-8"> 
<style>
#demo
{
	color:red;
} 
</style>
</head>

然后在HTML标签使用ID中引用它:

<body>
<p id="demo">Hello World!</p>
<p>这是一个demo。</p>
</body>

任何的HTML标签都可以有id属性。标签的id可以任取,但是也有以下规则:

  • 1、只能包含字母、数字、下划线
  • 2、必须以字母开头
  • 3、id名字不能与标签名字同名

另外HTML界面不能出现同一ID名字的两个选择器,比如给span标签一个名为demo的id,不能给予div标签一个名为demo的id,这样做是非法的。

标签选择器 :选择器的名字就是HTML页面的标签

标签选择器,是页面上所有这一类型的标签所共有的样式特性
语法格式:S{...}
举例:

<style>
p{
  font-style:italic;
}
</style>
<!--下面的文字是斜体的-->
<p>italic text</p>

需要关注的是:

  1. 标签选择器可以是HTML属性下的所有标签。比如div、span、ul、li等等
  2. 使用标签选择器后,别选择的标签一定会被选上
  3. 标签选择器是选择选定标签的所有,并不是特定的哪一个

类选择器:使用 . 为标识

类选择器,是针对你想要的标签所使用的
语法格式:.S{...}
举例:class属性值为value的标签会匹配下面的样式

<style>
.value{
  text-align:center;
}
</style>
<!--下面的文字是居中对齐的-->
<p class="value">demo text</p>

注意:

  1. 英文圆点开头
  2. 类选择器的名称可以起中文外的任意名字

通用选择器

通用选择器是功能最强大的选择器,语法形式为:*{属性:属性值}
它的作用是匹配html中所有标签元素,如下使用下面代码使用html中任意标签元素字体颜色全部设置为红色:
*{color:red;}

扩展选择器

后代选择器

后代选择器又称为包含选择器
后代选择器可以选择作为某元素后代的元素
语法格式:

  • A B{...} (A和B都是标签,表示对处于A中的B标签有效)
  • .A B{...} (A是类名,B是标签)

举例:
以下div内的p标签和div外的p标签分别匹配不同的样式

<style>
p{
  color:red;
}
div p{
  color:yellow;
}
</style>

<p>red text</p><!--文字是红色的-->

<div>
  <p>yellow text</p><!--文字是黄色的-->
</div>
<style>
.first span{
  color:red;
}
</style>
<body>
<p class="first"><span>内容为红色</span>
<ol>
  <li><span>内容也是红色</span></li>
  <li><span>内容也是红色</span></li>
</ol></p>

</body>

子类选择器

子类选择器是一个比较有用的选择器,与后代选择器相比,子类选择器只能选择作为某元素子元素的元素
语法格式:

  • A >B{...} (A和B都是标签)
  • .A >B{...} (A是类名,B是标签)

举例:

<style>
div>p{
  color:red;
}
</style>
<div>
  <p>red text</p><!--文字是红色的-->
  <table>
    <tr>
      <td>
        <p>no red text;</p><!--文字是非红色的-->
      </td>
    </tr>
  </table>
</div>

注意:
子类选择器类似后代选择器,指定目标选择器必须处于某个选择器对应的元素内部,两者区别在于后代选择器允许其"子标签"甚至"子子标签"及嵌套更深的标签匹配相应的格式,而子类选择器强制指定目标选择器作为包含选择器对应的标签

兄弟选择器

兄弟选择器表示某元素后所有同级的指定元素
兄弟选择器是CSS3.0新增的一个样式选择器,语法格式为:A~B{...}
举例:

<style>
   div~p{
     color: red;
   }
</style>
<div>
   <p>not red text</p>
   <p>not red text</p>
</div>
<p>red text</p> 
<p>red text</p>

相邻兄弟选择器

相邻兄弟选择器:选择紧接在另一元素后的元素,且二者都有相同父类元素
相邻兄弟选择器使用了加号(+),语法格式:A+B{ ... }
举例:

<style>
   div+p{
     color: red;
   }
</style>
<div>
   <p>not red text</p>
   <p>not red text</p>
</div>
<p>red text</p>
<p>not red text</p>

结合其他选择器

相邻兄弟结合符还可以结合其他结合符:

html > body table + ul {margin-top:20px;}

这个选择器解释为:选择紧接在 table 元素后出现的所有兄弟 ul 元素,该 table 元素包含在一个 body 元素中,body 元素本身是 html 元素的子元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值