
GITHUB . COM {
}
Detected CMS Systems:
- Wordpress (2 occurrences)
Title:
[selectors-4] reconsider specificity rule for :matches() · Issue #1027 · w3c/csswg-drafts
Description:
The rules on specificity in selectors-4 say: The specificity of a :matches() pseudo-class is replaced by the specificity of its selector list argument. (The full selector’s specificity is equivalent to expanding out all the combinations ...
Website Age:
17 years and 8 months (reg. 2007-10-09).
Matching Content Categories {📚}
- Dating & Relationships
- Education
- Technology & Computing
Content Management System {📝}
What CMS is github.com built with?
Github.com uses WORDPRESS.
Traffic Estimate {📈}
What is the average monthly size of github.com audience?
🚀🌠 Tremendous Traffic: 10M - 20M visitors per month
Based on our best estimate, this website will receive around 10,000,019 visitors per month in the current month.
However, some sources were not loaded, we suggest to reload the page to get complete results.
check SE Ranking
check Ahrefs
check Similarweb
check Ubersuggest
check Semrush
How Does Github.com Make Money? {💸}
Subscription Packages {💳}
We've located a dedicated page on github.com that might include details about subscription plans or recurring payments. We identified it based on the word pricing in one of its internal links. Below, you'll find additional estimates for its monthly recurring revenues.How Much Does Github.com Make? {💰}
Subscription Packages {💳}
Prices on github.com are in US Dollars ($).
They range from $4.00/month to $21.00/month.
We estimate that the site has approximately 4,989,889 paying customers.
The estimated monthly recurring revenue (MRR) is $20,957,532.
The estimated annual recurring revenues (ARR) are $251,490,385.
Wordpress Themes and Plugins {🎨}
What WordPress theme does this site use?
It is strange but we were not able to detect any theme on the page.
What WordPress plugins does this website use?
It is strange but we were not able to detect any plugins on the page.
Keywords {🔍}
specificity, matches, selector, selectors, selenit, list, complex, commented, element, loirooriol, span, rule, expanding, pseudoclass, performance, elements, match, matchesa, div, reconsider, issue, dbaron, argument, matching, menu, sign, full, combinations, matched, combinators, possibility, compound, problems, current, collaborator, provide, syntactic, sugar, arguments, expanded, verbose, foo, issues, projects, rules, equivalent, isnt, clear, make, requires,
Topics {✒️}
produce exponentially-long selectors [selectors] functional pseudo-class selenit edits collaborator shortening long lists �functional pseudo-class performance-sensitive cases normal pseudo-class solely syntactic sugar selectors list specificity substantive performance implications [css-scoping-1] specificity comment metadata assignees type projects pseudo-class selector projects milestone selector list argument highest specificity form complex selector arguments selector list requires maintain equivalent specificities specificity rule search solutions loirooriol mentioned complex selectors compound selectors usual selectors individual selectors clarity issue terms reconsider long list implementations match combinators pseudo-class pseudo class syntactic sugar performance implications work pseudo-classes maintain consistency complex arguments selector list dbaron rule highest-specificity complex selector expanded form specific argument good idea implementations calculated
Payment Methods {📊}
- Braintree
Questions {❓}
- @dbaron, could you please provide an example of this possibility?
- Already have an account?
- Also, given that :matches() has already been implemented in WebKit for about a year and a half, maybe they can provide some feedback about how they dealt with these issues?
- Am I wrong?
- Do I miss something?
- Maybe @victoriasu can provide some details from the implementer's perspective?
- The last option looks promising because the specificity of the selector can be determined without expanding it, but would it play a significant role in practice?
- [css-scoping-1] Specificity of :host, ::slotted, and :host-context doesn't seem to be defined?
- Could you please provide an example of this possibility?
Schema {🗺️}
DiscussionForumPosting:
context:https://schema.org
headline:[selectors-4] reconsider specificity rule for :matches()
articleBody:The [rules on specificity](https://drafts.csswg.org/selectors-4/#specificity-rules) in selectors-4 say:
> The specificity of a :matches() pseudo-class is replaced by the specificity of its selector list argument. (The full selector’s specificity is equivalent to expanding out all the combinations in full, without :matches().)
I just realized two things:
1. this isn't worded in a particularly clear way
2. I'm actually someone nervous about the performance implications of the only logical way to make it clearer.
What is unclear, I think, is that the concept of specificity of a selector list requires both a selector list *and* an element being matched, since it uses the highest specificity form *that matches the element*. The algorithm doesn't make it clear that the element being matched is passed to the algorithm.
But that, in turn, pointed out to me that since `:matches()` can appear anywhere in a selector (between combinators), there might be multiple elements that could match a given matches. In order to not expose the *order* in which an implementation searches the subtree to find the set of elements that match the combinators, the specification also needs to require that the specificity of a complex selector be the highest-specificity way of matching that complex selector. This is because the new rule for `:matches()` introduces the possibility that different ways of matching a complex selector (i.e., pairings between elements and the compound selectors in the complex selector) have different specificity.
This, in turn, requires changes to how implementations match combinators, so that they search the tree for the highest-specificity way. I believe this may have substantive performance implications for at least some combinations of combinators, although I haven't actually worked the problem through yet. Somebody should!
This, in turn, makes me wonder whether we should reconsider whether the new specificity rule for `:matches()` is actually a good idea. (Another option is marking it at risk, but that has its own problems.)
If we do keep it, I'd like to ensure we add tests that exercise the performance-sensitive cases.
author:
url:https://github.com/dbaron
type:Person
name:dbaron
datePublished:2017-02-11T20:40:11.000Z
interactionStatistic:
type:InteractionCounter
interactionType:https://schema.org/CommentAction
userInteractionCount:30
url:https://github.com/1027/csswg-drafts/issues/1027
context:https://schema.org
headline:[selectors-4] reconsider specificity rule for :matches()
articleBody:The [rules on specificity](https://drafts.csswg.org/selectors-4/#specificity-rules) in selectors-4 say:
> The specificity of a :matches() pseudo-class is replaced by the specificity of its selector list argument. (The full selector’s specificity is equivalent to expanding out all the combinations in full, without :matches().)
I just realized two things:
1. this isn't worded in a particularly clear way
2. I'm actually someone nervous about the performance implications of the only logical way to make it clearer.
What is unclear, I think, is that the concept of specificity of a selector list requires both a selector list *and* an element being matched, since it uses the highest specificity form *that matches the element*. The algorithm doesn't make it clear that the element being matched is passed to the algorithm.
But that, in turn, pointed out to me that since `:matches()` can appear anywhere in a selector (between combinators), there might be multiple elements that could match a given matches. In order to not expose the *order* in which an implementation searches the subtree to find the set of elements that match the combinators, the specification also needs to require that the specificity of a complex selector be the highest-specificity way of matching that complex selector. This is because the new rule for `:matches()` introduces the possibility that different ways of matching a complex selector (i.e., pairings between elements and the compound selectors in the complex selector) have different specificity.
This, in turn, requires changes to how implementations match combinators, so that they search the tree for the highest-specificity way. I believe this may have substantive performance implications for at least some combinations of combinators, although I haven't actually worked the problem through yet. Somebody should!
This, in turn, makes me wonder whether we should reconsider whether the new specificity rule for `:matches()` is actually a good idea. (Another option is marking it at risk, but that has its own problems.)
If we do keep it, I'd like to ensure we add tests that exercise the performance-sensitive cases.
author:
url:https://github.com/dbaron
type:Person
name:dbaron
datePublished:2017-02-11T20:40:11.000Z
interactionStatistic:
type:InteractionCounter
interactionType:https://schema.org/CommentAction
userInteractionCount:30
url:https://github.com/1027/csswg-drafts/issues/1027
Person:
url:https://github.com/dbaron
name:dbaron
url:https://github.com/dbaron
name:dbaron
InteractionCounter:
interactionType:https://schema.org/CommentAction
userInteractionCount:30
interactionType:https://schema.org/CommentAction
userInteractionCount:30
External Links {🔗}(5)
- How much money does https://github.blog make?
- How much revenue does https://drafts.csswg.org/selectors-4/#specificity-rules produce monthly?
- How much revenue does https://webkit.org/blog/3615/css-selectors-inside-selectors-discover-matches-not-and-nth-child/ generate?
- What are the earnings of https://jsfiddle.net/victoriaytsu/vwsfsfr6/?
- Profit of https://www.githubstatus.com/
Analytics and Tracking {📊}
- Site Verification - Google
Libraries {📚}
- Clipboard.js
- D3.js
- Lodash
Emails and Hosting {✉️}
Mail Servers:
- aspmx.l.google.com
- alt1.aspmx.l.google.com
- alt2.aspmx.l.google.com
- alt3.aspmx.l.google.com
- alt4.aspmx.l.google.com
Name Servers:
- dns1.p08.nsone.net
- dns2.p08.nsone.net
- dns3.p08.nsone.net
- dns4.p08.nsone.net
- ns-1283.awsdns-32.org
- ns-1707.awsdns-21.co.uk
- ns-421.awsdns-52.com
- ns-520.awsdns-01.net