2011-05-04 86 views
0

我认为这是一个!important问题。我有一组覆盖这样的对话:在Facebook上只有无限扩展高度的对话框覆盖

.ui-widget-overlay 
{ 
    width: 518px !important; 
} 

叠加的高度会在我的javascript根据页面大小就是设置(可以是两种尺寸之一)

 if (!placeHolderVisibility) { 
      //Code 

      $('.ui-widget-overlay').addClass('overlayLarge'); 
     } else { 
      //Code 

      $('.ui-widget-overlay').addClass('overlaySmall'); 
     } 

这里是overlaySmalloverlayLarge CSS:

.overlaySmall 
{ 
    height: 985px !important; 
} 

.overlayLarge 
{ 
    height: 1167px !important; 
} 

我有对话框的其他页面和他们没有问题。

.ui-widget-overlay 
{ 
    height: 413px !important; 
    width: 510px !important; 
} 

当我试图检查的萤火覆盖我注意到!important是不是在CSS,但我不能获得初始高度(它扩展为快)

编辑我认为它是一个Facebook问题与他们的自动调整大小

FB.init({ appId: appid, status: true, cookie: true, xfbml: true }); 
     FB.Canvas.setAutoResize(); //<-- Something wrong with this maybe?? 

有什么建议吗?

+0

你为什么使用'!important'?更好的替代品通常是一个糟糕的主意。 – 2011-05-04 17:31:47

+0

我需要使用'!important',因为如果我不这样做,那么大小永远不会被覆盖。 – 2011-05-04 17:42:30

+0

...只是因为'.ui-widget-overlay'使用'!important'。 – 2011-05-04 17:45:02

回答

0

Copypasta'd在OP的要求:

你为什么要使用!important?更好的替代品通常是一个糟糕的主意。

您只需要使用比jQuery更具体的CSS选择器,或者使用完全相同的选择器,但要确保CSS来自jQuery之后。使用!important可以打破CSS的自然级联,并使维护变得更加困难(正如您亲身经历的那样)。