UNPKG

ng-ytl-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

196 lines (194 loc) 9.58 kB
<article> <section class="markdown"><h1>Layout 布局</h1> <section class="markdown"><p>协助进行页面级整体布局。</p> <h2 id="设计规则"><span>设计规则</span> <!-- <a class="anchor">#</a> --> </h2> <h3 id="尺寸"><span>尺寸</span> <!-- <a class="anchor">#</a> --> </h3> <p>一级导航项偏左靠近 logo 放置,辅助菜单偏右放置。</p> <ul> <li> <p>顶部导航(大部分系统):一级导航高度 <code>64px</code>二级导航 <code>48px</code> </p></li> <li> <p>顶部导航(展示类页面):一级导航高度 <code>80px</code>二级导航 <code>56px</code> </p></li> <li> <p>顶部导航高度的范围计算公式为:<code>48+8n</code> </p></li> <li> <p>侧边导航宽度的范围计算公式:<code>200+8n</code> </p></li> </ul> <h3 id="交互"><span>交互</span> <!-- <a class="anchor">#</a> --> </h3> <ul> <li><p>一级导航和末级的导航需要在可视化的层面被强调出来;</p></li> <li><p>当前项应该在呈现上优先级最高;</p></li> <li><p>当导航收起的时候,当前项的样式自动赋予给它的上一个层级;</p></li> <li><p>左侧导航栏的收放交互同时支持手风琴和全展开的样式,根据业务的要求进行适当的选择。</p></li> </ul> <h3 id="视觉"><span>视觉</span> <!-- <a class="anchor">#</a> --> </h3> <p>导航样式上需要根据信息层级合理的选择样式:</p> <ul> <li><p><strong>大色块强调</strong></p> <p>建议用于底色为深色系时,当前页面父级的导航项。</p></li> <li><p><strong>高亮火柴棍</strong></p> <p>当导航栏底色为浅色系时使用,可用于当前页面对应导航项,建议尽量在导航路径的最终项使用。</p></li> <li><p><strong>字体高亮变色</strong></p> <p>从可视化层面,字体高亮的视觉强化力度低于大色块,通常在当前项的上一级使用。</p></li> <li><p><strong>字体放大</strong></p> <p> <code>12px</code><code>14px</code>是导航的标准字号,14 号字体用在一、二级导航中。字号可以考虑导航项的等级做相应选择。 </p></li> </ul> <h2 id="组件概述"><span>组件概述</span> <!-- <a class="anchor">#</a> --> </h2> <ul> <li><p> <code>nz-layout</code>布局容器,其下可嵌套 <code>nz-header</code><code>nz-sider</code><code>nz-content</code><code>nz-footer</code><code>nz-layout</code>本身,可以放在任何父容器中。 </p></li> <li><p> <code>nz-header</code>顶部布局,自带默认样式,其下可嵌套任何元素,只能放在 <code>nz-layout</code>中。 </p></li> <li><p> <code>nz-sider</code>侧边栏,自带默认样式及基本功能,其下可嵌套任何元素,只能放在 <code>nz-layout</code>中。 </p></li> <li><p> <code>nz-content</code>内容部分,自带默认样式,其下可嵌套任何元素,只能放在 <code>nz-layout</code>中。 </p></li> <li><p> <code>nz-footer</code>底部布局,自带默认样式,其下可嵌套任何元素,只能放在 <code>nz-layout</code>中。 </p></li> </ul> <blockquote> <p>注意:采用 flex 布局实现,请注意 <a href="http://caniuse.com/#search=flex">浏览器兼容性</a> 问题。 </p> </blockquote> </section> <h2>代码演示<i class="code-box-expand-trigger anticon anticon-appstore" title="展开全部代码"></i></h2> </section> <div nz-row [nzGutter]="8"> <div nz-col [nzSpan]="24"> <nz-code-box [nzTitle]="'基本结构'" id="components-layout-demo-basic" [nzCode]="NzDemoLayoutBasicCode"> <nz-demo-layout-basic demo></nz-demo-layout-basic> <div intro> <p>典型的页面布局。</p> </div> </nz-code-box> <nz-code-box [nzTitle]="'上中下布局'" id="components-layout-demo-top" [nzCode]="NzDemoLayoutTopCode"> <nz-demo-layout-top demo></nz-demo-layout-top> <div intro> <p>最基本的『上-中-下』布局。</p> <p>一般主导航放置于页面的顶端,从左自右依次为:logo、一级导航项、辅助菜单(用户、设置、通知等)。通常将内容放在固定尺寸(例如:1200px)内,整个页面排版稳定,不受用户终端显示器影响;上下级的结构符合用户上下浏览的习惯,也是较为经典的网站导航模式。页面上下切分的方式提高了主工作区域的信息展示效率,但在纵向空间上会有一些牺牲。此外,由于导航栏水平空间的限制,不适合那些一级导航项很多的信息结构。</p> </div> </nz-code-box> <nz-code-box [nzTitle]="'顶部-侧边布局-通栏'" id="components-layout-demo-top-side-2" [nzCode]="NzDemoLayoutTopSide2Code"> <nz-demo-layout-top-side-2 demo></nz-demo-layout-top-side-2> <div intro> <p>同样拥有顶部导航及侧边栏,区别是两边未留边距,多用于应用型的网站。</p> </div> </nz-code-box> <nz-code-box [nzTitle]="'顶部-侧边布局'" id="components-layout-demo-top-side" [nzCode]="NzDemoLayoutTopSideCode"> <nz-demo-layout-top-side demo></nz-demo-layout-top-side> <div intro> <p>拥有顶部导航及侧边栏的页面,多用于展示类网站。</p> </div> </nz-code-box> <nz-code-box [nzTitle]="'侧边布局'" id="components-layout-demo-side" [nzCode]="NzDemoLayoutSideCode"> <nz-demo-layout-side demo></nz-demo-layout-side> <div intro> <p>侧边两列式布局。页面横向空间有限时,侧边导航可收起。</p> <p>侧边导航在页面布局上采用的是左右的结构,一般主导航放置于页面的左侧固定位置,辅助菜单放置于工作区顶部。内容根据浏览器终端进行自适应,能提高横向空间的使用率,但是整个页面排版不稳定。侧边导航的模式层级扩展性强,一、二、三级导航项目可以更为顺畅且具关联性的被展示,同时侧边导航可以固定,使得用户在操作和浏览中可以快速的定位和切换当前位置,有很高的操作效率。但这类导航横向页面内容的空间会被牺牲一部份。</p> </div> </nz-code-box> <nz-code-box [nzTitle]="'自定义触发器'" id="components-layout-demo-trigger" [nzCode]="NzDemoLayoutTriggerCode"> <nz-demo-layout-trigger demo></nz-demo-layout-trigger> <div intro> <p>要使用自定义触发器,可以设置 <code>nzTrigger="null"</code> 来隐藏默认设定。</p> </div> </nz-code-box> <nz-code-box [nzTitle]="'响应式布局'" id="components-layout-demo-responsive" [nzCode]="NzDemoLayoutResponsiveCode"> <nz-demo-layout-responsive demo></nz-demo-layout-responsive> <div intro> <p>nz-sider 支持响应式布局。</p> <p>说明:配置 <code>nzBreakpoint</code>属性即生效,视窗宽度小于 <code>nzBreakpoint</code>时 nz-sider 缩小为 <code>nzCollapsedWidth</code>宽度,若将 <code>nzCollapsedWidth</code>设置为零,会出现特殊trigger效果。 </p> </div> </nz-code-box> </div> </div> <section class="markdown api-container"> <h2 id="API"><span>API</span> <!-- <a class="anchor">#</a> --> </h2> <h3 id="Row"><span>nz-sider</span> <!-- <a class="anchor">#</a> --> </h3> <table> <thead> <tr> <th>参数</th> <th>说明</th> <th>类型</th> <th>默认值</th> </tr> </thead> <tbody> <tr> <td>nzCollapsible</td> <td>是否可收起,当添加该属性时变为可收起</td> <td>attribute</td> <td>-</td> </tr> <tr> <td>nzCollapsed</td> <td>当前收起状态,可双向绑定</td> <td>Boolean</td> <td>-</td> </tr> <tr> <td>nzCollapseChange</td> <td>展开-收起时的回调函数</td> <td>Func</td> <td>-</td> </tr> <tr> <td>nzTrigger</td> <td>自定义 trigger,设置为 null 时隐藏 trigger</td> <td></td> <td>-</td> </tr> <tr> <td>nzWidth</td> <td>宽度</td> <td>Number</td> <td>200</td> </tr> <tr> <td>nzCollapsedWidth</td> <td>收缩宽度,设置为 0 会出现特殊 trigger</td> <td>Number</td> <td>64</td> </tr> <tr> <td>nzBreakpoint</td> <td>触发响应式布局的断点</td> <td>'xs', 'sm', 'md', 'lg', 'xl'</td> <td>-</td> </tr> </tbody> </table> </section> </article>