css选择器
常用css选择器,希望对大家有所帮助,不喜勿喷。
1、*:通用选择器
* {
margin: 0;
padding: 0;
}
选择页面上的全部元素,通常用于清除浏览器默认样式,不推荐使用。
2、#id:id选择器
#id {
width:1200px;
height: 500px;
}
优先级别较高,id名最好唯一。
3、.class:类选择器
.class {
width: 1200px;
height: 500px;
}
class名可以重复,可以修饰多个元素。
4、 tagName:标签选择器
div {
width: 1200px;
height: 500px;
}
查找页面所有指定的标签
5、 selector1 selector2:后代选择器
div p {
width: 1200px;
height: 500px;
}
例如:查找div后代所有的p标签
6、selector1 > selector2 : 子选择器
div > p {
width: 1200px;
height: 500px;
}
例如:查找div子类所有的p标签(只能是子类)
7、 selector1 + selector2 :相邻选择器
div + p {
width: 1200px;
height: 500px;
}
例如:查找与div相邻的p标签
8、 selector1 ~ selector2 : 兄弟选择器
div ~ p {
color: red;
}
例如:查找div后面所有同级的p标签
9、 属性选择器
1 selector[title] :
p [id] { /*查找包含id属性的p标签*/
color: red;
}
2 selector[href="foo"]
a [href="www.baidu.com"] { /*查找href="www.baidu.com的a标签"*/
color: black;
}
3 selector[href^="foo"]
a [href ^= "http"] {/*查找href已http开头的a标签*/
color: black;
}
4 selector[href$="foo"]
a [href $= "rar"] {/*查找href已rar结尾的a标签*/
color: black;
}
5 selector[href*="foo"]
a [href *= "o"] {/*查找href包含‘o'的a标签*/
color: black;
}
6 selector[class~="foo"]
p [class ~= "b"] {/*class类名为b且b前面或后面有空格的p标签(空格分隔多值的标签 <div class="a b"></div>)*/
color: black;
}
7 selector[class|="foo"]
p [class |= "b"] {/*class类名为b且b后面有横杠的p标签(<div class="b-c"></div>)*/
color: black;
}
10、 伪性选择器
1 selector:link 平常的状态(默认)。
2 selector:visited 被点击过之后
3 selector:hover 鼠标放到连接上的时候
4 selector:active 连接被按下的时候
5 selector:checked 按钮被选中 (input[type=radio]:checked)
6 selector:before,selector:after
7 selector1:not(selector2) 取反
8 selector::first-line 选择标签下第一行
9 selector::first-letter 选择标签下第一个字
10 selector::selection 选择被选中的文字
11 selector:first-child (p:first-child)找到P,然后找P的父级 再找父级下第一个元素是P(匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。)
12 selector:first-of-type (p:first-of-type)找到P,然后找P的父级 再找父级下第一个元素是P(匹配的是该类型的第一个,这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了,当然这些元素的范围都是属于同一级的,也就是同辈的。)
13 selector:last-child (p:last-child)找到P 然后找P的父级 再找父级下最后一个元素是P
14 selector:last-of-type (p:last-of-type) 找到P 然后找P的父级 再找父级下最后一个元素是P
15 selector:nth-child(2) (li:nth-child(2)) 找到li 然后找li的父级 再找父级下第二个元素是li
16 selector:nth-of-type(2) (li:nth-of-type(2)) 找到li 然后找li的父级 再找父级下第二个元素是li
17 selector:nth-last-child(2) (li:nth-last-child(2)) 找到li 然后找li的父级 再找父级下倒数第二元素个是li
18 selector:nth-last-of-type(2) (li:nth-last-of-type(2)) 找到li 然后找li的父级 再找父级下倒数第二元素个是li
19 selector:nth-child(even) (li:nth-child(even)) 找到li的所有偶数位(2N)
20 selector:nth-last-child(even)
21 selector:nth-child(odd) (li:nth-child(odd)) 找到li的所有奇数位(2N-1 或 2n+1)
22 selector:nth-last-child(odd)
23 selector:only-child (li:only-child) 找到li是父级的唯一子元素(选择器选择的是父元素中只有一个子元素,而且只有唯一的一个子元素)
24 selector:only-of-type (li:only-of-type) 表示一个元素他有很多个子元素,而其中只有一种类型的子元素是唯一的,使用“:only-of-type”选择器就可以选中这个元素中的唯一一个类型子元素。
css选择器的更多相关文章
- 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧
记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...
- dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来
dynamic-css 使得你可以借助 MVVM 模式动态生成和更新 css,从而将本插件到来之前,打散.嵌套在 js 中的修改样式的代码剥离出来.比如你要做元素跟随鼠标移动,或者根据滚动条位置的变化 ...
- CSS选择器的权重与优先规则?
我们做项目的时候,经常遇到样式层叠问题,被其他的样式覆盖,或者写的权重不高没效果,对权重没有具体的分析,做了一个总结. css继承是从一个元素向其后代元素传递属性值所采用的机制.确定应当向一个元素应用 ...
- css选择器的使用详解
-.css选择器的分类: 二.常用选择器详解: 1.标签选择器: 语法: 标签名 { 属性:属性值; } 代码示例: h1 { color: #ccc; font-size: 28px; } 2.类选 ...
- js,jq,css选择器
js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...
- CSS系列:CSS选择器
选择器(selector)是CSS中很重要的概念,所有HTML语言中的标记样式都是通过不同的CSS选择器来控制的.用户只需要通过选择对不同的HTML标签进行选择,并赋予各种样式声明,即可实现各种效果. ...
- 细说CSS选择器
众所周知,CSS的一个核心特征就是能向文档中的一组元素类型应用某些规则.每个规则都有两个基本部分:选择器(selector)和声明块(declaration block).下图显示了规则的各个部分. ...
- CSS选择器 转
来自于:http://www.cnblogs.com/webblog/archive/2009/08/07/1541005.html 最近在研究jQuery的选择器,大家知道jQuery的选择器和cs ...
- HTML5 -入门 (---css样式-------------(css基础与css选择器)---------------------—)
---恢复内容开始--- 一css基础入门与css选择器 CSS英文全拼:cascading style sheet 层叠样式表. 在html中使用:要在head中写style标签,所有样式放在sty ...
随机推荐
- 对抗假人 —— 前后端结合的 WAF
前言 之前介绍了一些前后端结合的中间人攻击方案.由于 Web 程序的特殊性,前端脚本的参与能大幅弥补后端的不足,从而达到传统难以实现的效果. 攻防本为一体,既然能用于攻击,类似的思路同样也可用于防御. ...
- Hyper-V2:向VM增加虚拟硬盘
使用Hyper-V创建VM,在VM成功安装OS之后,发现VM只有一个逻辑盘C,用于存储VM的操作系统.在产品环境中,需要向VM增加虚拟硬盘,便于将数据单独存储在不同的逻辑盘符中.在Hyper-V中,分 ...
- html与html5
HTML 是一种在 Web 上使用的通用标记语言.HTML 允许你格式化文本,添加图片,创建链接.输入表单.框架和表格等等,并可将之存为文本文件,浏览器即可读取和显示.HTML 的关键是标签,其作用是 ...
- Android数据存储之Android 6.0运行时权限下文件存储的思考
前言: 在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以 ...
- [WCF]缺少一行代码引发的血案
这是今天作项目支持的发现的一个关于WCF的问题,虽然最终我只是添加了一行代码就解决了这个问题,但是整个纠错过程是痛苦的,甚至最终发现这个问题都具有偶然性.具体来说,这是一个关于如何自动为服务接口(契约 ...
- 算法与数据结构(十四) 堆排序 (Swift 3.0版)
上篇博客主要讲了冒泡排序.插入排序.希尔排序以及选择排序.本篇博客就来讲一下堆排序(Heap Sort).看到堆排序这个名字我们就应该知道这种排序方式的特点,就是利用堆来讲我们的序列进行排序.&quo ...
- RabbitMq应用一
RabbitMq应用一 RabbitMQ的具体概念,百度百科一下,我这里说一下我的理解,如果有少或者不对的地方,欢迎纠正和补充. 一个项目架构,小的时候,一般都是传统的单一网站系统,或者项目,三层架构 ...
- UML图中经常用到几种的关系图例
学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Gener ...
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...
- SQLServer 各版本区别
SQLServer 2012 新特性 通过AlwaysOn实现各种高可用级别 通过列存储索引技术实现超快速的查询,其中星型链接查询及相似查询的性能提升幅度可高达100倍,同时支持超快速的全文查询 通过 ...