属性选择器

  [title]:选择带有title属性的元素

  [title='hello']:选择属性是title并且值是hello的元素

  [title~='hello']:选择属性是title并且部分值是hello的元素,hello需要是单独的值,以空格分开

  [title*='hello']:选择属性是title并且其中包含了hello的元素

  [title|='hello']:选择属性是title并且值是以hello开头并且允许hello后面以-的任意字符

  [title^='hello']:属性以hello开头的任意字符

  [title$='hello']:属性以hello结束的任意字符

  [title^='hello'][title$='.py']:选择属性以hello开头并且以.py结束的元素

连结符

  h1~p:选择h1元素后面的所有同级p元素

  p~p:选择p元素后面的所有同级p元素,除了第一个p元素

  h1+p:选择h1元素后面的第一个同级p元素

伪类选择器

  nth系列,数字

  nth-child():按照位置来算数

  nth-of-type():按照类型来算数

  nth-last-child():从末尾按照位置开始算

  nth-last-of-type():从末尾按照类型来算数

  通过(-n+number)来指定选择前几个元素

  -n会向负数方向增加先从0开始,-1,-2,-3...

  使用:nth-child(odd)或:nth-child(even)实现隔行变色。

单个选择

  first-child:选择第一个元素,按位置
  first-of-type:选择第一个元素,按类型

  last-child:选择最后一个元素,按位置
  last-of-type:选择最后一个元素,按类型

  only-child:没有其他兄弟元素的时候会被选中
  only-of-type:可以有兄弟元素但要类型不同

  使用only-of-type可以让你从其他类型元素中挑选出一个元素来,反之only-child需要元素单独存在才行。这个肯定有大作用,待发现。

伪类

:target

  1.   通过:target来模拟点击事件
  2.   <a href="#a" id="a"></a>
  3.   利用target实现tab栏切换
  4.   使用target伪类,可以轻松地突出显示用户要阅读的评论

利用target制作的tab切换,当然它还是有很多缺陷的,不过大家可以通过它扩展扩展。

:empty
  选择没有子元素并且没有文本节点的元素

:root
  选择根元素,在HTML中root永远是html元素

:not
  参数支持传递一个元素甚至其他伪类选择器,但不支持传递连结符以及伪元素
  选择除了指定参数以外的任意元素

:optional

  选择不是必须填写的input元素

  也就是获取到input没有加required属性的元素

:required

  选择有加required属性的元素

:read-write

  获取可读写的input元素

:read-only

  获取只可读的input元素

:out-of-range

  当input元素的值是超出范围时,max和min限定的范围

:valid

  选择所有合法的输入,适用于表单元素有限制,如最小输入元素和属性的最大值,电子邮件具有合法的电子邮件,或者数值等数字字段。

元素状态伪类

:checked
  当checkbox被选中时

:disabled
  当元素被禁用时

:enabled
  当元素没有被禁用时

伪元素

::first-line
  选择第一行文字

::first-letter
  选择第一个字

::after
  在元素末尾添加一个伪元素

::before
  在元素开头添加一个伪元素

::selection
  应用到选中的文本上

合理利用这些选择器,可以帮你解决很多问题,目前还在研究中,本篇内容长期更新。

CSS3选择器的研究的更多相关文章

  1. CSS3选择器的研究,案例

    在上一篇CSS3选择器的研究中列出了几乎所有的CSS3选择器,和伪类选择器,当是并没有做案例的研究,本想在那篇文章里面写,但想想如果把案例都写在那篇文章里面,对于查找来说就不是很方便,所有另开一篇来讲 ...

  2. CSS3选择器归类整理

    CSS3选择器归类整理(附CSS优先级要点) CSS是用于网页设计可用的最强大的工具之一.使用它我们可以在几分钟内改变一个网站的界面,而不用改变页面的标签.在深入研究CSS选择器之前,我们应该先搞懂C ...

  3. 总结30个CSS3选择器

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 ;; ...

  4. 总结30个CSS3选择器(转载)

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 * ...

  5. CSS3 选择器——属性选择器

    上一节在<CSS3选择器——基本选择器>中主要介绍了CSS3选择器的第一部分,这节主要和大家一起来学习CSS3选择器的第二部分——属性选择器.属性选择器早在CSS2中就被引入了,其主要作用 ...

  6. css3 选择器(三)

    接css3选择器(一) 接css3 选择器(二) 这篇和前两篇内容相关性不大,主要是涉及到一些css3的状态选择器,所以标题从一开始. 一.[:enabled]选择器 一看这个属性就知道是专为表单元素 ...

  7. CSS3选择器介绍

    1.css3属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  8. CSS3 选择器——基本选择器

    CSS的选择器,我想大家并不会陌生吧,因为天天在使用,但对于CSS3的选择器,要运用的灵活到位,我想对很多朋友还是一定的难度,特别是CSS3中的:nth选择器.那么从现在开始我们先丢开他们版本的区别, ...

  9. css3选择器(一)

    直接开始正文. 一.css3同级元素通用选择器[update20161228] 选择器:E~F 匹配任何在E元素之后的同级F元素 Note:E~F选择器选中的是E元素后面同级元素中的全部F元素. 例: ...

随机推荐

  1. android5.0 aosp编译记录(由于机器硬件原因,改为4.4.2编译通过)

    编译环境必须是64位系统啊,妥妥的又装了64位的ubuntu,虚拟机推荐server版本,不带x省性能…… 接着要装openjdk 1.7,记得更新一下系统的源,下面这个不错 deb http://m ...

  2. JSP中<base href="<%=basePath%>">作用

    通常在JSP页面开通有如下代码: <% String path = request.getContextPath(); String basePath = request.getScheme() ...

  3. Keeping Async Methods Alive

    Consider a type that will print out a message when it’s finalized, and that has a Dispose method whi ...

  4. 多线程GCD的基本使用以及注意点

    GCD的使用  一:队列    1.串行队列:添加到队列中的任务是一个一个执行的    2.并行(发)队列:添加到队列中的任务是多个同时执行的(一个队列中的多个任务可以同时执行)    3.主队列:里 ...

  5. 《利用Python进行数据分析》第123章学习笔记

    引言 1 列表推导式 records = [json.loads(line) for line in open(path)] 这是一种在一组字符串(或一组别的对象)上执行一条相同操作(如json.lo ...

  6. android更换工具链

    欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=73 android编译系统是跟随android源码一起发布的,使用了gcc编译器,也就是 ...

  7. 利用HtmlAgilityPack库进行HTML数据抓取

    主要介绍基于XPATH的文本分析方式的实现,代码如下: using System; using System.Collections.Generic; using System.Linq; using ...

  8. .NET转Java学习规则

    做一个个人Blog(博客) 过程分3个大阶段: 使用servlet/jsp和jdbc,mysql完成第一阶段Blog 项目修改为Spring(IOC+MVC)+SpringJdbc+MyBatis模式 ...

  9. ENode 2.0 - 介绍一下关于ENode中对Command的调度设计

    CQRS架构,C端的职责是处理从上层发送过来的command.对于单台机器来说,我们如何尽快的处理command呢?本文想通过不断提问和回答的方式,把我的思考写出来. 首先,我们最容易想到的是使用多线 ...

  10. 作业七:团队项目——Alpha版本冲刺阶段-13

    对项目最后进行了完善. 代码如下: public void chapRule(int Man ,JLabel play,JLabel playTake,JLabel playQ[]){ //当前状态 ...