Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7399915
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T04:07:24+00:00 2026-05-29T04:07:24+00:00

I am trying to get my fancy CSS3 redesign working for a GWT app,

  • 0

I am trying to get my fancy CSS3 redesign working for a GWT app, but none of the CSS3Pie vml objects seems to be displaying correctly when they are applied to a GWT DialogBox Caption. Furthermore, any content inside a DialogBox or PopupPanel, such as a GwtButton, are not getting their CSS3Pie properly applied (even though those same GwtButtons work just fine everywhere but popups).

My assumption is that the way that GWT manipulates the DOM and the CSS styles for the popup is causing all the styles to get fubared. CSS3Pie is definitely properly getting attached to those elements, as the background colour and border styles are being removed, and the css3-container elements are being added.

Here is the CSS that is applied to the DialogBox

.gwt-PopupPanel,.gwt-DecoratedPopupPanel,.gwt-DialogBox,.gwt-SuggestBoxPopup
    {
    z-index: 999;
}

.gwt-PopupPanelGlass {
    background: #000;
    opacity: 0.3;
    filter: alpha(opacity = 30);
    z-index: 990;
}

.gwt-DialogBox .dialogTopCenterInner{
}

/** Copied from titled region **/
.gwt-DialogBox .Caption {
    padding: 8px 0 0 14px;
    background: #6c6d70;
    background: -moz-linear-gradient(#6c6d70, #595a5c);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6c6d70), color-stop(100%,#595a5c));
    background: -webkit-linear-gradient(#6c6d70, #595a5c);
    background: -o-linear-gradient(#6c6d70, #595a5c);
    background: -ms-linear-gradient(#6c6d70, #595a5c);
    background: linear-gradient(#6c6d70, #595a5c);
    height: 25px;
    border: 1px solid #4a4a4a;
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
    -webkit-box-shadow: inset 0 1px 1px #8e8f93;
    -moz-box-shadow: inset 0 1px 1px #8e8f93;
    box-shadow: inset 0 1px 1px #8e8f93;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    cursor: move;

    -pie-background: linear-gradient(#6c6d70, #595a5c);
    position: relative;
    behavior: url(/resources/css/PIE.htc);
}

.gwt-DialogBox .dialogContent {
    border: 1px solid #6a6a6a;
    border-top: none;
    background: #f9f9f9;
    padding: 10px;
}

And here is the generated HTML for the dialog box, taken from IE Developer Toolbar.

<DIV style="CLIP: rect(auto,auto,auto,auto); POSITION: absolute; VISIBILITY: visible; OVERFLOW: visible; TOP: 374px; LEFT: 743px" class=gwt-DialogBox __eventBits="124"><DIV>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR class=dialogTop>
<TD class=dialogTopLeft>
<DIV class=dialogTopLeftInner></DIV></TD>
<TD class=dialogTopCenter>
<DIV class=dialogTopCenterInner>
<css3-container style="Z-INDEX: auto; POSITION: absolute; DIRECTION: ltr; TOP: 0px; LEFT: 0px"><background style="POSITION: absolute; TOP: 0px; LEFT: 0px"><group2><?xml:namespace prefix = css3vml ns = "urn:schemas-microsoft-com:vml" /><css3vml:shape style="POSITION: absolute; WIDTH: 413px; HEIGHT: 35px; BEHAVIOR: url(#default#VML); TOP: 0px; LEFT: 0px" coordsize = "826,70" coordorigin = "1,1" fillcolor = "#6c6d70" stroked = "f" path = " m0,10 qy10,0 l816,0 qx826,10 l826,70 qy826,70 l0,70 qx0,70 x e"><css3vml:fill></css3vml:fill><css3vml:fill></css3vml:fill></css3vml:shape></group2></background><border style="POSITION: absolute; TOP: 0px; LEFT: 0px"><css3vml:shape style="POSITION: absolute; WIDTH: 413px; HEIGHT: 35px; BEHAVIOR: url(#default#VML); TOP: 0px; LEFT: 0px" coordsize = "826,70" coordorigin = "1,1" filled = "f" stroked = "t" strokecolor = "#4a4a4a" strokeweight = ".75pt" path = " m1,10 qy10,1 l816,1 qx825,10 l825,70 qy826,69 l0,69 qx1,70 x e"><css3vml:stroke></css3vml:stroke><css3vml:stroke></css3vml:stroke></css3vml:shape></border></css3-container>
<DIV class="Caption pie_first-child pie_first-child" _pieId="_208">Change Region</DIV></DIV></TD>
<TD class=dialogTopRight>
<DIV class=dialogTopRightInner></DIV></TD></TR>
<TR class=dialogMiddle>
<TD class=dialogMiddleLeft>
<DIV class=dialogMiddleLeftInner></DIV></TD>
<TD class=dialogMiddleCenter>
<DIV class="dialogMiddleCenterInner dialogContent">
    Fancy content here.
</DIV>
</TD>
<TD class=dialogMiddleRight>
<DIV class=dialogMiddleRightInner></DIV></TD></TR>
<TR class=dialogBottom>
<TD class=dialogBottomLeft>
<DIV class=dialogBottomLeftInner></DIV></TD>
<TD class=dialogBottomCenter>
<DIV class=dialogBottomCenterInner></DIV></TD>
<TD class=dialogBottomRight>
<DIV class=dialogBottomRightInner></DIV></TD></TR></TBODY></TABLE></DIV></DIV>

Here are some things I have tried:

  • Copying and pasting the HTML into the page instead of letting GWT manipulate the DOM css3 properties work
  • Custom popups that use absolute positioning and custom hide/show code css3 properties work
  • Applying position:relative has fixed some css3pie properties in other places, but has no effect here

Has anyone successfully got GWT PopupPanel and DialogBox to work with CSS3Pie? This project seems to indicate that someone has. What am I missing?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T04:07:24+00:00Added an answer on May 29, 2026 at 4:07 am

    I have tracked down the problem to the way that PopupPanel shows/hides itself, which affects the other subclasses (like DialogBox). It uses the CSS property “visibility” to toggle hiding and showing itself. So it makes itself visibility:hidden; to hide and visibility:visible; to show.

    Unfortunately, this doesn’t play nice with the Internet Explorer event model. When a parent’s visibility css property is changed, internet explorer doesn’t notify its children about the property change events. CSS3Pie adds onPropertyChange handlers to the elements that its working with, and expects that when a style changes, it will be notified. Since the internet explorer doesn’t propagate the event to the child, there is no way for CSS3Pie to know about the change, it no way for it to update its rendering.

    You can manually override this by the following:

    1. Create a DialogBox with a rounded-border div to it
    2. Call DialogBox#show#
    3. The dialog box should be shown, but the CSS3 rounder-border will be missing
    4. Open Internet Explorer developer tools (Press F12)
    5. Refresh the IE developer tools (took me awhile to figure this out)
    6. Inspect the rounded-border box, and uncheck the “behavior” property
    7. CSS3Pie detaches, and non-rounded borders should appear
    8. Re-enable the “behavior” property
    9. Fixed! CSS3Pie re-renders the display value

    You can call this static method on a PopupPanel to get CSS3Pie to re-render all its children, and fix the problem once and for all.

    public static void resetChildrenCss3PieBehaviour(final Element e) {
        // Only run this for IE 8 and 9
        String userAgent = Navigator.getUserAgent().toLowerCase();
        if (userAgent.contains("msie")) {
            NodeList<Node> childNodes = e.getChildNodes();
            int length = childNodes.getLength();
            for (int i = 0; i < length; i++) {
                Node node = childNodes.getItem(i);
                if (node instanceof Element) {
                    final Element child = (Element) node;
                    // Recursive part happens here
                    resetChildrenCss3PieBehaviour(child);
                }
            }
    
            // Refresh the CSS3Pie behavior
            e.getStyle().setProperty("behavior", "none !important");
            Scheduler.get().scheduleDeferred(new Command() {
                @Override
                public void execute() {
                    e.getStyle().setProperty("behavior", Css3Pie.getPieCssProp());
                }
            });
    
        }
    }
    

    For your code, if you can use display:none; instead of visibility:hidden;, then IE plays nicely with event propagation, and this kind of hack isn’t needed.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Trying to get an ASP application deployed; it worked for a while but then
Trying to get this example working from http://www.munna.shatkotha.com/blog/post/2008/10/26/Light-box-effect-with-WPF.aspx However, I can't seem to get
I may be trying to get too fancy on this one. I have a
I am trying to get an ASP.Net MVC2 app to display a simple custom
I'm working on a Griffon app, using IntelliJ, and I'm trying to use the
I'm trying to get ERB templates 'working' in Emacs 22 and 23 (two different
I have been working on a fancy router/dispatcher class for weeks now trying to
I am trying to get xdebug working with eclipse (3.5) / php (on xampp
I'm trying get values from a GridView using the following code: foreach (GridViewRow row
Trying to get my css / C# functions to look like this: body {

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.