I don't think this will work, since the '.' before the af|myComponent will screw things up. It's like putting a '.' before a SPAN or a P since
the key af|myComponent is essentially an 'element' in CSS terms.

.CustomStyleClass.P (doesn't work)

Instead you do flip it around:


af|myComponent .CustomStyleClass {
  /* styles for the root element */
}

af|myComponent .CustomStyleClass af|myComponent::sub-element {
  /* styles for the sub element */
}

Again, composite selectors do not work in IE6, but they do work in IE7.

- Jeanne

Matt Cooper wrote:
Hi Andrew,

Since styleClass applies to the root element of a component, your definitions could be something like this:

.CustomStyleClass.af|myComponent {
  /* styles for the root element */
}

.CustomStyleClass.af|myComponent af|myComponent::sub-element {
  /* styles for the sub element */
}

This way your definitions will not apply to that component unless it has styleClass="CustomStyleClass" assigned.

There is one danger here though... if <af:myComponent> contains another <af:myComponent> somewhere in its child subtree, those children may end up inheriting your custom styles too.

Regards,
Matt

On 8/15/07, Andrew Robinson <[EMAIL PROTECTED]> wrote:
I am trying to write my own skin for my application. In this
application, I may want to have tab panels that look different. I see
that for example, the following skin selector exists:

af|panelTabbed::tab-selected

How can I style the selected tab of the following:

<tr:panelTabbed styleClass="myTabs">

Is it something like:

af|panelTabbed::tab-selected .myTabs?

I'm just not sure how the skin selectors work with "normal" css
selectors that will get output to the client.

If there is a good skin reference out there, that would be helpful
too. I did find one on Oracle's site, but it didn't talk about
combining controls with specified style classes that I could tell.

Thanks,
Andrew

Reply via email to