There was a recent fix for the @agent/@platform for icons.
Carsten Pieper wrote, On 2/11/2008 5:42 AM PT:
And again...
Browser hacks don't help with skinning icons! Which isn't too surprising
when
you consider how icon skinning things are treated...
For example I have the following:
/* This looks fine in IE6 but not in FF2. In FF2 "margin-top: -12px" would
have been appropriate. Note: @agent doesn't work for icons... */
af|inputDate::launch-icon {
content: url(/css/images/dateInput.gif);
margin-top: -3px;
margin-left: -9px;
}
Those settings don't end up in the generated .css files but in the rendered
pages source code :
/jsf-prototype/css/images/dateInput.gif
Thus, whatever browser hack you might try (e.g. "* html
af|inputDate::launch-icon ...)
- and which well makes it to the generated .css - is overwritten by the
img's
style-attribute :-(
Has anyone have any clue how to skin icons for different browsers currently?
Thanks, Carsten
Carsten Pieper wrote:
Myself back again,
some new knowledge on the topic:
I tested the browser hacks on a global selector (.AFDefaultFont:alias).
For
those, the hacks didn't work as I reported in my first posting.
I jsut noticed today, that on "normal" selectors, they're working fine.
Example:
* html af|panelHeader::level-one {
color: magenta;
}
Et voilĂ , a magenta colored heading text appears in IE6.
Further investigation showed, that the appearance of the ":alias"
pseudo-class breaks the browser hacks. It's not only a problem of those
global selectors (see
http://myfaces.apache.org/trinidad/skin-selectors.html#Global%20Selectors)
but of one's own :alias stuff as well...
The bottom line is, that those browser hacks have to be introduced on
"feature level".
A question to the experts: Has this been done purposely or unconsciously?
Should this
behaviour be changed? Or do you feel it shouldn't be touched as browser
hacks won't be
needed anymore once http://issues.apache.org/jira/browse/TRINIDAD-495
(@platform
support for skinning icons) and
http://issues.apache.org/jira/browse/TRINIDAD-799
(Add agent version support in skinning) are resolved?
Thanks, Carsten
Carsten Pieper wrote:
Hi,
in some cases the nice @agent feature can't help your skinning efforts
for
different browsers, for example if you want to
differentiate between different versions of Internet Explorer (see this
thread:
http://www.nabble.com/Skinning-for-specific-%40agent-_versions_---to13572999.html)
or if you want to skin icons (see
http://myfaces.apache.org/trinidad/devguide/skinning.html,
section Skinning CSS features).
In these cases, I planned to fall back on those nasty browser hacks but
they seem to
be ignored by the Trinidad skinning (I'm on Trinidad 1.0.5), i.e. I can't
see any
effects (neither in the rendered pages nor in the generated CSS).
I tried the "star html hack" (to include CSS in IE <= 6)
* html .mySelector {...}
as well as the "negation pseudo class hack" (to exclude CSS from IE)
html:not([dummy]) .mySelector {...}
In the above mentioned forum thread Sven gave an example for
star html hack usage in a Trinidad style sheet
(http://www.nabble.com/Skinning-for-specific-%40agent-_versions_---to13572999.html#a13590541).
I tried the CSS snippet given there, too, but to no avail...
To give another simple example. Assume that I might want my default font
size to
be bigger in IE (no, I don't really want that, just to keep the example
simple; in reality I want to skin icons...)
/* general setting */
.AFDefaultFont:alias {font-size: 12px;}
/* make it bigger for IE */
@agent ie {
.AFDefaultFont:alias {font-size: 15px;}
}
This works fine, as described in the Developer's Guide. However, if I
replace the @agent with the star html hack I see no effects:
/* the star html hack, doesn't work for me here */
* html .AFDefaultFont:alias {
font-size: 15px;
}
Do you have any ideas? Any hint appreciated!
Thanks, Carsten