CSS Selector(选择器)

W3C标准手册中的选择器如下表(共52个):

SelectorExampleExample descriptionCSS
.class.introSelects all elements with class="intro"1
#id#firstnameSelects the element with id="firstname"1
**Selects all elements2
elementpSelects all <p> elements1
element,elementdiv,pSelects all <div> elements and all <p> elements1
element elementdiv pSelects all <p> elements inside <div> elements1
element>elementdiv>pSelects all <p> elements where the parent is a <div> element2
element+elementdiv+pSelects all <p> elements that are placed immediately after <div> elements2
element1~element2p~ulSelects every <ul> element that are preceded by a <p> element3
[attribute][target]Selects all elements with a target attribute2
[attribute=value][target=_blank]Selects all elements with target="_blank"2
[attribute~=value][title~=flower]Selects all elements with a title attribute containing the word "flower"2
[attribute|=value][lang|=en]Selects all elements with a lang attribute value starting with "en"2
[attribute^=value]a[src^="https"]Selects every <a> element whose src attribute value begins with "https"3
[attribute$=value]a[src$=".pdf"]Selects every <a> element whose src attribute value ends with ".pdf"3
[attribute*=value]a[src*="w3schools"]Selects every <a> element whose src attribute value contains the substring "w3schools"3
:activea:activeSelects the active link1
::afterp::afterInsert content after every <p> element2
::beforep::beforeInsert content before  the content of every <p> element2
:checkedinput:checkedSelects every checked <input> element3
:disabledinput:disabledSelects every disabled <input> element3
:emptyp:emptySelects every <p> element that has no children (including text nodes)3
:enabledinput:enabledSelects every enabled <input> element3
:first-childp:first-childSelects every <p> element that is the first child of its parent2
::first-letterp::first-letterSelects the first letter of every <p> element1
::first-linep::first-lineSelects the first line of every <p> element1
:first-of-typep:first-of-typeSelects every <p> element that is the first <p> element of its parent3
:focusinput:focusSelects the input element which has focus2
:hovera:hoverSelects links on mouse over1
:in-rangeinput:in-rangeSelects input elements with a value within a specified range3
:invalidinput:invalidSelects all input elemets with an invalid value3
:lang(language)p:lang(it)Selects every <p> element with a lang attribute equal to "it" (Italian)2
:last-childp:last-childSelects every <p> element that is the last child of its parent3
:last-of-typep:last-of-typeSelects every <p> element that is the last <p> element of its parent3
:linka:linkSelects all unvisited links1
:not(selector):not(p)Selects every element that is not a <p> element3
:nth-child(n)p:nth-child(2)Selects every <p> element that is the second child of its parent3
:nth-last-child(n)p:nth-last-child(2)Selects every <p> element that is the second child of its parent, counting from the last child3
:nth-last-of-type(n)p:nth-last-of-type(2)Selects every <p> element that is the second <p> element of its parent, counting from the last child3
:nth-of-type(n)p:nth-of-type(2)Selects every <p> element that is the second <p> element of its parent3
:only-of-typep:only-of-typeSelects every <p> element that is the only <p> element of its parent3
:only-childp:only-childSelects every <p> element that is the only child of its parent3
:optionalinput:optionalSelects input elements with no "required" attribute3
:out-of-rangeinput:out-of-rangeSelects input elements with a value outside a specified range3
:read-onlyinput:read-onlySelects input elements with the "readonly" attribute specified3
:read-writeinput:read-writeSelects input elements with the "readonly" attribute NOT specified3
:requiredinput:requiredSelects input elements with the "required" attribute specified3
:root:rootSelects the document's root element3
::selection::selectionSelects the portion of an element that is selected by a user 
:target#news:targetSelects the current active #news element (clicked on a URL containing that anchor name)3
:validinput:validSelects all input elements with a valid value3
:visiteda:visitedSelects all visited links1

 =============================基本选择器=========================

一、类选择器(.className)

在 CSS 中,类选择器以一个点号显示:

.center {text-align: center} 

所有拥有 center 类的 HTML 元素均居中。

<h1 class="center">
This heading will be center-aligned
</h1>
<p class="center">
This paragraph will also be center-aligned.
</p>

h1 和 p 元素都有 center 类,两者将遵守 ".center" 选择器中的规则

p.important {color:red;}

匹配 class 属性包含 important 的所有 p 元素,但是其他任何类型的元素都不匹配,不论是否有此 class 属性

<p class="important warning">
This paragraph is a very important warning.
</p>
.important {font-weight:bold;}
.warning {font-style:italic;}
.important.warning {background:silver;} 

这两个词的顺序无关紧要,写成 warning important 也可以

二、ID选择器(#id)

<p class="content" id="post"></p>
<div class="content"></div>
<div id="post"></div>  <!--id="post"重复出现不允许-->

在设置id选择器css时,必须在选择器名称前加”#”,形如:

#post{
  color:#000;
}
<html>
<head>
<title>css id选择器</title>
<style type="text/css">
    #blue{
        color:blue;
    }
    #large{
        font-weight:bold;
    }
</style>
</head>
<body >
    <p id="large">我被加粗了。</p>
    <p id="blue">我被设置成蓝色</p>
    <p id="blue">我被设置成蓝色</p>
    <p id="blue large">我没有被设置css样式</p>
</body>
</html>

提示:第3个p标签重复使用了id=”blue”,css设置仍然生效,不过这种做法是不允许的。因为在一个网页中,往往除了html代码还包含其它脚本语言。例如使用javascript脚本的网页,如果相同的id属性重复使用则会出错。所以我们应该要记住:id属性不能重复定义。第4个p标签的css样式没有生效是因为不允许对一个标签定义两个id属性

三、通配符选择器(*)

该选择器可以选中所有的HTML元素,但其优先级最低:Id选择器> class选择器> html选择器> 通配符选则器

*{
margin-top:0px;
margin-left:0px;
margin:10px 30px 20px 40px;
margin:0px;
padding:0px;
}

通常用于页面初始化,会降低浏览器渲染页面的速度

四、元素选择器(E)

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

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

html {color:black;} h1 {color:blue;} h2 {color:silver;}

可以将某个样式从一个元素切换到另一个元素。

假设您决定将上面的段落文本(而不是 h1 元素)设置为灰色。只需要把 h1 选择器该为 p:

html {color:black;} p {color:gray;} h2 {color:silver;}

=============================关系选择器=========================

转载于:https://www.cnblogs.com/ywharry/p/3792866.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值