CSS基础知识点(二)——选择器
在这一篇中,主要总结一下CSS中的选择器。
参考:http://www.cnblogs.com/webblog/archive/2009/07/07/1518274.html
CSS中的选择器主要包括:
- 派生选择器:通过依据元素在其位置的上下文关系来定义样式。包括后代选择器,子元素选择器,相邻兄弟选择器。
- id选择器:可以为标有特定 id 的 HTML 元素指定特定的样式。
- 类选择器:可以为class的 HTML 元素指定特定的样式。
- 属性选择器:为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。
(1) 选择器分组:可以将任意多个选择器分组在一起,中间以 ',' 隔开。
例:body, h2, p, table, th, td, pre, strong, em { color : gray ; }
(2) 类选择器的几种用法
- 与元素选择器结合:
例:p.important {color:red;}
匹配 class为 important 的所有 p 元素,但是其他任何类型的元素都不匹配。
- 多类选择器:(IE7之前不支持)
例:.important.warning {background:silver;}
匹配同时具有这两个class的元素。
(3) 属性选择器:根据元素的属性匹配元素
- 简单属性选择
例:a[title] {color:red;} 只对有 title 属性的 a 元素应用样式。
- 根据具体属性值选择
例:input[name='basketball'] 只选择有特定属性值的元素。
- 属性与属性值完全匹配
例:对于<p class="important warning">This paragraph is a very important warning.</p>,
使用 p[class="important warning"] {color: red;}
- 根据部分属性值匹配
例:对于<p class="important warning">This paragraph is a very important warning.</p>,
使用 p[class~="important"] {color: red;} 根据属性值中的词列表的某个词进行选择。
- 子串匹配属性选择器
input[name^='foot']:匹配给定的属性是以某些值开始的元素。
input[name$='ball']:匹配给定的属性是以某些值结尾的元素。
input[name*='sket']:匹配给定的属性是以包含某些值的元素。
(4) 后代选择器
例:h1 em {color:red;},匹配h1后代中所有em
例:h1 > strong {color:red;},选择只作为 h1 元素(一级)子元素的 strong 元素。
(5) 相邻兄弟选择器
例:h1 + p {margin-top:50px;},匹配相同父元素下,h1之后出现的第一个p元素。
(6)同级选择器
例:h1 ~ p {margin-top:50px;},匹配相同父元素下,h1之后出现的所有p元素。
(7) 伪类
如a链接的 :visited, :hover等,input的:focus, :checked, :disabled 等,
结构性伪类有 :first-child, :first-of-type, :nth-of-type, nth-child, :before, :after 等。
nth-child与nth-of-type的区别:
- nth-child 指的是后代的所有元素
- nth-of-type 指的是指定某种类型的后代元素
例如:

p:nth-child(2) { color: red; } 效果为第一个 p 变红色。要找的是:第二个子元素&&第二个子元素为p。当不满足任一条件时,失败。
p:nth-of-type(2) { color: red; } 效果为第二个 p 变红色(希望的效果)。因为找的是所有p标签中的第二个p。

p:nth-child(2) { color: red; } 不会染红任何元素。
p:nth-of-type(2) { color: red; } 效果为第二个 p 变红色(希望的效果)
(8) 伪元素
如 p:first-line;匹配元素p内容的第一行。p:first-letter;匹配p元素内容的首字母。还有before,after等。
使用伪元素/伪类设置placeholder的样式:
input::-webkit-input-placeholder { /* WebKit browsers */
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
}
input::-moz-placeholder { /* Mozilla Firefox 19+ */
}
input:-ms-input-placeholder { /* Internet Explorer 10+ */
}
CSS基础知识点(二)——选择器的更多相关文章
- CSS 基础知识点 样式 选择器 伪类
CSS 基础知识点汇集 版权声明:这篇博客是别人写的,大神博客地址 : https://www.cnblogs.com/Mtime/p/5184685.html 1.CSS 简介 CSS 指层叠样式表 ...
- HTML&CSS基础-伪元素选择器
HTML&CSS基础-伪元素选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> ...
- HTML&CSS基础-伪类选择器
HTML&CSS基础-伪类选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...
- HTML&&CSS基础知识点整理
HTML&&CSS基础知识点整理 一.WEB标准:一系列标准的集合 1. 结构(Structure):html 语言:XHTML[可扩展超文本标识语言]和XML[可扩展标记语言] 2. ...
- 两天学会css基础(二)
接上一篇博客,还有css中的两个重要知识点没有说到,就是元素的浮动与定位. 第三部分:元素的浮动与清除 这部分的内容之前的博客已总结过.请查看css中的浮动与三种清除浮动的方法这篇文章. 浮动在网页中 ...
- CSS基础语法与选择器
CSS基础 语法 : <head> <style type="text/css"> 选择器(即修饰对象){ 修饰属性:属性值; 修饰属性:属性值; } &l ...
- 【css学习整理】css基础(样式,语法,选择器)
CSS是什么? cascading 层叠样式表 sheet 样式文件 style 外观个性化 CSS语法? 声明方法: 选择器(属性: 值; 属性: 值) 选择器: 通过名称制定对哪些标签进行样式设置 ...
- CSS基础语法(二) CSS的9种选择器
样式表的选择器 1.类选择器 根据HTML标签的class属性选择样式应用的属性 .类值{ … } 2.ID选择器 根据HTML标签的ID属性选择样式应用的元素 #id值{ … } 3.标签选择器 ...
- CSS基础知识点(二)——居中
水平居中 (1) 对于块级元素,最常用的自适应水平居中为:margin:0px auto; (与 margin:auto; 效果相同) (2) 对于行内元素(a, img, input等),最常用的水 ...
随机推荐
- java日期的运用(DateUtils工具类)
public static void main(String[] args) { Date now = new Date(); SimpleDateFormat sd = new SimpleDate ...
- 从ajax获取的数据无法通过Jquery选择器来调用事件
如果标签是动态生成的,比如说div.tr.td等,若需通过Jquery来获取事件,那么需要用live来绑定相应的事件. 比如说绑定div的click事件 $("div").live ...
- wp8.1 Study14 FilePicker简单介绍
一.FileOpenPicker/FileSavePicker介绍 这个在使用手机中是十分经常的,如在朋友圈中你要发图片,首先点击添加图片,而后你会进入手机图片区,选择图片后自动返回朋友圈准备发图界面 ...
- tableview 刷新 @property属性的用法
1.tableView的刷新1> 数据刷新的总体步骤* 修改模型数据* 刷新表格(刷新界面) 2> 刷新表格(刷新界面)的方法* 全局刷新(每一行都会重新刷新)- (void)reload ...
- APC to USB
from :http://www.allpinouts.org/index.php/APC_USB_cable_schematic connector or cable wiring APC part ...
- 腾讯PK微软 王者之战一触即发
六一儿童节,曾在微信中热闹一时的智能机器人“小冰”被腾讯封杀.一场微软和腾讯的战争正式拉开帷幕.前者是PC时代的霸主,后者是中国移动互联网的王者.在此之前,类似的战争,腾讯曾经历无数次,从十年前的“珊 ...
- Gmail新版截图曝光 你还能认得出来吗?
Gmail即将迎来巨大的改变.据外媒消息,目前Google正在测试新的网页版Gmail.要知道从Gmail推出以来还从未进行过如此大的改动. 新版Gmail中,界面相比之前,采用了更加扁平话的设计,整 ...
- SharePoint重置密码功能Demo
博客地址 http://blog.csdn.net/foxdave 本文将说明一个简单的重置SharePoint用户密码(NTLM Windows认证)的功能如何实现 重置密码功能,实际上就是重置域用 ...
- Oracle GoldenGate Veridata 12.1.3已经发布
通过GoldenGate Veridata 12.1.3,现在只需要一键点击即可修复数据复制后不一致的数据. veridata 架构
- 用php 查询显示新闻消息
创建数据库: create database mydb ; use mydb ; create table News ( ids int identity primary key, title var ...