jquery选择器和css选择器的区别_css和css3的区别是什么

CSS3在CSS2基础上,增强新增了许多特性, 弥补了CSS2的众多不足之处,使得Web开发变得更为高效和便捷。

CSS3的现状

  • 浏览器支持程度不够好,有些需要添加私有前缀
  • 移动端支持优于PC端
  • 不断改进中
  • 应用相对广泛

应对的策略:渐进增强

  • (1)坚持渐进增强的原则:让低版本浏览器能正常访问页面,高版本的浏览器用户体验更好。【重要】

比如说,同样是一个头像,可能在低版本的浏览器中,头像方的;在高版本的浏览器中,头像是圆的。

  • (2)考虑用户群体。
  • (3)遵照产品的方案。

参考链接:

  • 渐进增强 VS 优雅降级 | 简书
  • 渐进增强和优雅降级之间的不同(面试题目)

浏览器的版本问题

由于CSS3普遍存在兼容性问题,为了避免因兼容性带来的干扰,浏览器的建议版本为:

  • Chrome浏览器 version 46+
  • Firefox浏览器 firefox 42+

如何使用手册

在查看CSS参考手册时,需要注意以下符号:

jquery选择器和css选择器的区别_css和css3的区别是什么

比如说,{1,4}表示可以设置一至四个参数。

下面讲CSS3的基础知识。本文讲一下 CSS3 选择器的内容。

CSS3 选择器

我们之前学过 CSS 的选择器,比如:

“` div 标签选择器

.box 类名选择器 #box id选择器 div p 后代选择器 div.box 交集选择器 div,p,span 并集选择器 div>p 子代选择器 * : 通配符 div+p: 选中div后面相邻的第一个p div~p: 选中的div后面所有的p

“`

CSS3新增了许多灵活查找元素的方法,极大的提高了查找元素的效率和精准度。CSS3选择器与 jQuery 中所提供的绝大部分选择器兼容。

属性选择器

属性选择器的标志性符号是 。

匹配含义:

^:开头 $:结尾 *:包含

格式:

  • E 选中页面的E元素,并且E存在 title 属性即可。
  • E[title="abc"]选中页面的E元素,并且E需要带有title属性,且属性值完全等于abc。
  • E[attr~=val] 选择具有 att 属性且属性值为:用空格分隔的字词列表,其中一个等于 val 的E元素。
  • E[attr|=val] 表示要么是一个单独的属性值,要么这个属性值是以“-”分隔的。
  • E[title^="abc"] 选中页面的E元素,并且E需要带有 title 属性,属性值以 abc 开头。
  • E[title$="abc"] 选中页面的E元素,并且E需要带有 title 属性,属性值以 abc 结尾。
  • E[title*="abc"] 选中页面的E元素,并且E需要带有 title 属性,属性值任意位置包含abc。

比如说,我们用属性选择器去匹配标签的className,是非常方便的。

这里我们用class属性来举例。代码举例:

“`html <!DOCTYPE html>

CSS3-属性选择器

简介

  • 姓名:
  • 密码:
  • 性别: 男 女
  • 兴趣: 写代码

E

E[attr~=attr]

E[attr|=attr]

E[attr*=val]

E[attr^=val]

E[attr$=val]

“`

最后来张表格:

jquery选择器和css选择器的区别_css和css3的区别是什么

结构伪类选择器

伪类选择器的标志性符号是 :。

CSS中有一些伪类选择器,比如:link、:active、:visited、:hover,这些是动态伪类选择器。

CSS3又新增了其它的伪类选择器。这一小段,我们来学习CSS3中的结构伪类选择器:即通过结构来进行筛选。

1、格式:(第一部分)

  • E:first-child 匹配父元素的第一个子元素E。
  • E:last-child 匹配父元素的最后一个子元素E。
  • E:nth-child(n) 匹配父元素的第n个子元素E。注意,盒子的编号是从1开始算起,不是从0开始算起。
  • E:nth-child(odd) 匹配奇数
  • E:nth-child(even) 匹配偶数
  • E:nth-last-child(n) 匹配父元素的倒数第n个子元素E。

理解:

(1)这里我们要好好理解父元素的含义,它指的是:以 E 元素的父元素为参考。

(2)注意:以上选择器中所选到的元素的类型,必须是指定的类型E,如果选不中,则无效。这个要好好理解,具体可以看CSS参考手册中的E:nth-child(n)的示例。我们可以理解成:先根据选择器找到选中的全部位置,如果发现某个位置不是类型E,则该位置失效

(3)另外,E:nth-child(n)这个属性也很有意思。比如,针对下面这样一组标签:

html <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> </ul>

上方代码中:

  • 如果选择器写成li:nth-child(2),则表示第2个 li。
  • 如果选择器写成li:nth-child(n),则表示所有的li。因为此时的 n 表示 0,1,2,3,4,5,6,7,8…..(当n小于1时无效,因为n = 0 也是不会选中的)
  • 如果选择器写成li:nth-child(2n),则表示所有的第偶数个li。
  • 如果选择器写成li:nth-child(2n+1),则表示所有的第奇数个li。
  • 如果选择器写成li:nth-child(-n+5),则表示前5个li。
  • 如果选择器写成li:nth-last-child(-n+5),则表示最后5个li。
  • 如果选择器写成li:nth-child(7n),则表示选中7的倍数。。

上面列举的选择器中,我们只要记住: n 表示 0,1,2,3,4,5,6,7,8…..就很容易明白了。

2、格式:(第二部分)

  • E:first-of-type 匹配同类型中的第一个同级兄弟元素E。
  • E:last-of-type 匹配同类型中的最后一个同级兄弟元素E。
  • E:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素E。
  • E:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素E。

既然上面这几个选择器带有type,我们可以这样理解:先在同级里找到所有的E类型,然后根据 n 进行匹配。

3、格式:(第三部分)

  • E:empty 匹配没有任何子节点(包括空格等text节点)的元素E。
  • E:target 匹配相关URL指向的E元素。要配合锚点使用。

举例:

我们可以把多个伪类选择器结合起来使用,比如:

jquery选择器和css选择器的区别_css和css3的区别是什么

如果想把上图中,第一行的前三个 span 标红,我们可以这样使用结构伪类选择器:

css dt:first-child span:nth-of-type(-n+3) { color: red; }

最后来张表格:

jquery选择器和css选择器的区别_css和css3的区别是什么

伪元素选择器

伪元素选择器的标志性符号是 ::。

1、格式:(第一部分)

  • E::before 设置在 元素E 前面(依据对象树的逻辑结构)的内容,配合content属性一起使用。
  • E::after 设置在 元素E 后面(依据对象树的逻辑结构)的内容,配合content属性一起使用。

E:after、E:before在旧版本里是伪类,在 CSS3 这个新版本里是伪元素。新版本里,E:after、E:before会被自动识别为E::after、E::before,按伪元素来对待,这样做的目的是用来做兼容处理。

举例:

“`html <!DOCTYPE html>

生命壹号

“`

效果如下:

jquery选择器和css选择器的区别_css和css3的区别是什么

上图可以看出

  • 通过伪元素选择器,就可以添加出类似于span标签的效果(记得要结合 content 属性使用)。
  • 通过这两个属性添加的伪元素,是行内元素,需要转换成块元素才能设置宽高。

2、格式:(第二部分)

  • E::first-letter 设置元素 E 里面的第一个字符的样式。
  • E::first-line 设置元素 E 里面的第一行的样式。
  • E::selection 设置元素 E 里面被鼠标选中的区域的样式(一般设置颜色和背景色)。

E::first-letter 的举例:

jquery选择器和css选择器的区别_css和css3的区别是什么

E::first-line的举例:

jquery选择器和css选择器的区别_css和css3的区别是什么

最后来张表格:

jquery选择器和css选择器的区别_css和css3的区别是什么

本文【jquery选择器和css选择器的区别_css和css3的区别是什么】由作者: 乐观锁 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4520.html

(0)
上一篇 2023-03-15 08:05:27
下一篇 2023-03-15 08:12:02

相关推荐

  • 二进制文件损坏怎么修复

    如果您不想将工件上传到公共存储库,或者如果您在未连接到公共存储库的私有网络上工作,则需要能够将依赖项离线存储在私有存储库中并在本地推送或拉取它们。 根据维基百科,二进制存储库管理器 (BRM)是“一种软件工具,旨在优化软件开发中使用和生成的二进制文件的下载和存储”,例如 .jar、.tar 或 .zip 档案。作为大多数DevOps 工具链的关键组件,BRM…

    2023-03-11
    200
  • hook在编程中是什么意思_flow什么意思

    什么是HOOK技术? 病毒木马为何惨遭杀软拦截? 商业软件为何频遭免费破解? 系统漏洞为何能被补丁修复? 这一切的背后到底是人性的扭曲,还是道德的沦丧,尽请收看今天的专题文章:《什么是HOOK技术?》 上面是开个玩笑,言归正传,今天来聊的话题就是安全领域一个非常重要的技术:HOOK技术。 HOOK,英文意思是“钩子” 在计算机编程中,HOOK是一种「劫持」程…

    2023-03-13
    400
  • 键盘上backspace是什么键 back在键盘上是什么键

    在电脑上编辑一些文字时,都有哪些方法可以直接把不需要的文件删除呢?其实键盘上都有很多快捷键是可以直接实现的,那么电脑删除的快捷键是什么呢?完美来看看都有哪些是可以删除文本的吧。 一:删除文本 1、Backspace退格键 如果是在文末打错字,完美可以直接按Backspace键删除就行了。 2、Delete键 或者可以直接选中想要删除的文本内容,再按下dele…

    2023-03-17
    100
  • md5校验码怎么用_md5校验失败什么意思

    哈喽,大家好!这里是能看懂的DNF全职百科、百科教学、热点资讯;看角色攻略,看我就够了,一站式教学,一篇看完。 本期内容:DNF冷知识——游戏安装失败、MD5校验失败,各种问题解决教学。 相信很多玩家都遇到过游戏安装失败的情况,而且还不是统一的问题,这里给大家提供解决办法,亲测有用 01 游戏安装失败7001004 官方下载 1、先检查自己的网络是否丢包,一…

    2023-03-19
    000
  • Excel vba教程

    Hello,大家好,今天跟大家分享几个比较实用的自定义函数,都是利用VBA代码自己定义,操作非常的简单,大家只需要打开VB编辑器,然后粘贴代码即可,废话不多说,下面我们就来看下都有哪些代码。 一、输入数据自动锁定 Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Res…

    2023-03-21
    100
  • tcp协议为什么要三次握手_tcp三次握手的通俗理解

    专注于Java领域优质技术,欢迎关注 作者:老钱 占小狼博客 TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一。很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答。本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地地理解TCP交互的本质。 TCP 三次握手 TCP 三次握手就好比两个人在街上隔着50米看见了对方,…

    2023-03-12
    400
  • 设置滚动条宽度和颜色,滚动条如何设置大小

    在本文中,我们将深入了解滚动条的世界。我知道,这听起来不太迷人,但相信我,精心设计的页面与匹配的滚动条齐头并进。老式的镀铬滚动条只是不适合那么多。 我们将研究滚动条的细节,然后看看一些很酷的例子。 滚动条的组成部分 要设置滚动条的样式,您需要熟悉滚动条的解剖结构。请看这张图: 这里要记住的两个主要组成部分是: scrollbar track是滚动条下方的背景…

    2023-03-16
    000
  • cpu漏洞门最新消息

    鱼羊 发自 凹非寺 量子位 | 公众号 QbitAI x86 CPU,危! 一项最新安全研究表明:在一种名为Hertzbleed的攻击方式之下,黑客可以从远程服务器中直接窃取加密密钥。 无论是英特尔还是AMD CPU,都不能幸免。 影响范围大概是酱婶的。 英特尔:全部。 AMD: 研究来自德州大学奥斯汀分校和伊利诺伊大学香槟分校等研究机构,相关论文一经发出便…

    2023-03-14
    400
  • matlab递归函数怎么写 编写一个递归函数

    前言 本篇文章主要是记录一下在 GScript 中实现递归调用时所遇到的坑,类似的问题在中文互联网上我几乎没有找到相关的内容,所以还是很有必要记录一下。 在开始之前还是简单介绍下本次更新的 GScript v0.0.9 所包含的内容: 支持可变参数 优化 append 函数语义 优化编译错误信息 最后一个就是支持递归调用 先看第一个可变参数: //forma…

    2023-03-14
    200

发表回复

登录后才能评论
返回顶部
错说博客上线啦!