展开全部 首先我们需要清楚,浏览器是如何读取选择器,以识别样式,并将相应的样式附于对应的HTML元素,达到美化页面的效果。Chris Coyier曾在《Efficiently Rendering CSS》一文中说过“浏览器读取你的选择器,遵循的原则是从选择器的右边到左边读取。换句话说,浏览器读取选择器的顺序是由右到左进行”。比如说: div.nav >ul li a 上面的实例来说,浏览器首先会尝试在你的HTML标签中寻找“a”元素,接着在匹配“li和ul”,最后在去匹配“div.nav”。这就是前成所主的“选择器从右到左的原则”。 选择器的最后一部分,也就是选择器的最右边(在这个例子中就是a[title]部分)部分被称为“关键选择器”,它将决定你的选择器的效率如何?是高还是低。 老版本的浏览器可以过滤掉不匹配的选择器,而直接匹配更高效的选择器。记得David Hyatt在《Writing efficient CSS for use in the Mozilla UI》说过:“这个关键选择器可以大大提高选择器的性能,少检查一个给定的元素规则,就可以更有效的将样式匹配给对应的HTML元素。”那么如何让关键选择器更有效,性能化更高呢?其实很简单,主要把握一点“越具体的关键选择器,其性能越高” 那么什么样类型的选择器,其性能高?什么样的类型的选择器性能低呢?下面我们就针对两个问题来展开具体的学习。 CSS选择器的效率 如果你阅读了本站的有关于选择器类型的介绍的话,你对选择器并不会感到陌生。就算你没读过,我想CSS选择器不会让我们觉得是新东西,比如我们常用的基本选择器“元素标签选择器div”、“id选择器#header”、“类选择器.class”,或者说我们很少见的伪类选择器“:focus”以及更复杂的css3选择器“:nth-child”等等。 选择器有一个固有的效率,我们来看Steve Souders给排的一个顺序: id选择器(#myid)类选择器(.myclassname)标签选择器(div,h1,p)相邻选择器(h1+p)子选择器(ul >li)后代选择器(li a)通配符选择器(*)属性选择器(a[rel="external"])伪类选择器(a:hover,li:nth-child) 上面九种选择器的效率是从高到低排下来的,基中ID选择器的效率是最高,而伪类选择器的效率则是最底。详细的介绍大家还可以点击Writing efficient CSS selectors。 综合上面的顺序,我们清楚的知道,id和类名用于关键选择器上效率是最高的,而CSS3的仿伪类和属性选择器,虽然使用方便,但其效率却是最低的。我们下面一起来看几个实例的对比: div #myid 效率要比下面的高: #myid div 第一种选择器比第二种选择器效率高,大家或许会问为什么?其实根据前面所介绍的我们就不难理解了,因为第一个选择器的“关键选择器”使用了 “ID选择器”,而第二个选择器的“关键选择器”使用的是“标签选择器”,对比下来,“ID选择器”效率高过“标签选择器”,所以说第一个选择器的效率要高于第二个选择器。 在类名或ID名前面加上标签也会致使选择器效率变低的,比如说: div #myid 上面两个选择的效率要高于下面的选择器: p#mydiv p.myclassname 来自Mozilla的几点建议 David在《Use efficient CSS selectors》中介绍了几种书写高效率的CSS选择器的方法,下面我将他们移到这里来让大家参考: 写道 1 避免普遍规则 2 不要在ID选择器前加标签名或类名 3 不要在类名选择器前加标签名 4 尽可能使用具体的类别 5 避免使用后代选择器 6 标签分类规则中不应该包含一个子选择器 7 子选择器的问题 8 借助相关继承关系 9 使用范围内的样式表 如果你不够清楚上面所讲的是什么,你可以点击这里,他会让你更容易了解这些规则。 我们应该怎么做 前面说“ID选择器”的效率是最高的,那么今天我们写样式,为了提高选择器的效率,是不是我们要在每一个文档的HTML元素中都加入ID名呢?我想这样的做法是没有的。对于一个有语义的代码编写和如何提高性能,以前他们之间如何的平衡?其实这个选择器的效率低一点,对于大多数网站来说并不会有太大的影响,但对于一个大型的网站,产生大量的流量这就会有差别了,也就很值得我们去对他进行优化。那么我们就很有必要的去了解他们是如何工作,比如说,一般情况下哪些选择器的使用效率更高。来看两个简单的例子: #myid 上面的选择器高于下面的: p#myid 后者的写法我发现还是有很多朋友这样写,但我不知道你为什么需要在ID前面加一个标签?难道你同一个页面会有多个相同的ID不成? 我们接下来在来看一个实例,用于列表上的,比如说我们制作导航菜单的: #nav a 高效于: #nav li a 上面只是介绍了两个常碰到的实例,在这里说这两个实例,主要目的是让你在今后的编写样式时,能注意这方面的的细节,从而加快你的代码效率。css3.0是一个代码样式标准,不是你认为的那种升级标准,只要你写的代码是3.0的代码,能识别3.0的浏览器就会显示,不能识别的话就不能显示,如果真要说升级的话,那是浏览器提供商们升级的问题,所以说3.0css你学会了就可以使用编写代码的,不需要升级
css技巧如何提升
给您推荐相同类型的内容:
电脑软件如何卸载
1.软件正常卸载方法:(1)从开始菜单卸载选择开始按钮 ,然后在显示的列表中查找应用或程序。右键单击应用,然后选择卸载。(2)通过设置页面卸载选择开始按钮 ,然后依次选择设置 >应用>应用和功能。选择要删除的应电脑怎么链接苹果手机热点
1.使用USB数据线连接:如果电脑上已经安装了iTunes,您可以使用USB电缆将iPhone连接到电脑。连接成功后,你可能会看到iPhone上显示“你要信任这台电脑吗,请点击“信任”的提示。并在iPhone控制中心打开蜂窝数据和个人热点,js 函数里面的focus()是干嘛的
在JavaScript中,focus()虽然比较罕见,但还是比较有用的,主要是用于获取焦点,说白了,就是自动把光标放到此组件上面,无须用户再次操作。直接用一个例子说明问题:上述代码,设置在打开网页5秒之后,无须用户操作,focus()方Go 语言前景怎么样,有木有需要 Go 程序员的
GO语言虽然不如Java、Python等语言火热,但在云计算、云存储时代却是最重要的基础编程语言。作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等。在国外,Google、Facebook等公司在使js中怎么把日期转换成数字?
方法主要有二种:转换函数、强制类型转换。具体步骤:一、转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。仅仅有对String类型调用这些方法,这两个函数才干正确执行;如何通过js来获取后台数据
通过js来获取后台数据的方法是采用ajax方式完成的。1、定义页面click按钮,通过此按钮触发ajax异步取后台数据功能<!DOCTYPE html><html><body&am电脑用的音响什么牌子音质好?
不知道您喜欢什么样的音响,预算大概在多少范围呢呢?音响是门高深的学问,需要慢慢来了解,集中大家的智慧会更有效率,让自己成为高手,给您推荐下我喜欢的音响,惠威,丹拿,BT-audio AB HIFI套装,惠威,丹拿明显价格贵,不太适合电脑音响电脑qq怎么截图
电脑是当今时代必不可少的工具。qq截图这个功能在我们工作、聊天都经常用到。功能也十分强大,用起来简单、方便、快捷,打开QQ截图就能用,对付一般应用那是绰绰有余的.了。下面就和我一起看看吧! qq怎么截图? 1.使用键盘快捷键Ctrl仓库管理用什么软件
仓库管理用的软件有:易用仓库管理软件免费版、易速仓库管理软件、简用仓库管理软件、里诺仓库管理软件、仓库管理系统软件。1、易用仓库管理软件免费版它是一款通用性极强的仓库及货物管理软件(仓库软件,仓库管理系统,库房管理系统,仓储管理系统)。c语言程序设计 计算时钟的夹角
根据楼主的意思,以下是完整程序,楼主自行添加case个数限制。有问题请再追问#include <stdio.h>#include <math.h>int h, mdouble calc(i《Go程序设计语言中文版》pdf下载在线阅读全文,求百度网盘云资源
《Go程序设计语言中文版》百度网盘pdf最新全集下载:链接:https:pan.baidu.coms1K2XHYlNbRyQMiBkckaPr7A?pwd=0cii 提取码:0cii简介:本书由《C程序设计语言》的作者Kernig请问怎么在电脑上把手机关机
电脑需要装有itunes和PP助手PC版,连接设备,打开PP助手,待检测到设备后,点击左栏最下方的“更多”,即有“重启”,“注销”,“关机”这三个选项。点击“关机”即可。iTunes 是一款数字媒体播放应用程序,是供 Mac和PC使用的一款R语言是什么?
《R语言4.0.4软件》百度网盘资源免费下载:链接: https:pan.baidu.coms160twe4ScMvIbGm2TI_sjHw?pwd=3ts7 提取码: 3ts7R语言4.0.4是一款专业的统计建模软件,与其它建js方法调用
JS函数的定义与调用方法JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式1.方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this.NET开发是什么?需要用到哪些开发语言?
.NET是微软基于Windows研发的一种开发平台,而.NET开发就是针对Windows平台进行的开发,.NET开发可以用C#语言,VB语言进行开发。.NET平台是基于Windows的开发平台我们平时用的电脑都是装的Windows系统,而.怎么测试电脑的FPS
电脑FPS不稳定的解决方法如下:方法一:更改电源计划1.帧数不稳定很有可能是电源计划没设置好造成的,首先,点击开始菜单。2.点击右侧的“控制面板”。3.在控制面板里,选择“硬件和声音”。4.进入“硬件和声音”之后,点击“电源选项”。5.css 梯形,三角形 实现原理
首先,我们画一个div,给div加上border,看看盒子模型本来的样子 梯形: 由此可见,css绘制的梯形并不是一个容器,只是容器的一条边。css把容器的其余三条边设置为透明的,只显示需要的一条边,就是一个梯形了。 直角梯形移动webapp前端ui用哪个框架好
WeUIWeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、 progress, toast、article、icon等各83-预测分析-R语言实现-神经网络
预测任务:利用建筑物的各种特性,例如表面积和屋顶面积,预测建筑物的能源效率,其中效率以供暖负荷和制冷负荷来表示。 数据集不存在缺失值。 orientation和glazareadist分别表示建筑朝向和玻璃面积分布情况,应该为因子型计算机专业考研基础内容
《2019考研计算机-基础班【完】》百度网盘资源免费下载链接:https:pan.baidu.coms1ho_mjRLYNHXCOZMalgkhjg?pwd=thmu 提取码:thmu2019考研计算机-基础班【完】|2019计算java的主要应用领域有哪些?
在现实社会中有很多地方使用到了Java,从电子商务网站到Androidapps,从科学应用到金融产品,例如电子交易系统,从类似Minecraft的游戏再到Eclipse,Netbeans和IntelliJ的桌面应用,从开源的资源库到J2MEjs判断添加多个标签
js判断添加多个标签js怎么样获取多个标签内容-百度经验1、创建一个test.html文件。2、在文件内,使用ul、li标签创建一个测试的列表,同时创建一个button按钮,用于触发执行js函数。3、在js标签内,百度经验2020-01-1CSS,font-family,好看常用的中文字体
宋体 SimSun 黑体 SimHei 微软雅黑 Microsoft YaHei 微软正黑体 Microsoft JhengHei 新宋体 NSimSun 新细明体 PMingLiU 细明体 MingLiU 标楷电脑网卡驱动如何安装?
网卡驱动安装步骤如下:右键桌面,点击个性化,进入控制面板主页选中管理工具,找到计算机管理,点击其中的设备管理器,找到此选项中的网络适配器,点开网络适配器下方的网卡驱动,找到驱动程序,选择更新驱动程序,在弹出的窗口中点击第一项即可。网卡是工作最常用的办公软件有哪些
1、办公常用软件:WPS可能之前大家都使用的是WORD,不过相对于WORD小编更建议大家使用WPS,因为它是一款办公软件套装,可以实现办公软件最常用的各种功能。2、图片处理软件:PSPS全称PHOTOSHOP,可以帮助我们修复图片以及怎样在js中读出datagrid控件中的值
参考代码如下:这是在GridView里面没有控件的情况下,有控件另当别论 ;var gdview=<%=gridview.ClientID%>gridview是GridView控件的ID 或者 var gdvie笔记本电脑的cpu和显卡可以更换吗?需要注意什么
笔记本电脑的cpu可以更换,但不支持更换显卡。需要注意以下几个方面:1、需要查看cpu的具体类型,注意区分结尾字母是QM或M的则可以更换,结尾字母是Y或U的则不能更换。2、需要注意散热情况,如果换了功率大的cpu还需在BIOS里调整自怎么删除c盘中没用的文件
删除电脑c盘里的垃圾文件的具体操作如下:工具:联想电脑、windows 10。1、打开电脑,同时按下键盘win+R键,出现运行输入框。2、在打开的运行输入框中输入%TEMP%,点击确定。3、点击确定后进去C盘文件,这里的都属于垃圾文件,小米手机3 电池会坏吗?
小米3的电池采用进口锂离子聚合物电芯,可随用随充。小米3的电池为不可拆卸设计,建议用户购买一个移动电源以备不时之需。 锂电池一般能够充放300-500次。最好对锂电池进行部分放电,而不是完全放电,并且要尽量避免经常的完全放电。每完成一个充电迅雷下载文件怎么中途停止转用比特彗星
不能中途转用。迅雷和比特的断点记忆文件编码方式不同,那就意味着不能互传任务。迅雷是迅雷公司开发的一款基于多资源多线程技术的下载软件,作为“宽带时期的下载工具”,迅雷专门针对宽带用户做了优化,并同时推出了“智能下载”的服务。比特星(BitCo