在这一篇中,主要总结一下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基础知识点(二)——选择器的更多相关文章

  1. CSS 基础知识点 样式 选择器 伪类

    CSS 基础知识点汇集 版权声明:这篇博客是别人写的,大神博客地址 : https://www.cnblogs.com/Mtime/p/5184685.html 1.CSS 简介 CSS 指层叠样式表 ...

  2. HTML&CSS基础-伪元素选择器

    HTML&CSS基础-伪元素选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> ...

  3. HTML&CSS基础-伪类选择器

    HTML&CSS基础-伪类选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...

  4. HTML&&CSS基础知识点整理

    HTML&&CSS基础知识点整理 一.WEB标准:一系列标准的集合 1. 结构(Structure):html 语言:XHTML[可扩展超文本标识语言]和XML[可扩展标记语言] 2. ...

  5. 两天学会css基础(二)

    接上一篇博客,还有css中的两个重要知识点没有说到,就是元素的浮动与定位. 第三部分:元素的浮动与清除 这部分的内容之前的博客已总结过.请查看css中的浮动与三种清除浮动的方法这篇文章. 浮动在网页中 ...

  6. CSS基础语法与选择器

    CSS基础 语法 : <head> <style type="text/css"> 选择器(即修饰对象){ 修饰属性:属性值; 修饰属性:属性值; } &l ...

  7. 【css学习整理】css基础(样式,语法,选择器)

    CSS是什么? cascading 层叠样式表 sheet 样式文件 style 外观个性化 CSS语法? 声明方法: 选择器(属性: 值; 属性: 值) 选择器: 通过名称制定对哪些标签进行样式设置 ...

  8. CSS基础语法(二) CSS的9种选择器

    样式表的选择器 1.类选择器 根据HTML标签的class属性选择样式应用的属性 .类值{ … } 2.ID选择器 根据HTML标签的ID属性选择样式应用的元素 #id值{ … }  3.标签选择器 ...

  9. CSS基础知识点(二)——居中

    水平居中 (1) 对于块级元素,最常用的自适应水平居中为:margin:0px auto; (与 margin:auto; 效果相同) (2) 对于行内元素(a, img, input等),最常用的水 ...

随机推荐

  1. HDU 3533 Escape bfs 难度:1

    http://acm.hdu.edu.cn/showproblem.php?pid=3533 一道普通的bfs,但是由于代码实现出了bug还是拖了很久甚至对拍了 需要注意的是: 1.人不能经过炮台 2 ...

  2. win7 64位安装mongodb及管理工具mongoVUE1.6.9.0

    下载mongodb安装程序,官网地址:http://www.mongodb.org/downloads 我的是64位win7,选择: 然后双击下载的文件安装,我安装到本地的D盘里面 然后配置系统环境变 ...

  3. ASP.NET 学习笔记

    1.ASP.NET 服务器控件是可被服务器理解的标签 有三种类型的服务器控件(所有服务器控件必须出现在 <form> 标签内,同时 <form> 标签必须包含 runat=&q ...

  4. IntelliLock托管代码保护和许可授权管理系统软件详细介绍及下载

    IntelliLock是一个能用于控件与应用程序许可授权的100%托管的先进解决方案.与.NET Reactor提供的基于源代码保护的授权许可系统不同,IntelliLock选择了以100%托管的方式 ...

  5. android selector详解

    --> 改变字体的颜色<selector xmlns:android="http://schemas.android.com/apk/res/android"> ...

  6. Register-SPWorkflowService 远程服务器返回错误: (404) 未找到

    博客地址:http://blog.csdn.net/foxdave 当想创建一个SharePoint 2013 工作流的时候,打开SharePoint 2013 Designer(一下简称SPD),发 ...

  7. 发布Restful服务时出现IIS 指定了身份验证方案错误时的解决方案(IIS specified authentication schemes)

    发布RESTful服务,当访问.svc文件时出现如下错误时: IIS 指定了身份验证方案“IntegratedWindowsAuthentication, Anonymous”,但绑定仅支持一种身份验 ...

  8. Javascript使用总结

    Javascript(简称JS)简介 JavaScript是一门广泛用于浏览器客户端的脚本语言,由Netspace公司设计,当时跟Sun公司(已经被oracle收购)合作,所以名字起得像Java,业内 ...

  9. Oracle GoldenGate: 使用宏

         OGG宏与C语言中的宏一样,提供了函数封装的功能,即可以将一些配置参数整理为一个宏,然后在多个参数文件中共用,针对环境复杂或多个复制点的情况尤其有用.下面我们将介绍如何创建一个宏的库,以及在 ...

  10. HTML--1标签表格

    HTML   内容(Hyper Text Markup Language,超文本标记语言) CSS    网页美化 Javascript    脚本语言 打开DREAMWEAVER,新建HTML,如下 ...