📅  最后修改于: 2023-12-03 14:47:22.890000             🧑  作者: Mango
Semantic-UI是一款现代化的UI框架,提供多种UI组件,其中Rail类型是其中一个非常实用的组件,可以帮助我们实现侧边菜单、侧边栏、浮动面板等功能。在本篇介绍中,我们将通过代码片段的方式来详细介绍如何使用Rail组件。
首先需要在html中引入semantic-ui
的CSS和JS文件,即
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css" integrity="sha512-z5HpvI+i7VhOpYMJyz2kVfTT+NnTRl6VzU6ELotbAIW8BvGyU6C3q6YwDrpWaqIvkiLec9JUeRd1wuW6U8L+UQ==" crossorigin="anonymous" />
<script
src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js" integrity="sha512-zF1EDAwqb/nlxHBmq2ftZiRp+zC9j4SiLlFAh4hqJCnOpOdMfjc+ZncoKAR3sWZLt3exLcX2zjWFCA8AQbgFzQ==" crossorigin="anonymous"></script>
然后在HTML中使用Rail组件,即
<div class="ui inverted segment">
<div class="ui inverted top attached label">Header</div>
<div class="ui sidebar inverted vertical menu">
<a class="item">Item 1</a>
<a class="item">Item 2</a>
<a class="item">Item 3</a>
</div>
<div class="pusher">
<p>Main content</p>
</div>
</div>
这里使用了ui inverted segment
设置了背景色和内外边距等样式,ui inverted top attached label
设置了顶部的Header样式,ui sidebar inverted vertical menu
设置了侧边栏的样式与内容,pusher
类则将页面的内容挤开,让侧边栏不会遮住主要内容。
除了简单的静态使用外,Rail组件还提供了多种动态控制的方法。例如,可以通过调用$('.ui.sidebar').sidebar('toggle')
方法来实现按钮切换控制侧边栏的显隐,如下所示:
<button class="ui button" onclick="$('.ui.sidebar').sidebar('toggle')">Toggle Sidebar</button>
可以参考下面的完整代码片段来了解更多Rail组件的使用方法。
<!DOCTYPE html>
<html>
<head>
<title>Semantic-UI Rail Demo</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css" integrity="sha512-z5HpvI+i7VhOpYMJyz2kVfTT+NnTRl6VzU6ELotbAIW8BvGyU6C3q6YwDrpWaqIvkiLec9JUeRd1wuW6U8L+UQ==" crossorigin="anonymous" />
<script
src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js" integrity="sha512-zF1EDAwqb/nlxHBmq2ftZiRp+zC9j4SiLlFAh4hqJCnOpOdMfjc+ZncoKAR3sWZLt3exLcX2zjWFCA8AQbgFzQ==" crossorigin="anonymous"></script>
</head>
<body>
<div class="ui inverted segment">
<div class="ui inverted top attached label">Header</div>
<div class="ui sidebar inverted vertical menu">
<a class="item">Item 1</a>
<a class="item">Item 2</a>
<a class="item">Item 3</a>
</div>
<div class="pusher">
<p>Main content</p>
<button class="ui button" onclick="$('.ui.sidebar').sidebar('toggle')">Toggle Sidebar</button>
</div>
</div>
</body>
</html>