相关疑难解决方法(0)

如何禁用文本选择突出显示?

对于像按钮一样的锚点(例如,Stack Overflow页面顶部的问题,标签,用户等)或标签,如果用户意外选择了文本,是否有一种CSS标准方法来禁用突出显示效果?

我意识到这可以通过JavaScript来完成,并且有点谷歌搜索产生了仅Mozilla -moz-user-select选项.

是否有符合标准的方法来实现CSS,如果没有,那么"最佳实践"方法是什么?

css cross-browser highlight textselection

4937
推荐指数
43
解决办法
179万
查看次数

为什么浏览器从右到左匹配CSS选择器?

CSS选择器由浏览器引擎从右到左匹配.因此,他们首先找到孩子,然后检查他们的父母,看看他们是否符合规则的其余部分.

  1. 为什么是这样?
  2. 是因为规范说的吗?
  3. 如果从左到右进行评估,它是否会影响最终布局?

对我来说,最简单的方法是使用元素数量最少的选择器.首先是ID(因为它们应该只返回1个元素).然后可能是类或具有最少节点数的元素 - 例如,页面上可能只有一个跨度,因此可以使用引用跨度的任何规则直接到达该节点.

以下是备份我的说法的一些链接

  1. http://code.google.com/speed/page-speed/docs/rendering.html
  2. https://developer.mozilla.org/en/Writing_Efficient_CSS

这听起来像这样做是为了避免必须看到父母的所有孩子(可能是很多孩子),而不是一个孩子的所有父母必须是一个孩子.即使DOM很深,它也只会在每个级别查看一个节点而不是RTL匹配中的多个节点.评估CSS选择器LTR或RTL更容易/更快?

html css browser css-selectors

543
推荐指数
3
解决办法
7万
查看次数

CSS组合子优先?

是否优先考虑组合者

a > b ~ c d
Run Code Online (Sandbox Code Playgroud)

(注之间的空间c,并d为后代组合子)

或者只是从左到右阅读,就像

((a > b) ~ c) d
Run Code Online (Sandbox Code Playgroud)

css css-selectors

46
推荐指数
1
解决办法
7123
查看次数

通过指定element.class {...} vs .class {...}获得性能提升?

如果我知道一个特定的类只会用在div或p上,那么通过指定div.class或p.class而不仅仅是.class,对性能是否有最轻微的影响?

css optimization performance

7
推荐指数
2
解决办法
1223
查看次数

在序列中排序简单的选择器

这仅仅是一个关于良好实践的概念性问题.


问题很简单.是否有任何"正确"的方式来订购jQuery/CSS选择器的部分?例如,假设我有一个具有以下属性的元素:

<div class="red green blue" id="someDiv" anAttr="something">
Run Code Online (Sandbox Code Playgroud)

为了更好地衡量,我们也会在它被徘徊时瞄准它.


以下选择器之间有什么区别吗?:

div.red.green.blue#someDiv[anAttr='something']:hover
div#someDiv.red.green.blue[anAttr='something']:hover
div.red#someDiv[anAttr='something']:hover.blue.green
div[anAttr='something'].blue:hover#someDiv.red.green
Run Code Online (Sandbox Code Playgroud)

意思是,目标的顺序是否重要,真的吗?或者我可以把它们放在任何 - 我想要的顺序?

根据这个JSFiddle,他们都在技术上工作.

css jquery css-selectors jquery-selectors

7
推荐指数
1
解决办法
402
查看次数

根据计算复杂性选择有效的选择器

鉴于CSS处理细节,最值得注意的是RTL匹配选择器效率,如何从渲染引擎性能的角度纯粹编写选择器?

这应该涵盖一般方面,包括使用或避免伪类,伪元素和关系选择器.

css performance css-selectors

6
推荐指数
1
解决办法
647
查看次数

是否在选择器的其余部分之前评估了动态伪类?

据我所知,CSS选择器从右到左进行评估,因此body div *会选择每个项目,而不是具有div类型的父项和具有body类型父项的项目.我不确定的是如何在这个链中评估动态伪类.

如果我有一个选择器div *:hover,评估会如何?

  1. :hover=> *=>div
  2. *=> :hover=>div
  3. 另一个我没想到的解决方案

css performance css-selectors pseudo-class

5
推荐指数
1
解决办法
103
查看次数

:最后类型的伪类不按预期行事

我正在申请:last-of-type一个应该是这样的元素.div.infohttp://www.elemovements.com上查看决赛(这是每篇文章的最低信息).为什么不起作用?

css css-selectors pseudo-class css3

2
推荐指数
1
解决办法
5449
查看次数

CSS 选择器中的标签名称(例如 div#id):如何读取?(从左到右还是从右到左?)

所以我看到了几篇关于 CSS 优化的文章:

显然 CSS 是从右向左读取的。这意味着div table a读起来就像:首先a检索页面上的所有元素,然后table检索其中包含 a 的所有元素(对吗?),然后检索div包含这两个元素的所有元素(对吗?)。

我在任何地方都找不到答案的问题是:CSS 规则是如何div#div_id解析的?首先是否解析 id 为“div_id”的所有元素,然后应用过滤器从这堆 #div_id 元素中获取所有div元素?或者首先div解析所有元素,然后应用过滤器来获取 id 为“div_id”的所有内容?

我提到的第一篇文章说CSS中推荐的效率顺序是:#id>>.class>tag>rest。但是关于tag#id

澄清一下:我喜欢输入div#div_id只是为了让自己清楚 #div_id 适用于某个div元素,而不必查找 HTML 来找出我正在查看哪个元素的样式,但我不想这样使用它如果这会降低我网站的性能,那么推荐的编写规则的方式是什么?我应该将标签放入选择器中吗?真的有那么贵吗?

答案

答案是,正如 jbutler483 所说:省略标签名称会更快。如果您想澄清正在设计的元素,请不要使用div#my_idbut #div_my_id。如果您不太关心性能,您仍然可以使用div#my_id,但它会慢一些(但您可以问问自己它是否真的会对您的应用程序产生那么大的影响)。

css performance css-selectors

-1
推荐指数
1
解决办法
4100
查看次数