Диалоговое наложение с бесконечно увеличивающейся высотой только в Facebook - PullRequest
0 голосов
/ 04 мая 2011

Я думаю, что это !important проблема. У меня есть диалог с установленным наложением, как это:

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

Высота наложения будет установлена ​​в моем Javascript в зависимости от размера страницы (это может быть один из двух размеров)

        if (!placeHolderVisibility) {
            //Code

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

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

Вот overlaySmall и overlayLarge css:

.overlaySmall
{
    height: 985px !important;
}

.overlayLarge
{
    height: 1167px !important;
}

У меня есть другие страницы с диалоговыми окнами, и у них нет проблемы.

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

Когда я пытаюсь проверить наложение в firebug, я замечаю, что !important отсутствует в css, но я не могу получить начальную высоту (она быстро увеличивается)

Редактировать Я думаю, это проблема с их автоматическим изменением размера на Facebook

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

Есть предложения?

1 Ответ

0 голосов
/ 04 мая 2011

Copypasta'd по запросу OP:

Почему вы используете !important?Обычно это плохая идея с лучшими альтернативами.

Вам просто нужно использовать более специфичный селектор CSS, чем jQuery, или использовать точно такой же селектор, но убедитесь, что ваш CSS идет после jQuery.Использование !important нарушает естественное каскадирование CSS и значительно усложняет обслуживание (как вы испытываете из первых рук).

...