在ExtJs 4.2

时间:2017-02-12 08:50:07

标签: css extjs extjs4 extjs4.2

var myWindow = Ext.create('Ext.window.Window', {
    header: false,
    style: 'background-color: transparent; border: false',
    bodyStyle: 'background-color: transparent; background-image: url(graphics/ss_message.png); background-size: 100% 100%;',
    id: 'ss_banner',
    width: 250,
    height: component.getBox().height,
    border: false,
    bodyBorder: false,
    frame: false,
    cls: 'noPanelBorder',
});

我使用xtype窗口,因为即使添加renderTo: Ext.getBody(),我似乎无法显示容器/面板,但它无法正常工作。

窗口显示如下:

enter image description here

我还试图使用css,而不确定要使用哪些属性。

2 个答案:

答案 0 :(得分:4)

删除窗口边框

如果您确实要删除窗口的边框,可以使用以下配置:

var myWindow = Ext.create('Ext.window.Window', {

    // ...

    // What shows the 'border' is actually just the background of the window
    // shown via padding (+ 1px of actual border)
    style: 'padding: 0; border-width: 0;',
    // Show automatically
    autoShow: true,
    // Disable resizing, if you want
    resizable: false,
});

这是removing window borders

的工作小提琴

显示小组

但是,如果您不想使用任何窗口功能,并且可以使用容器或面板,则应使用它们。您需要的只是您提到的renderTo配置,以将面板渲染到正文或任何其他元素。我不知道为什么这个配置不适合你,它在下面的小提琴中完美地运作。

您可以尝试通过cls配置属性向面板添加一个唯一的类,并在呈现的HTML代码中搜索它。它可能被正确渲染,并且由于某种原因而不可见。

这是rendering panel to element

的工作小提琴

修改
如果您只需要显示图像,ExtJS中有一个图像组件Ext.Img。您可以按照我为面板描述的方式使用此组件。

答案 1 :(得分:0)

这对我有用:

var myWindow = Ext.create('Ext.window.Window', {
    // What shows the 'border' is actually just the background of the window
    // shown via padding (+ 1px of actual border)
    style: 'padding: 0; border-width: 0;',
});