CSS基本选择器

id选择器

ID 选择器允许以一种独立于文档元素的方式来指定样式。ID选择器是在名称前使用“#”如(#myid)。

<div id="myid">Demo</div>
#myid {
    background: red;
    color: #fff;
}

ID选择器是CSS中效率最高的选择器。

ID选择器有几个地方是需要特别注意的,第一:一个文档中一个id选择器只允许使用一次,因为id在页面中是唯一的;第二,id选择器不能像类选择器一样多个合并使用,一个元素只能命名一个id名;第三,可以在不同的文档中使用相同的id名。

兼容性:
1. IE 6+
2. Firefox
3. Chrome
4. Safari
5. Opera

类选择器

类选择器允许以一种独立于文档元素的方式来指定样式。该选择器可以单独使用,也可以与其他元素结合使用。

基本使用方法如下:

<div class="demo">Demo</div>

将 div 的背景色设置为红色,并且将文本颜色设置为白色。

.demo {
    background: red;
    color: #fff;
}

类选择器可以结合元素选择器来使用。如:

<p class="demo">demo</p>
<h1 class="demo">demo</h1>

希望段落 p 显示为绿色文本,而为 h1 元素为蓝色文本:

p.demo {
    color: green;
}
h1.demo {
    color: blue;
}

多类选择器。如:

<p class="demo important">demo</p>

如果一个多类选择器包含类名列表中没有的一个类名,匹配就会失败。

.demo.important {
    border: 1px solid #000;
}

多类选择器不被 IE6 所支持。

请注意,类选择器和 ID 选择器可能是区分大小写的。这取决于文档的语言。HTML 和 XHTML 将类和 ID 值定义为区分大小写,所以类和 ID 值的大小写必须与文档中的相应值匹配。

兼容性:
1. IE 6+
2. Firefox
3. Chrome
4. Safari
5. Opera

元素选择器

最常见的 CSS 选择器是元素选择器。换句话说,文档的元素就是最基本的选择器。

如果设置 HTML 的样式,选择器通常将是某个 HTML 元素,比如 p、h1、em、a,甚至可以是 html 本身:

div {
    background: red;
    border: 1px solid #000;
}

兼容性:
1. IE 6+
2. Firefox
3. Chrome
4. Safari
5. Opera

相邻兄弟选择器(E + F)

相邻兄弟选择器可以选择紧接在另一元素后的元素,而且他们具有一个相同的父元素,换句话说,E F两元素具有一个相同的父元素,而且F元素在E元素后面,而且相邻,这样我们就可以使用相邻兄弟元素选择器来选择F元素。

<ul>
   <li>List item 1</li>
   <li>List item 2</li>
   <li>List item 3</li>
 </ul>
li + li {
    font-weight:bold;
}

这里写图片描述

上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

后代选择器(E F)

后代选择器(descendant selector)又称为包含选择器。后代选择器可以选择作为某元素后代的元素。比如说:E F,前面 E 为祖先元素,F 为后代元素,所表达的意思就是选择了E元素的所有后代F元素,请注意他们之间需要一个空格隔开。这里F不管是E元素的子元素或者是孙元素或者是更深层次的关系,都将被选中,换句话说,不论F在E中有多少层关系,都将被选中。

<ul>
  <li>List item 1
    <ol>
      <li>List item 1-1</li>
      <li>List item 1-2</li>
      <li>List item 1-3
        <ol>
          <li>List item 1-3-1</li>
          <li>List item <em>1-3-2</em></li>
          <li>List item 1-3-3</li>
        </ol>
      </li>
      <li>List item 1-4</li>
    </ol>
  </li>
  <li>List item 2</li>
  <li>List item 3</li>
</ul>

不论 li 的嵌套层次多深。ul li 将会选择以下标记中的所有 li 元素:

ul li {
    font-weight: bold;
}

这里写图片描述

兼容性:
1. IE 6+
2. Firefox
3. Chrome
4. Safari
5. Opera

子选择器(E > F)

与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。

<ul>
  <li>List item 1
    <ol>
      <li>List item 1-1</li>
      <li>List item 1-2</li>
      <li>List item 1-3
        <ol>
          <li>List item 1-3-1</li>
          <li>List item <em>1-3-2</em></li>
          <li>List item 1-3-3</li>
        </ol>
      </li>
      <li>List item 1-4</li>
    </ol>
  </li>
  <li>List item 2</li>
  <li>List item 3</li>
</ul>
ul>li {
    border: 1px solid #000;
}

这里写图片描述

可以看到 ol 标签内的 li 元素并没有成功设置 border 属性。

兼容性:
1. IE 7+
2. Firefox
3. Chrome
4. Safari
5. Opera

通配符选择器

通配符选择器是用来选择所有元素,也可以选择某个元素下的所有元素。

* {
    margin: 0px;
    padding: 0px;
}

上述代码所表示的是:将所有元素的 margin 和 padding 都设置为0,是最基本的清除浏览器默认 CSS 样式的方法。

选择某个元素下的所有元素:

#demo * {
    background: red;
}

兼容性:
1. IE 6+
2. Firefox
3. Chrome
4. Safari
5. Opera

该选择符并不推荐使用,因为它是性能最低的一个CSS选择器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值