You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-issues@incubator.apache.org by "Simon Lessard (JIRA)" <ad...@incubator.apache.org> on 2006/09/28 12:57:56 UTC

[jira] Commented: (ADFFACES-206) CSS 2 composite selector is not supported in MSIE 6

    [ http://issues.apache.org/jira/browse/ADFFACES-206?page=comments#action_12438430 ] 
            
Simon Lessard commented on ADFFACES-206:
----------------------------------------

I see two possibilities for fixing that:

1) Don't parse out the states off the selector, so af|component:state::subComponent would be turned to .af_component_state_subComponent rather than .af_component_subComponent .p_AFState. That fix would requires decently major rewriting of renderers and CSSGenerator class

2) Alter CSSGenerator to use a different path for MSIE so that composite selectors get reduced to a single selector by pair of two and add code to renderStyleClasses combine the classes accordingly to see if it was defined in the skin.Here's a little example of that solution:

af|myComponent:state1:state2::subComponent

CSS generator first split that into 3 selectors (current behavior):
af|myComponent::subComponent
:state1
:state2

Then sort them alphabetically (will improve performance in the end, especially in renderStyleClasses):
af|myComponent::subComponent
:state1
:state2

Combine the first two:
af|myComponent::subComponent + :state1 become x01 for example

Combine the generated selector with the remaining one
x01 + :state2 become x02

Then, in renderStyleClasses, if the agent is IE, the received array is sorted, all the possible combination of selector get evaluated to see if they were reduced, and apply all the reduced forms.


Anyone has other ideas?

> CSS 2 composite selector is not supported in MSIE 6
> ---------------------------------------------------
>
>                 Key: ADFFACES-206
>                 URL: http://issues.apache.org/jira/browse/ADFFACES-206
>             Project: MyFaces ADF-Faces
>          Issue Type: Bug
>          Components: Skinning
>         Environment: Microsoft Internet Explorer 6 (and most likely older versions as well)
>            Reporter: Simon Lessard
>
> Microsoft Internet Explorer 6 does not support CSS 2 composite selectors, e.g. ".someClass.anotherClass". However, the skinning engine uses those for states mainly. For example, af|component:myState will be parsed to .af_component.p_AFMyState in the generated CSS and the renderer will add both classes on the component.
> MSIE 6 only evaluate the latest class in the classe list when evaluating composite selector which has very bad results for some component.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira