伪类选择器:CSS中已经定义好的选择器,不能随便取名

常用的伪类选择器是使用在a元素上的几种,`如a:link|a:visited|a:hover|a:active`

提示:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。

提示:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

伪元素选择器:并不是针对真正的元素使用的选择器,而是针对CSS中已经定义好的伪元素使用的选择器。

CSS中有如下四种伪元素选择器:

· first-line:为某个元素的第一行文字使用样式;

· first-letter:为某个元素中的文字的首字母或第一个字使用样式;

· before:在某个元素之前插入一些内容;

· after: 在某个元素之后插入一些内容;

使用方法:选择器:伪元素{样式}

结构性伪类选择器

1.  四个最基本的:root、not、empty、target

2. first-child、last-child、nth-child、nth-last-child、

nth-child(odd)、nth-child(even)、nth-last-child(odd)、nth-last-child(even)

3.  nth-of-type、nth-last-of-type

4. 循环使用样式

5. only-child

:root()选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素。在HTML文档中,根元素始终是。“:root”选择器等同于元素

:not()选择器称为否定选择器,和jQuery中的:not选择器一模一样,可以选择除某个元素之外的所有元素。

:empty()选择器表示的就是空。用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格。

:target()选择器来对页面某个target元素(该元素的id被当做页面中的超链接来使用)指定样式,该样式只在用户点击了页面中的超链接,并且跳转到target元素后起作用

“:first-child()”选择器表示的是选择父元素的第一个子元素的元素E。简单点理解就是选择元素中的第一个子元素,记住是子元素,而不是后代元素。

:nth-child()选择某个元素的一个或多个特定的子元素;

:nth-last-child()从某父元素的最后一个子元素开始计算,来选择特定的元素。

看下面一个例子:

复制代码代码如下:

div p:nth-last-child(2){

color:red;

}

前端

开发

工程

软件

工程

:nth-child()可以选择某个的一个或多个特定的子元素,你可以按这种方式进行选择:

:nth-child(length);/*参数是具体数字*/

:nth-child(n);/*参数是n,n从0开始计算*/

:nth-child(n*length)/*n的倍数选择,n从0开始算*/

:nth-child(n+length);/*选择大于length后面的元素*/

:nth-child(-n+length)/*选择小于length前面的元素*/

:nth-child(n*length+1);/*表示隔几选一*/

//上面length为整数

值得注意的是:nth-child(0)没有选择元素,nth-child(1)选择第一个元素。

复制代码代码如下:

*{list-style:none;};

.demo {

width: 400px;

padding: 10px;

}

.demo li {

padding: 5px;

float: left;

margin-right:4px;

}

.demo li a {

float: left;

display: block;

height: 20px;

line-height: 20px;

width: 20px;

-moz-border-radius: 10px;

-webkit-border-radius: 10px;

border-radius: 10px;

text-align: center;

background: #f36;

color: white;

text-decoration: none;

}

.demo li:nth-child(1){

background:#01FEFE;

}

.demo li:nth-child(2n){

background:#4679BD;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

“:nth-of-type(n)”选择器和“:nth-child(n)”选择器非常类似,不同的是它只计算父元素中指定的某种类型的子元素。当某个元素中的子元素不单单是同一种类型的子元素时,使用“:nth-of-type(n)”选择器来定位于父元素中某种类型的子元素是非常方便和有用的。

":only-child"表示的是一个元素是它的父元素的唯一一个子元素。

伪元素:

CSS中的伪元素大家以前看过::first-line,:first-letter,:before,:after;

那么在CSS3中,他对伪元素进行了一定的调整,在以前的基础上增加了一个“:”也就是现在变成了“::first-letter,::first-line,::before,::after”另外他还增加了一个“::selection”,两个“::”和一个“:”css3中主要用来区分伪类和伪元素,到目前来说,这两种方式都是被接受的,也就是说不管使用哪种写法所起的作用都是一样的,只是一个书写格式不同而以。

::first-line选择元素的第一行,比如说改变每个段落的第一行文本的样式,我们就可以使用这个

p::first-line {font-weight:bold;}

::before和::after这两个主要用来给元素的前面或后面插入内容,这两个常用"content"配合使用,见过最多的就是清除浮动,

复制代码代码如下:

.clearfix:before,

.clearfix:after {

content: ".";

display: block;

height: 0;

visibility: hidden;

}

.clearfix:after {clear: both;}

.clearfix {zoom: 1;}

::selection用来改变浏览网页选中文的默认效果

html伪类选择器Before,css3 伪元素和伪类选择器详解相关推荐

  1. css伪元素before和after用法详解

    css伪元素before和after用法详解 要想了解伪元素before和after到底是什么,首先就应该打开编译器敲入代码并在浏览器运行检查 <!DOCTYPE html> <ht ...

  2. html渐变线条代码,CSS3实现线性渐变用法示例代码详解

    前言 演示下太老版本浏览器的渐变实现了[IE9-]; IE9以前,渐变都是通过滤镜实现的,大体的写法就是这样; .testDiv { width:400px; height:400px; border ...

  3. python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...

    第8.3节Python类的__init__方法深入剖析:构造方法与继承详解 一.    引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类没 ...

  4. 如何把canvas元素作为网站背景总结详解

    如何把canvas元素作为网站背景总结详解 一.总结 一句话总结:最简单的做法是绝对定位并且z-index属性设置为负数. 1.如何把canvas元素作为网站背景的两种方法? a.设置层级(本例代码就 ...

  5. C++ - 派生类(derived class) 的 构造(construct) 和 析构(destruct)顺序 详解

    派生类(derived class) 的 构造(construct) 和 析构(destruct)顺序 详解 本文地址: http://blog.csdn.net/caroline_wendy/art ...

  6. 什么是伪类和伪元素?伪类和伪元素的区别的区别详解

    1.伪类 用来添加一些选择器的特殊效果. 2.伪元素 伪元素是用来添加一些选择器的特殊效果. 3.区别 伪元素其实相当于伪造了一个元素,例如before,first-letter达到的效果就是伪造了一 ...

  7. JavaScript前端中的伪类元素before和after使用详解

    在前端开发中,伪类是一种让你可以选择元素的某个状态或位置的 CSS 选择器.其中,:before 和 :after 伪类允许你在一个元素之前或之后插入内容. :before 和 :after 伪类创建 ...

  8. html的后代选择器,html5怎么使用后代选择器?html选择后代的两种方式详解!

    在项目开发的过程中,同一个文档中可能会用到很多相同的标签,也有可能用到很多相同的类名,这就导致 html 在开发中选择器不好使用的问题,如果全部使用 id 选择器又不符合语义化的效果.这时候,我们就可 ...

  9. 关于css3中的2d样式skew倾斜详解

    简介: 在css3中,transform有个属性skew,能使元素产生倾斜效果,不少小伙伴接触到时都很费解,为什么倾斜效果和自己想的不一样,当然网上也有不少死记硬背规律口诀的方法,但我个人觉得都不是很 ...

  10. java enum类默认常量是什么_Java枚举类型enum的详解及使用

    Java枚举类型enum的详解及使用 最近跟同事讨论问题的时候,突然同事提到我们为什么Java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前 ...

最新文章

  1. java 自定义tostring_自定义java toString方法
  2. iOS单例模式定义与使用
  3. Sencha Touch 打包javaScript 和 css
  4. sts(eclipse)安装svn插件
  5. ESFramework介绍之(30)―― 消息侦察者 INetMessageSpy
  6. app和外部应用的关联及应用举例
  7. OpenCV | 图片与视频的相互转换(C++Python)
  8. 申请购买计算机的报告,关于申请购买电脑的请示(最新整理)
  9. leetcode51. N皇后
  10. Linux入侵痕迹检测方案【华为云技术分享】
  11. [置顶] android 自定义圆角ImageView以及锯齿的处理
  12. d3 v5 api select
  13. Python数据分析入门(十九):绘制散点图
  14. 库存收藏-各种设备默认用户名和密码
  15. css元素背景图片自适应屏幕大小
  16. html5跳转页面接收参数,HTML页面跳转及参数传递问题
  17. 被讨厌的勇气:课题分离理论
  18. android amr转换mp3格式文件,安卓批量amr转mp3 微信amr批量转换
  19. Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2)
  20. 幻梦一场:Vulcan Project

热门文章

  1. Xamarin.Android之山有木兮之木有枝,心悦君兮君不知。
  2. 在ANTMINER(阉割版BeagleBone Black)运行Debain
  3. 抹去 CSDN 中图片水印的方法
  4. 剑桥商务英语中级 BEC
  5. 星辰大海,需要门票;诗和远方,需要路费
  6. 谈谈程序员创业的一些事情
  7. Web渗透_扫描工具Arachni
  8. ambari-2.7.3 + HDP-3.1.0安装步骤
  9. Robotstudio软件:基于Random组件的工件位置随机生成
  10. c语言软件市场价,[转载]KMV模型中求解资产市场价值和资产价值波动性(C语言)...