12 主体区 - 侧边栏
- 头部区域
.large-header分为导航区.bili-nav,banner 区.bili-banner,频道区.bili-channel。 - 主体 main:推荐列表
.recommended-container和侧边栏.sidebar。 - 前面课程完成了头部区域
.large-header和 主体推荐列表.recommended-container,这节课完成侧边栏.sidebar。
布局分析
侧边栏
.sidebar分为五个按钮。- 分区按钮
.sidebar-btn.sidebar-btn--area:svg+span.sidebar-btn__text - 回到旧版按钮
.sidebar-btn.sidebar-btn--old - 客服按钮
.sidebar-btn.sidebar-btn--service:svg+span.sidebar-btn__text - 前往内测按钮
.sidebar-btn.sidebar-btn--beta - 返回顶部按钮
.sidebar-btn.sidebar-btn--top:svg+span.sidebar-btn__text
- 分区按钮
bash
.sidebar # 侧边栏
├─ .sidebar-btn .sidebar-btn--area # 分区
│ ├─ svg # 分区 svg
│ └─ span.sidebar-btn__text
├─ .sidebar-btn .sidebar-btn--old # 回到旧版
├─ .sidebar-btn .sidebar-btn--service # 客服
│ ├─ svg # 客服 svg
│ └─ span.sidebar-btn__text
├─ .sidebar-btn .sidebar-btn--beta # 前往内测
└─ .sidebar-btn .sidebar-btn--top # 顶部
├─ svg # 返回顶部 svg
└─ span.sidebar-btn__text结构搭建
html
<!-- 侧边栏滚动按钮 -->
<div class="sidebar">
<div class="sidebar-btn sidebar-btn--area">
<svg class="iconpark-icon">
<use href="#fen-qu"></use>
</svg>
<span class="sidebar-btn__text">分区</span>
</div>
<div class="sidebar-btn sidebar-btn--old">回到旧版</div>
<div class="sidebar-btn sidebar-btn--service">
<svg class="iconpark-icon">
<use href="#ke-fu"></use>
</svg>
<span class="sidebar-btn__text">客服</span>
</div>
<div class="sidebar-btn sidebar-btn--beta">前往内测</div>
<div class="sidebar-btn sidebar-btn--top">
<svg class="iconpark-icon">
<use href="#ding-bu"></use>
</svg>
<span class="sidebar-btn__text">顶部</span>
</div>
</div>样式处理
基础样式
css
/**
* 侧边栏滚动按钮
*/
.sidebar {
position: fixed;
right: 12px;
bottom: 40px;
}按钮样式
css
.sidebar-btn {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
flex-wrap: wrap;
width: 40px;
margin-top: 6px;
padding: 8px 0 6px;
box-sizing: border-box;
border: 1px solid #e3e5e7;
border-radius: 8px;
background-color: #fff;
font-size: 12px;
text-align: center;
cursor: pointer;
svg {
width: 24px;
height: 24px;
}
}
.sidebar-btn--old,
.sidebar-btn--beta {
padding: 4px;
}
.sidebar-btn--top {
margin-top: 12px;
svg {
width: 15px;
height: 8px;
}
}
.sidebar-btn__text {
margin-top: 2px;
}