【问题标题】:How to setup a BorderContainer with two regions?如何设置具有两个区域的 BorderContainer?
【发布时间】:2014-12-19 07:57:10
【问题描述】:

我有以下布局,我需要调整“中心窗格”的大小以适应屏幕 (100%)。 使用以下代码,我无法获得结果。 我究竟做错了什么?如何解决?

http://jsfiddle.net/m8112z2b/

  <div data-dojo-type="dijit/layout/BorderContainer" style="width: 100%; height: 100%" id="xxx-dijit-layout-app">
        <div data-dojo-type="dijit/layout/ContentPane data-dojo-props=" region:'top'" id="xxx-dijit-layout-control">Top pane</div>
        <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center'" id="xxx-dijit-layout-workspace">Center pane</div>
    </div>

        #xxx-dijit-layout-app {
            width: 100%;
            height: 100%;
        }

        #xxx-dijit-layout-control {
            height: 100px;
            background-color: red;
        }

        #xxx-dijit-layout-workspace {
            height: 100%;
            background-color: yellow;
        }

【问题讨论】:

    标签: html css dojo dijit.layout


    【解决方案1】:

    那是因为您的 HTML 只占用了它需要的高度。如果你想让你的&lt;html&gt;&lt;body&gt;默认100%高,那么你必须使用:

    html, body {
      height: 100%;
    }
    

    如果您这样做,则中心窗格将占据整个屏幕。这将导致屏幕为 100% + 顶部窗格的额外 100 像素。如果你想让中心窗格占据其余的高度,那么你应该使用:

    #xxx-dijit-layout-workspace {
      height: calc(100% - 100px);
      background-color: yellow;
    }
    

    例如:http://jsfiddle.net/at38eh7g/

    【讨论】:

      【解决方案2】:

      只需将其添加到您的 css 中

      html,body{
      
       height:100%;
      margin:0;
      padding:0;
      }
      

      你没有为你的 body 和 html 指定任何高度。

      【讨论】:

        【解决方案3】:

        试试这个

        body {
           margin: 0;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多