Стиль Dojo data-dojo-props перезаписан - PullRequest
3 голосов
/ 26 января 2012

Я использую Dojo ContentPane для рендеринга карты openlayers. Когда DOM готов и карта вставлена, стиль диджита перезаписывается. Я попытался указать высоту и ширину в CSS по классам и идентификаторам, а также встроенный в моем HTML.

Мой HTML:

<div id="map-id"
class="centerPanel"
    data-dojo-type="dijit.layout.ContentPane"
    data-dojo-props="region: 'center', style: 'width: 1468px;'">
</div>

мой CSS:

#map-id {
width: 1468px;
height: 471px;
}
.centerPanel {
width: 1468px;
height: 471px;
}

мой фактический HTML от Firebug:

<div id="map-id" class="centerPanel dijitContentPane dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignCenter olMap" data-dojo-props="region: 'center', style: 'width: 1468px;'" data-dojo-type="dijit.layout.ContentPane" title="" role="group" dir="ltr" style="width: 1455px; left: 252px; top: 48px; right: auto; bottom: auto; height: 456px;" widgetid="map-id">

Как видите, мой стиль data-dojo-props игнорируется, а новые высота и ширина вставляются ... какие-нибудь идеи?

Ответы [ 3 ]

1 голос
/ 06 января 2014

Я пробовал это в сетке додзё, и это тоже не работает. Я предлагаю вам попробовать сделать это на JavaScript-коде.

вместо этого добавьте объект стиля с атрибутом width и height в объект контейнера.

myGrid = new DataGrid({
    store: myObjectStore,
    structure : myStructure,
    style: {
        width: '1000px', 
        height: '500px', 
    },
}, "myGrid");

Я считаю, что декларативный способ не работает.

0 голосов
/ 28 марта 2012

Размер центральной области BorderContainer увеличивается, чтобы заполнить все оставшееся доступное пространство.Если вы хотите, чтобы ваш центральный регион имел определенный размер, вам нужно стилизовать BorderContainer, а не виджет, который занимает центральный регион.

0 голосов
/ 30 января 2012

Возможно, вам понадобится добавить doLayout:false в ваш контейнер, если есть:)

...