dojo页面布局BorderContainer

it2024-07-13  41

DOjo页面布局:主要使用的容器和小部件有 1.BorderContainer(对齐方式容器) 2.ContentPane(面板) 3.AccordionContainer(堆叠容器)结果:使用dojo页面布局将页面划分为五个部分,主要有两种方式:1.上左中右下、2.左上中下右 结果1:当对齐容器的design属性为headline的时候

结果2:当对齐容器的design属性为sidebar的时候

代码入下:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HeadlineContainer</title> <link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.17/3.17/dijit/themes/tundra/tundra.css"/> <link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.17/3.17/esri/css/esri.css"/> <style> html, body, #main { width: 100%; height: 100%; margin: 0; } </style> <script type="text/javascript" src="http://localhost/arcgis_js_api/library/3.17/3.17/init.js"></script> <!--<script src="http://js.arcgis.com/3.9/"></script>--> <script> require(["dojo/parser", "esri/map", "esri/layers/ArcGISTiledMapServiceLayer", "dijit/layout/BorderContainer", "dijit/layout/AccordionContainer", "dijit/layout/ContentPane", "dojo/domReady!"], function (parser, Map, ArcGISTiledMapServiceLayer) { parser.parse(); var map = new Map("mapDiv"); var agoServiceURL = "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer"; var agoLayer = new ArcGISTiledMapServiceLayer(agoServiceURL, {displayLevels: [0, 1, 2, 3, 4, 5, 6, 7]} ); map.addLayer(agoLayer); }); </script> </head> <body class="tundra"> <!--页面容器BorderContainer 特别注意的是,这个容器需要设置宽高,此处我在head中设置的--> <!--属性design为headline表示上中下结构优先,属性为sidebar表示左中右结构优先--> <div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design: 'sidebar', gutters: false" id="main"> <!--上下可以可以设置高度,左右可以设置宽度--> <!--上top部分--> <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'top'" style="background-color:#b39b86; height: 10%;">放置单位或公司的标志、本应用系统名称等</div> <!--左边left部分 splitter属性是用来控制是否可以拖动容器的尺寸的--> <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'left', splitter: 'true'" style="background-color: #acb386; width: 100px;">一般为菜单</div> <!--中center部分--> <div id="mapDiv" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'center'" style="background-color: #f5ffbf; padding: 10px"></div> <!--右边right部分--> <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'right', splitter: 'true'" style="background-color: #acb386; width: 100px;"> <!--堆叠容器AccordionContainer--> <div id="accordionContainer" data-dojo-type="dijit/layout/AccordionContainer" style="padding: 0; overflow: hidden; z-index: 29"> <!--查询--> <div data-dojo-type="dijit/layout/ContentPane" title="查询" style="padding: 0; overflow: hidden"> <div id="findServicesDiv"></div> </div> <!--查询结果--> <div data-dojo-type="dijit/layout/ContentPane" title="查询结果" style="padding: 0; overflow: hidden"> <div id="resultDiv"></div> </div> <!--缓冲区分析--> <div data-dojo-type="dijit/layout/ContentPane" title="缓冲区分析" style="padding: 0; overflow: hidden"> </div> <!--图层控制--> <div data-dojo-type="dijit/layout/ContentPane" title="图层控制" style="padding: 0; overflow: hidden"> <div id="layoutConfigDiv"></div> </div> </div> </div> <!--下bottom部分--> <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'bottom'" style="background-color: #b39b86; height: 100px;">版权信息等</div> </div> </body> </html>
最新回复(0)