Selector概述

示例:

strong {
color: red;
}

解释:

这是一个完整 css 规则(标签选择器)。
strong 叫做选择器,它选择该规则将被应用到 DOM 的那个元素上去。
{}      里面的部分是声明,包含多条规则。每一条规则以 `;` 隔开。
color   为关键字。
red     为关键字的值。

除了标签选择器,还有其它类别的选择器。分为基本选择器、关系选择器、伪类选择器、伪元素选择器。

基本选择器:

[E] 标签选择器 strong {} 选择使用 <strong> 标签的元素
id id选择器(属性选择器) #1111 {} 选择 id = "1111" 的元素

class

class选择器(属性选择器) .books {}

选择 class = "books" 的元素

*

所有元素 * {} 所有元素

示例:

HTML:

<p class="key" id="principal">

CSS:

* {
background: red;
}
p {
font-size: 30px;
}
.key {
color: green;
}
#principal {
font-weight: bolder;
}

属性选择器:

[attr]
选择具有 "attr" 属性的元素。

[attr=value]
选择具有 attr 属性, 属性值为 "value" 的元素。

[attr~=value]

选择具有 attr 属性, 属性值包含单词 "value" 的元素。

[attr|=value]

选择具有 attr 属性, 属性值为 "value" 或者为 "value-xxx"的元素, 常用于语言属性的选择(lang="en_us")。

[attr^=value]

选择具有 attr 属性, 属性值以 "value" 作为前缀的元素。

[attr$=value]

选择具有 attr 属性, 属性值以 "value" 作为后缀的元素。

[attr*=value]

选择具有 attr 属性, 属性值以中包含有 "value" 值的元素。

[attr operator value i]

在结尾方括号(])前添加 ! ,使得 "value" 的匹配忽略大小写。

示例:

HTML:

<div class="hello-example">
<a href="http://example.com">English:</a>
<span lang="en-us en-gb en-au en-nz">Hello World!</span>
</div>
<div class="hello-example">
<a href="#portuguese">Portuguese:</a>
<span lang="pt">Olá Mundo!</span>
</div>
<div class="hello-example">
<a href="http://example.cn">Chinese (Simplified):</a>
<span lang="zh-CN">世界您好!</span>
</div>
<div class="hello-example">
<a href="http://example.cn">Chinese (Traditional):</a>
<span lang="zh-TW">世界您好!</span>
</div>

CSS:

/* All spans with a "lang" attribute are bold */
span[lang] {font-weight:bold;} /* All spans in Portuguese are green */
span[lang="pt"] {color:green;} /* All spans in US English are blue */
span[lang~="en-us"] {color: blue;} /* Any span in Chinese is red, matches
simplified (zh-CN) or traditional (zh-TW) */
span[lang|="zh"] {color: red;} /* All internal links have a gold background */
a[href^="#"] {background-color:gold} /* All links to urls ending in ".cn" are red */
a[href$=".cn"] {color: red;} /* All links with "example" in the url have a grey background */
a[href*="example"] {background-color: #CCCCCC;} /* All email inputs have a blue border */
/* This matches any capitalization of
"email", e.g. "email", "EMAIL", "eMaIL", etc. */
input[type="email" i] {border-color: blue;}

关系选择器:

B + E 选择 E 元素, E 为元素 B 的下一个兄弟元素
E:first-child 选择 E 元素, E 为其父元素的第一个子元素
A > E 选择 E 元素, E 为 A 元素的子元素
A E 选择 E 元素, E 为 A 元素的后代元素

示例:

HTML:

<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul> <div>
<span>Span 1. In the div.
<span>Span 2. In the span that's in the div.</span>
</span>
</div>
<span>Span 3. Not in a div at all.</span> <ul>
<li>
<div>Item 1</div>
<ul>
<li>Subitem A</li>
<li>Subitem B</li>
</ul>
</li>
<li>
<div>Item 2</div>
<ul>
<li>Subitem A</li>
<li>Subitem B</li>
</ul>
</li>
</ul> <span>This is not red.</span>
<p>Here is a paragraph.</p>
<code>Here is some code.</code>
<span>And here is a span.</span>

CSS:

li:first-of-type + li {
color: red;
} span { background-color: white; }
div > span {
background-color: DodgerBlue;
} li { list-style-type: disc; }
li li { list-style-type: circle; } p + span {
color: red;
}

CSS Selector (part 1)的更多相关文章

  1. [译文]通过ID, TagName, ClassName, Name, CSS selector 得到element

    致谢原文: <http://xahlee.info/js/js_get_elements.html> 通过ID得到element: Document.getElementById(id s ...

  2. Selenium - CSS Selector

    Selenium - CSS Selector http://www.cnblogs.com/bugua/archive/2012/08/16/2641647.html   昨天我练习了用CSS(即层 ...

  3. 转:Selenium之CSS Selector定位详解

    CSS selector定位 CSS(Cascading Style Sheets)是一种语言,它被用来描述 HTML 和 XML 文档的样式.  百度输入框: <input name=&quo ...

  4. css selector

    文章一: http://www.jb51.net/css/68287.html 去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记,今天是CSS的选择器,以后还有一部分xPath ...

  5. Scrapy学习系列(一):网页元素查询CSS Selector和XPath Selector

    这篇文章主要介绍创建一个简单的spider,顺便介绍一下对网页元素的选取方式(css selector, xpath selector). 第一步:创建spider工程 打开命令行运行以下命令: sc ...

  6. Jsoup代码解读之五-实现一个CSS Selector

    Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...

  7. css selector: xpath:

    css selector: $$(".mainLeft>div>h1") xpath: $x(".mainLeft>div>h1") n ...

  8. Selenium 使用css selector (资源来源于网络)

    Selenium - CSS Selector 昨天我练习了用CSS(即层叠样式表Cascading Stylesheet) Selector来定位(locate)页面上的元素(Elements).S ...

  9. 关于Selenium.common.exceptions.WebDriverException: Message: Invalid locator strategy: css selector 的问题

    在执行脚本时报Selenium.common.exceptions.WebDriverException: Message: Invalid locator strategy: css selecto ...

  10. UI自动化(九)Css Selector

    什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器后,下载插件,FireFinder 或 ...

随机推荐

  1. POJ 2001-Shortest Prefixes(Trie 入门)

    题意:给你一组串,求每个串在组中唯一标志的最短前缀 分析:保存树上经过各节点的单词个数,扫描每个串当经过节点单词个数是一(能唯一标志)结束 #include <map> #include ...

  2. POJ 3186 Treats for the Cows 一个简单DP

    DP[i][j]表示现在开头是i物品,结尾是j物品的最大值,最后扫一遍dp[1][1]-dp[n][n]就可得到答案了 稍微想一下,就可以, #include<iostream> #inc ...

  3. Webdriver API (二)

    (转载) 1.3 打开测试页面 对页面对测试,首先要打开被测试页面的地址(如:http://www.google.com),web driver 提供的get方法可以打开一个页面: // And no ...

  4. bzoj 1834 [ZJOI2010]network 网络扩容(MCMF)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1834 [题意] 给定一个有向图,每条边有容量C,扩容费用W,问最大流和使容量增加K的最 ...

  5. weiphp3.0(thinkphp)的调整之路

    weiphp是在thinkphp的基础上开发的简洁强大开源的微信公众平台开发框架,其宣称微信功能插件化开发,多公众号管理,配置简单. 但是关于weiphp的文档使用一是内容真不多,二是写的也不详细. ...

  6. The usage method of reference with bibtex in Latex【latex中参考文献的使用方法】

    如何在latex中以Bibtex文件方式引用参考文献? 以IEEEtran模板为例: 1.制作bibtex参考文献库.方法如下: ①建立myreference.bib文件: ②在Google scho ...

  7. URL编码原理解释

    当你在浏览器中输入一个URL时,浏览器会将你输入到地址栏的非数字字母转化为URI编码. 那么,它是按照什么样的规则来转换的呢 是这样的,URI编码就是一个字符的ASCII码,它的ACSII码的十六进制 ...

  8. C#下实现软件欢迎界面

    找到几种简约的欢迎界面的制作方法,存此记录. 方法一:双线程,用第二个线程启动欢迎界面 原文:http://www.cnblogs.com/xiaoshatian/archive/2010/09/07 ...

  9. HTTP 与 HTTPS 的区别

    本文转自:http://www.cnblogs.com/ok-lanyan/archive/2012/07/14/2591204.html HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的 ...

  10. Moebius实现Sqlserver集群~介绍篇

    今年是一个不平凡的一年,接触到了很多新艳的,让人兴奋的东西,虽然自己的牙掉了两颗,但感觉自己又年青了两岁,哈哈!进入正题,今年公司开始启用数据库集群,对于Sqlserver来说,实现方式并不是很多,一 ...