Проблема ширины с Ext.Panel bbar в IE 6 - PullRequest
1 голос
/ 18 сентября 2008

Я только что столкнулся с ошибкой отображения в IE6 с платформой ExtJS. - Надеюсь, кто-то может указать мне правильное направление.

В следующем примере панель bbar для панели отображается на 2 ems уже, чем панель, к которой она прикреплена (выровнена по левому краю) в IE6, где, как и в Firefox, она отображается такой же ширины, что и панель.

Кто-нибудь может подсказать как это исправить?

Кажется, я могу обойти это, указав ширину панели в ems или отступ в пикселях, но я предполагаю, что она будет работать так, как показано ниже.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css"/>
    <script type="text/javascript" src="ext/ext-base.js"></script>
    <script type="text/javascript" src="ext/ext-all-debug.js"></script>
    <script type="text/javascript">

    Ext.onReady(function(){        
        var main = new Ext.Panel({
            renderTo: 'content',
            bodyStyle: 'padding: 1em;',
            width: 500,
            html: "Alignment issue in IE - The bbar's width is 2ems less than the main panel in IE6.",
            bbar: [
                    "->",
                {id: "continue", text: 'Continue'}
            ]
        });
    });

    </script>
</head>
<body>
    <div id="content"></div>
</body>
</html>

Ответы [ 2 ]

1 голос
/ 19 сентября 2008

Проблема связана с пользовательским дополнением bodyStyle. Увеличивает содержимое панели, но не панель инструментов.

Одним из возможных решений является дальнейшее вложение панели Ext, например:

    var main = new Ext.Panel({
        renderTo: 'content',
        width: 500,
        items: {
            bodyStyle: 'padding: 1em;',
            border: false,
            html: "Now alignment is fine."
        },
        bbar: [
                "->",
            {id: "continue", text: 'Continue'}
        ]
    });

Граница: ложь необходима, чтобы избежать двойной границы.

1 голос
/ 18 сентября 2008

Может быть, вы должны попытаться принудительно установить ширину bbar:

main.getBottomToolbar().setWidth(500)

сразу после создания панели?

Но я думаю, что проблема в том, что bbar отображается во внутренней div панели, поэтому разные браузеры по-разному интерпретируют внешнее заполнение.

Также вы можете попробовать установить padding bbar на -1em.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...