CSS Selector (part 1)
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)的更多相关文章
- [译文]通过ID, TagName, ClassName, Name, CSS selector 得到element
致谢原文: <http://xahlee.info/js/js_get_elements.html> 通过ID得到element: Document.getElementById(id s ...
- Selenium - CSS Selector
Selenium - CSS Selector http://www.cnblogs.com/bugua/archive/2012/08/16/2641647.html 昨天我练习了用CSS(即层 ...
- 转:Selenium之CSS Selector定位详解
CSS selector定位 CSS(Cascading Style Sheets)是一种语言,它被用来描述 HTML 和 XML 文档的样式. 百度输入框: <input name=&quo ...
- css selector
文章一: http://www.jb51.net/css/68287.html 去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记,今天是CSS的选择器,以后还有一部分xPath ...
- Scrapy学习系列(一):网页元素查询CSS Selector和XPath Selector
这篇文章主要介绍创建一个简单的spider,顺便介绍一下对网页元素的选取方式(css selector, xpath selector). 第一步:创建spider工程 打开命令行运行以下命令: sc ...
- Jsoup代码解读之五-实现一个CSS Selector
Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...
- css selector: xpath:
css selector: $$(".mainLeft>div>h1") xpath: $x(".mainLeft>div>h1") n ...
- Selenium 使用css selector (资源来源于网络)
Selenium - CSS Selector 昨天我练习了用CSS(即层叠样式表Cascading Stylesheet) Selector来定位(locate)页面上的元素(Elements).S ...
- 关于Selenium.common.exceptions.WebDriverException: Message: Invalid locator strategy: css selector 的问题
在执行脚本时报Selenium.common.exceptions.WebDriverException: Message: Invalid locator strategy: css selecto ...
- UI自动化(九)Css Selector
什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器后,下载插件,FireFinder 或 ...
随机推荐
- VirtualBox Headless启动虚拟机
习惯了在Windows上来学习和娱乐,所以不能切换到Linux系统. 为了Linux编程,我首先尝试了wubi在Windows上安装双系统,但是发现本来启动很快的Windows8安装了双系统之后,系统 ...
- <转>MySql 与Oracle区别
http://blog.sina.com.cn/s/blog_61e034d50100k6xn.html 近期突击学习了mysql,应杨毅的邀请,简单比较一下mysql和oracle的差别,不当之处欢 ...
- 位图9宫格 BitmapSlice9.jsfl
/** * Version 1.1, May 4: fixed issue with symbols in library folders. **/ /** * BitmapSlice9 JSFL b ...
- Console.WriteLine()与MessageBox.Show()的区别
Console.WriteLine(); 将当前行终止符写入标准输出流 在学习控制台应用程序时经常用,输出到控制台 MessageBox.Show(); 显示可包含文本.按钮和符号(通知并指示用户) ...
- leetcode@ [49] Group Anagrams (Hashtable)
https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. For exam ...
- HDU-2686 Matrix 多进程DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2686 经典的多进程DP,比较简单.f[x1][y1][x2][y2]表示起点到点(x1,y1)和(x2 ...
- [OC Foundation框架 - 14] NSNull
在NSDictionary中,nil代表结束,允许存入 使用NSNull代替 int main(int argc, const char * argv[]) { @autoreleasepool ...
- Windows下环境变量配置
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_33 PATH+=%JAVA_HOME%\bin; CLASSPATH=.;%JAVA_HOME%\lib\d ...
- 【Linux】多睡/少睡一小时!冬夏令时全解析
多伦多2016年11月6日凌晨2点开始起时间调回一小时,时间到凌晨2点时自动跳回到1点,大家可以多睡一小时(或者多一小时写essay的时间)~ 多伦多2017年3月12日凌晨2点开始时间拨快一小时时间 ...
- js主要知识轮廓笔记
一.js中的基础类型和引用类型: 基础类型:1.Number2.String3.Boolean4.Undefined5.Null 引用类型(内置对象):1.Object类型2.Array类型3.Dat ...