html左侧菜单展开与收起,CSS3 实现侧边栏展开收起动画
时间: 2023-09-03 13:13:17 浏览: 297
好的,我可以为您提供相关的代码示例。首先,我们需要一个 HTML 结构作为侧边栏容器,以及一个按钮来触发展开和收起的操作。HTML 代码如下:
```html
<div class="sidebar">
<!-- 左侧菜单内容 -->
</div>
<button class="toggle-btn">展开/收起</button>
```
接下来,我们使用 CSS3 中的 transition 属性为侧边栏添加动画效果,并使用 transform 属性移动侧边栏的位置。同时,我们为按钮添加一个点击事件,通过 JavaScript 来切换侧边栏的展开和收起状态。完整的 CSS 和 JavaScript 代码如下:
```css
.sidebar {
position: fixed;
top: 0;
left: -200px; /* 初始位置在左侧屏幕外 */
width: 200px;
height: 100%;
background-color: #333;
transition: transform 0.3s ease-in-out;
}
.sidebar.active {
transform: translateX(200px); /* 展开时移动到屏幕内 */
}
.toggle-btn {
position: fixed;
top: 20px;
right: 20px;
padding: 10px;
background-color: #fff;
border: none;
border-radius: 50%;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
cursor: pointer;
transition: transform 0.3s ease-in-out;
}
.toggle-btn.active {
transform: rotate(180deg); /* 切换为收起图标 */
}
```
```javascript
const toggleBtn = document.querySelector('.toggle-btn');
const sidebar = document.querySelector('.sidebar');
toggleBtn.addEventListener('click', () => {
sidebar.classList.toggle('active');
toggleBtn.classList.toggle('active');
});
```
这样,我们就完成了一个简单的侧边栏展开收起效果,希望能对您有所帮助。
阅读全文