- From: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- Date: Thu, 08 Mar 2012 13:27:38 +0100
- To: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- CC: Boris Zbarsky <bzbarsky@MIT.EDU>, public-html@w3.org
On 2012-03-08 01:58, Leif Halvard Silli wrote:
> Boris Zbarsky, Wed, 07 Mar 2012 16:52:46 -0500:
>> For descendants of the<p>, I would think that the cascade order should be:
>>
>> 1) Global stylesheets
>> 2) Styles from "a" and "c" (sorted by specificity, etc)
[Edit: Normal styles from "b"]
>> 3) !important styles from "b"
>> 4) !important styles from "a" and "c" (sorted by specificity)
>> 5) !important global styles
>>
>> Thoughts?
Why is the priority of the !important rules reversed? Why should an
!important global rule override an !important scoped rule?
I would expect this to work:
<style>
p { color: red !important; }
</style>
<div>
<style scoped>
p { color: green !important; }
</style>
<p>This line should be green.</p>
</div>
This would require the weights to be determined like this:
1. user agent declarations
2. user normal declarations
3. author normal declarations:
a) From global styles
b) From scoped styles (ordered hierarchically)
4. author important declarations
a) From global stylesheets
b) From scoped stylesheets (ordered hierarchically)
5. user important declarations
> Which makes me wonder: What's the problem<style scope> is supposed to
> solve? Isn't the purpose to *override* the effect of the cascade?
No. The purpose is only to prevent styles from leaking to elements
outside of the specified scope.
--
Lachlan Hunt - Opera Software
http://lachy.id.au/
http://www.opera.com/
Received on Thursday, 8 March 2012 12:28:07 UTC