展开全部 首先我们需要清楚,浏览器是如何读取选择器,以识别样式,并将相应的样式附于对应的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技巧如何提升
给您推荐相同类型的内容:
js幻灯片广告切换代码
js幻灯片广告切换代码如下操作。1、下载到的压缩包,上传到网站根目录下。2、解压出来,复制index.html里面的主要代码,插入到网站项目想要放置的位置。3、对插入的代码,根据自己需求对文字以及图片做适当的修改和替换,即可投入到自己网站中css设置全局样式的问题
不要莽撞地使用通配符把所有的标签的margin属性和padding属性都设置为零,css reset还是个挺有技巧的事儿。当然各种框架对于cssreset的方法不太一样。但是既然你又需要用到input的默认属性,就不要最开始把所有都设为0.电脑网卡驱动如何安装?
网卡驱动安装步骤如下:右键桌面,点击个性化,进入控制面板主页选中管理工具,找到计算机管理,点击其中的设备管理器,找到此选项中的网络适配器,点开网络适配器下方的网卡驱动,找到驱动程序,选择更新驱动程序,在弹出的窗口中点击第一项即可。网卡是工作c语言注释
在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:一种是以*开始、以*结束的块注释(block comment);另一种是以开始、以换行符结束的单行注释(line comment)。扩展js方法调用
JS函数的定义与调用方法JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式1.方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,thisjs判断添加多个标签
js判断添加多个标签js怎么样获取多个标签内容-百度经验1、创建一个test.html文件。2、在文件内,使用ul、li标签创建一个测试的列表,同时创建一个button按钮,用于触发执行js函数。3、在js标签内,百度经验2020-01-1c语言程序设计 计算时钟的夹角
根据楼主的意思,以下是完整程序,楼主自行添加case个数限制。有问题请再追问#include <stdio.h>#include <math.h>int h, mdouble calc(idiv+css 列表(项目符号图像)与文字 中线对齐
首先 list-style-image不能设置位置,所以如果要实现你的效果,要把你的项目符号直接做成尺寸刚刚好的,这样个尺寸大小的,但是这样限制性太强,所以还是用背景来做比较方便background:url("..images小米笔记本怎么打开键盘灯呢
一、开启键盘灯方法 1、这里以Win10操作系统为例,点击桌面任务栏底部的“展开”箭头,展开系统托盘图标。 2、在展开的系统托盘图标中,点击“小米游戏盒子”图标,打开小米游戏盒子软件主页面。 3、打开小米游戏盒子软件主页面之后,点击页面左侧什么是javascript注入攻击?
Javascript注入攻击指的是通过在网页地址后加JavaScript代码,影响系统运作。JavaScript注入漏洞能发生作用主要依赖两个关键的动作,一个是用户要能从界面中注入JavaScript到系统的内存或者后台存储系统中;二是系统css 梯形,三角形 实现原理
首先,我们画一个div,给div加上border,看看盒子模型本来的样子 梯形: 由此可见,css绘制的梯形并不是一个容器,只是容器的一条边。css把容器的其余三条边设置为透明的,只显示需要的一条边,就是一个梯形了。 直角梯形电脑怎么学打字比较快
可以用金山打字王来学习和练习。0基础的情况下,通过自学快速掌握键盘打字也是需要下一定的功夫的,首先需要说明的是,键盘上有很多按键,一个键盘具有许多的功能,分为了不同的区域,平常使用最多的是主键盘区,而在电脑上打字使用最多的是主键盘区里标有英请问怎么在电脑上把手机关机
电脑需要装有itunes和PP助手PC版,连接设备,打开PP助手,待检测到设备后,点击左栏最下方的“更多”,即有“重启”,“注销”,“关机”这三个选项。点击“关机”即可。iTunes 是一款数字媒体播放应用程序,是供 Mac和PC使用的一款怎么发QQ空间说说
腾讯QQ空间是腾讯公司于2005年开发出来的一个个性空间,具有博客的功能,是中国最大的社交网络,是QQ用户的网上家园,是腾讯集团的核心平台之一,在QQ空间上发说说的步骤为:在电脑端 1、打开电脑连接网络,双击打开QQ聊天软件,输最常用的办公软件有哪些
1、办公常用软件:WPS可能之前大家都使用的是WORD,不过相对于WORD小编更建议大家使用WPS,因为它是一款办公软件套装,可以实现办公软件最常用的各种功能。2、图片处理软件:PSPS全称PHOTOSHOP,可以帮助我们修复图片以及怎么删除c盘中没用的文件
删除电脑c盘里的垃圾文件的具体操作如下:工具:联想电脑、windows 10。1、打开电脑,同时按下键盘win+R键,出现运行输入框。2、在打开的运行输入框中输入%TEMP%,点击确定。3、点击确定后进去C盘文件,这里的都属于垃圾文件,CSS,font-family,好看常用的中文字体
宋体 SimSun 黑体 SimHei 微软雅黑 Microsoft YaHei 微软正黑体 Microsoft JhengHei 新宋体 NSimSun 新细明体 PMingLiU 细明体 MingLiU 标楷电脑怎么链接苹果手机热点
1.使用USB数据线连接:如果电脑上已经安装了iTunes,您可以使用USB电缆将iPhone连接到电脑。连接成功后,你可能会看到iPhone上显示“你要信任这台电脑吗,请点击“信任”的提示。并在iPhone控制中心打开蜂窝数据和个人热点,83-预测分析-R语言实现-神经网络
预测任务:利用建筑物的各种特性,例如表面积和屋顶面积,预测建筑物的能源效率,其中效率以供暖负荷和制冷负荷来表示。 数据集不存在缺失值。 orientation和glazareadist分别表示建筑朝向和玻璃面积分布情况,应该为因子型怎么测试电脑的FPS
电脑FPS不稳定的解决方法如下:方法一:更改电源计划1.帧数不稳定很有可能是电源计划没设置好造成的,首先,点击开始菜单。2.点击右侧的“控制面板”。3.在控制面板里,选择“硬件和声音”。4.进入“硬件和声音”之后,点击“电源选项”。5.HTML中怎么导入css?
参考以下html导入css的方式:HTML 中引入 CSS 的方式有 4 种方式可以在 HTML 中引入 CSS。其中有 2 种方式是在 HTML 文件中直接添加 CSS 代码,另外两种是引入 外部 CSS 文件。下面我们就来看看这些方式和迅雷下载文件怎么中途停止转用比特彗星
不能中途转用。迅雷和比特的断点记忆文件编码方式不同,那就意味着不能互传任务。迅雷是迅雷公司开发的一款基于多资源多线程技术的下载软件,作为“宽带时期的下载工具”,迅雷专门针对宽带用户做了优化,并同时推出了“智能下载”的服务。比特星(BitCo基础知识 - Golang 中的格式化输入输出
【格式化输出】格式化输出:将 arg 列表中的 arg 转换为字符串输出使用动词 v 格式化 arg 列表,非字符串元素之间添加空格 Print(arg列表)使用动词 v 格式化 arg 列表,所有stp文件是用什么软件打开??
proe软件可以打开stp文件,打开的具体操作步骤如下:1、首先我们打开电脑里的proe软件进入软件主界面。iknow-pic.cdn.bcebos.com8b82b9014a90f60353a37e083712b31bb051ed6adwr框架js函数参数为流时该怎么设置?
1、写好后台代码如下:接受fileTransfer对象,如果上传单个使用单个对象即可public String fileUploadForDwr(ArrayList<FileTransfer>fileTransfer计算机专业考研基础内容
《2019考研计算机-基础班【完】》百度网盘资源免费下载链接:https:pan.baidu.coms1ho_mjRLYNHXCOZMalgkhjg?pwd=thmu 提取码:thmu2019考研计算机-基础班【完】|2019计算电脑软件如何卸载
1.软件正常卸载方法:(1)从开始菜单卸载选择开始按钮 ,然后在显示的列表中查找应用或程序。右键单击应用,然后选择卸载。(2)通过设置页面卸载选择开始按钮 ,然后依次选择设置 >应用>应用和功能。选择要删除的应如何通过js来获取后台数据
通过js来获取后台数据的方法是采用ajax方式完成的。1、定义页面click按钮,通过此按钮触发ajax异步取后台数据功能<!DOCTYPE html><html><body&am移动webapp前端ui用哪个框架好
WeUIWeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、 progress, toast、article、icon等各《元气骑士》付费人物代码是多少?
元气骑士付费人物代码:duoshou、zijiren、100000、dzbkq、51kuaile、skgift、sknight、gjdfcdij856、5bdklolilvlcq、oppo手机端,1000宝石加法师mm皮肤。ltzjr、s