菜单

侧边栏
侧边栏在页面旁边隐藏附加内容。

下载

类型

侧边栏

侧边栏

虽然侧边栏可以与任何内容一起使用,但在大多数情况下,侧边栏与 反转垂直菜单 一起使用。有关更多详细信息,请参阅 用法选项卡

<body> <div class="ui sidebar inverted vertical menu"> <a class="item"> 1 </a> <a class="item"> 2 </a> <a class="item"> 3 </a> </div> <div class="pusher"> <!-- 网站内容 !--> </div> </body>
$('.ui.sidebar') .sidebar('toggle') ;
<div class="ui left demo vertical inverted sidebar labeled icon menu"> <a class="item"> <i class="home icon"></i> 主页 </a> <a class="item"> <i class="block layout icon"></i> 主题 </a> <a class="item"> <i class="smile icon"></i> 朋友 </a> </div>
$('.ui.labeled.icon.sidebar') .sidebar('toggle') ;

状态

侧边栏

可见

侧边栏可以在页面上可见

要使侧边栏在页面加载时显示,只需将类 visible 添加到侧边栏。

推动器

调暗

推动器可以调暗

变体

方向

侧边栏可以出现在页面的不同侧边

宽度

侧边栏可以指定其宽度

侧边栏会自动调整其动画以匹配 CSS 中指定的任何自定义大小

设置

页面结构

使用侧边栏需要特定的页面结构。为了获得最佳性能,您的页面应该在初始化侧边栏之前已经使用这种结构设置好。

如果未设置,侧边栏会在首次加载时自动添加正确的布局,但是,在加载时修复页面的布局会降低性能,不建议这样做
<body> <div class="ui sidebar"> ... </div> <div class="pusher"> 您网站的实际内容 </div> </body>

与菜单一起使用

侧边栏可以是任何内容,但最常见的非画布显示内容类型是 菜单。要了解菜单所需的结构,请参阅 菜单文档

<body> <div class="ui left vertical menu sidebar"> <a class="item"> 项目 1 </a> <a class="item"> 项目 2 </a> <a class="item"> 项目 3 </a> </div> <div class="pusher"> <!-- 网站内容 !--> </div> </body>

使用固定内容

任何固定位置的内容,当您的侧边栏可见时应该与页面内容一起移动,应该接收类名 fixed 并且作为侧边栏的同级元素存在。

固定内容,如果未包含在您的 pusher 旁边,将失去其定位,当侧边栏显示时。
<body> <div class="ui sidebar"> ... </div> <div class="ui top fixed menu"> ... </div> <div class="pusher"> 您网站的实际内容 </div> </body>

iOS 侧边栏

侧边栏使用专门针对 iOS 的修复,这些修复是使用 userAgent 检测添加的。

这应该对您的代码没有实质性影响,但会防止画布在侧边栏打开时错误地自动调整大小。

html.ios { overflow-x: hidden; -webkit-overflow-scrolling: touch; } html.ios, html.ios body { height: initial !important; }

行为

所有以下行为都可以使用以下语法调用

$('.your.element') .sidebar('behavior name', argumentOne, argumentTwo) ;
行为 描述
附加事件(选择器, 事件) 将侧边栏操作附加到给定选择器。如果未指定,默认事件为切换
显示 显示侧边栏
隐藏 隐藏侧边栏
切换 切换侧边栏的可见性
可见 返回侧边栏是否可见
隐藏 返回侧边栏是否隐藏
推入页面 推动页面内容,使其与侧边栏一起可见
获取方向 返回当前侧边栏的方向
拉动页面 将页面内容返回到原始位置
添加主体 CSS 将样式表添加到页面头部以触发侧边栏动画
删除主体 CSS 删除侧边栏动画的任何内联样式表
获取过渡事件 返回供应商前缀的过渡结束事件

示例

过渡

并非所有侧边栏过渡都适用于每个侧边栏方向,或者当多个侧边栏同时可见时。

多个可见 支持垂直侧边栏 支持水平侧边栏
覆盖
推动
缩小
揭开
沿边滑动
滑动出去
方向
左边
右边
顶部
底部
所有方向动画
覆盖
推动
缩小
仅垂直动画
揭开
沿边滑动
滑动出去

显示多个

只有在使用支持的动画(如 pushoverlay)时,才能同时显示多个侧边栏。

您可能需要手动设置元素的 z-index,以确保预期的侧边栏元素显示在最上面。
如果您同时触发多个侧边栏,建议将过渡设置为覆盖。
// 显示多个 $('.demo.sidebar') .sidebar('setting', 'transition', 'overlay') .sidebar('toggle') ;

使用自定义上下文

侧边栏可以在任何元素内部初始化,而不仅仅是页面的 body

侧边栏的 上下文 不能有任何填充。您可以通过填充其内部内容或使用额外的包含元素来解决此问题。
// 使用上下文 $('.context.example .ui.sidebar') .sidebar({ context: $('.context.example .bottom.segment') }) .sidebar('attach events', '.context.example .menu .item') ;

使用其他内容触发显示/隐藏

为了方便起见,调用附加事件将允许您绑定事件。默认情况下,这将在单击时将侧边栏切换到可见和不可见状态

$('.left.demo.sidebar').first() .sidebar('attach events', '.toggle.button') ; $('.toggle.button') .removeClass('disabled') ;
触发侧边栏

通过其他内容触发自定义行为

您也可以指定元素被点击时应该执行的行为

$('.left.demo.sidebar').first() .sidebar('attach events', '.open.button', 'show') ; $('.open.button') .removeClass('disabled') ;
打开侧边栏

开始可见

通过添加类名visible,可以使侧边栏从一开始就可见

您必须在包含侧边栏的元素上包含类pushable,才能在Javascript 初始化元素之前正确显示侧边栏
虽然侧边栏支持任何大小的内容,但加载时可见的侧边栏仅支持标准的、预定义的大小,如thinwide。这确保了内容在 Javascript 可用之前能够正确地定位。
// 显示多个 $('.visible.example .ui.sidebar') .sidebar({ context: '.visible.example .bottom.segment' }) .sidebar('hide') ;

侧边栏

行为

设置 默认 描述
context body 侧边栏将出现在其中的上下文
exclusive false 是否可以同时打开多个侧边栏
closable true 侧边栏是否可以通过点击页面关闭
dimPage true 侧边栏可见时是否要使页面内容变暗
scrollLock false 侧边栏可见时是否要锁定页面滚动
returnScroll false 侧边栏隐藏时是否要返回到原始滚动位置,在使用transition: scale时会自动执行。
delaySetup false 当侧边栏在没有正确 HTML 的情况下被初始化时,使用此选项将推迟 DOM 的创建,以使用requestAnimationFrame

动画

设置 默认 描述
transition auto 在为侧边栏制作动画时要使用的命名转换。默认值为'auto',它根据方向从defaultTransition中选择转换。
mobileTransition auto 在检测到移动设备时为制作动画使用的命名转换。默认值为'auto',它根据方向从defaultTransition中选择转换。
defaultTransition
{ computer: { left : 'uncover', right : 'uncover', top : 'overlay', bottom : 'overlay' }, mobile: { left : 'uncover', right : 'uncover', top : 'overlay', bottom : 'overlay' } }
每个方向和屏幕大小的默认转换,与transition: auto一起使用
useLegacy false 是否应该使用 Javascript 动画。默认为false。设置为auto将在不支持 CSS 转换的浏览器中仅使用传统动画
duration 500 使用传统 Javascript 动画时侧边栏动画的持续时间
easing easeInOutQuint 使用传统 Javascript 动画时要使用的缓动

回调

设置 上下文 描述
onVisible 侧边栏 当侧边栏开始动画时调用。
onShow 侧边栏 当侧边栏完成动画时调用。
onChange 侧边栏 当侧边栏开始隐藏或显示时调用
onHide 侧边栏 在侧边栏开始动画之前调用。
onHidden 侧边栏 侧边栏完成动画后调用。

模块

DOM 设置

设置 默认
namespace sidebar
className
className : { active : 'active', animating : 'animating', dimmed : 'dimmed', ios : 'ios', pushable : 'pushable', pushed : 'pushed', right : 'right', top : 'top', left : 'left', bottom : 'bottom', visible : 'visible' }
regExp
regExp: { ios : /(iPad|iPhone|iPod)/g, mobile : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g }
selector
selector: { fixed : '.fixed', omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed', pusher : '.pusher', sidebar : '.ui.sidebar' }

调试

设置 默认 描述
name 侧边栏 调试日志中使用的名称
silent False 静默所有控制台输出,包括错误消息,无论其他调试设置如何。
debug False 向控制台提供标准调试输出
performance True 向控制台提供标准调试输出
verbose True 向控制台提供辅助调试输出
errors
error : { method : '您调用的方法未定义。', pusher : '必须添加 pusher 元素。为了获得最佳性能,请确保主体内容位于 pusher 元素内部', movedSidebar : '必须移动侧边栏。为了获得最佳性能,请确保侧边栏和 pusher 是主体标签的直接子元素', overlay : 'overlay 设置不再受支持,请使用动画: overlay', notFound : '没有与指定选择器匹配的元素' }

模糊消息
模糊子标题