myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeanne Waldman (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (TRINIDAD-205) Need to avoid IE's number of CSS selectors limitation
Date Fri, 12 Sep 2008 16:33:44 GMT

    [ https://issues.apache.org/jira/browse/TRINIDAD-205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630619#action_12630619
] 

Jeanne Waldman commented on TRINIDAD-205:
-----------------------------------------

Hi Simon
I tested this patch in IE by creating a simple skin with a few selectors in it, then I added
4095 selectors to this skinning css file.
.SomeStyleTwo0, .SomeStyleTwo1, ...,
.SomeStyleTwo4091, .SomeStyleTwo4092, .SomeStyleTwo4093, .SomeStyleTwo4094{color: purple;
padding: 15px}
.SomeStyle4095 {color: pink; padding: 15px}

And I see two generated css files as expected, but I see that too many selectors are generated
in each file, and I get this error at the bottom of the first file.

/* The number of CSS selectors in this file is 5584 */
/* ERROR: The number of CSS selectors is more than IE's limit of 4095. The selectors after
that will be ignored. */

I'm wondering if you know why this is. 

Thanks,
Jeanne

> Need to avoid IE's number of CSS selectors limitation
> -----------------------------------------------------
>
>                 Key: TRINIDAD-205
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-205
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions: 1.0.1-incubating-core-SNAPSHOT
>            Reporter: Jeanne Waldman
>            Assignee: Simon Lessard
>             Fix For: 1.2.10-core, 1.0.10-core
>
>         Attachments: TRINIDAD-205.patch
>
>
> it turns out that IE has a limit to the size of a CSS file. It's not the actual size
of the file, but rather it is the
> # of CSS selectors. I did a test and found out that the limit is 4095 CSS selectors.
> Firefox doesn't appear to have a limit.
> As you may know, the CSS file we generate contains both compressed and uncompressed styles,
like this:
> .af_inputText_content, .x01 {background-color: blue}
> Our renderers render a shortened styleclass, unless
> the DISABLE_CONTENT_COMPRESSION flag is set to true in web.xml, then it renders the long
styleclass.
> <input class="x01...>
> Ok, that's the background.
> *The problem* is that because we have a lot of custom components that we've built on
top of Trinidad, and our customers
> have built custom components, etc, and these all have skinning,
> we have bumped up against the 4095 selector limit in IE. All selectors after the 4095th
one are ignored.
> *A quick fix*, and probably a good one for a long time, is to render the styles in compressed
mode when compression is on,
> or in uncompressed mode when compression if off. That will reduce our style selectors
by 1/2, and will help performance to boot. :)
> I can also add a warning if we go past 4095 selectors for IE.
> Another solution is to break up the file into multiple files when I've reached the limit
in one file, and include
> all the css files into the rendered page. I can do this in addition to the quick fix
when I have more time.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message