代码拉取完成,页面将自动刷新
/* 字体库不一定要是我这个,甚至不用也可以 */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
/* 全部元素都设置的 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Poppins", sans-serif;
}
/* 一些需要重复使用的变量我们就可以声明 */
:root {
/* 颜色 */
--body-color: #e4e9f7;
--sidebar-color: #fff;
--primary-color: #695cfe;
--primary-color-light: #f6f5ff;
--toggle-color: #ddd;
--text-color: #707070;
/* 过渡效果 元素的所有属性上应用一个持续时间为 0.3 秒的过渡效果 */
--tran-02: all 0.2s ease;
--tran-03: all 0.3s ease;
}
body {
/* vh 是一个相对长度单位,表示视口高度的百分比。1vh 等于视口高度的 1% ,所以100vh相当于视口高度的百分百*/
min-height: 100vh;
background-color: var(--body-color);
transition: var(--tran-03);
/* body元素会占据整个视口的宽度width。如果没有对body元素进行特殊的样式设置,其宽度将自动为100% */
}
/* ::selection 是一个CSS伪元素,用于设置用户在页面上选中文本时的样式,设置选中文本的背景色和文字颜色*/
::selection {
background-color: var(--primary-color);
color: #fff;
}
/* ---------- 侧边栏 ---------------------------- */
.sidebar {
height: 100%;
width: 250px;
background: var(--sidebar-color);
z-index: 100;
position: absolute;
/* 对元素进行定位了,才可以使用 top: 0; 和 left: 0; 这两个 CSS 属性 */
top: 0;
left: 0;
padding: 10px 14px;
transition: var(--tran-03);
}
.sidebar.close {
width: 88px;
}
/* 对li的标签进行style */
.sidebar li {
list-style: none;
margin-top: 12px;
align-items: center;
height: 50px;
display: flex;
}
.sidebar header .image,
.sidebar .iconfont {
min-width: 60px;
border-radius: 6px;
}
/* 设置iconfont图标的样式 */
.sidebar .iconfont {
min-width: 60px;
border-radius: 6px;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
/* .sidebar .text选择器会选择.sidebar元素内部所有具有"class"为"text"的子孙元素,
并对它们应用相同的样式规则。 /* 修改文字和icon的颜色 */
.sidebar .text,
.sidebar .iconfont {
color: var(--text-color);
transition: var(--tran-03);
}
.sidebar .text {
font-size: 17px;
font-weight: 500;
white-space: nowrap;
opacity: 1;
}
/* 如果有close的话透明度为零 */
.sidebar.close .text {
opacity: 0;
}
/* header部分样式 */
.sidebar header {
position: relative;
}
/* ------------------------头像和文字部分的div-------------------------- */
.sidebar header .image-text {
display: flex;
align-items: center;
}
/* 头像部分里面的文字div .name .profession*/
.sidebar header .logo-text {
display: flex;
flex-direction: column;
}
header .image-text .name {
margin-top: 2px;
font-size: 18px;
font-weight: 600;
}
header .image-text .profession {
font-size: 16px;
margin-top: -2px;
}
/* span结构类名image设置 */
.sidebar header .image {
display: flex;
align-items: center;
justify-content: center;
}
/* 图片大小设置 */
.sidebar header .image img {
width: 45px;
border-radius: 5px;
}
/* 头像结构里面的箭头符号样式的设计 */
.sidebar header .toggle {
position: absolute;
top: 50%;
right: -25px;
transform: translateY(-50%) rotate(180deg);
height: 25px;
width: 25px;
background-color: var(--primary-color);
color: var(--sidebar-color);
display: flex;
border-radius: 50%;
align-items: center;
justify-content: center;
font-size: 22px;
cursor: pointer;
transition: var(--tran-03);
}
/* 当body标签拥有dark类名的时候 */
body.dark .sidebar header .toggle {
color: var(--text-color);
}
/* 如果有close的话透明度为零,那.toggle就改变 */
.sidebar.close .toggle {
transform: translateY(-50%) rotate(0deg);
}
/*--------------- 搜索部分 -------------*/
.sidebar .menu {
margin-top: 35px;
}
.sidebar li.search-box {
border-radius: 6px;
background-color: var(--primary-color-light);
transition: var(--tran-03);
cursor: pointer;
}
.sidebar li.search-box input {
height: 100%;
width: 100%;
outline: none;
border: none;
background-color: var(--primary-color-light);
color: var(--text-color);
border-radius: 6px;
font-size: 17px;
font-weight: 500;
transition: var(--tran-03);
}
/* ui li 里面的a标签 */
.sidebar li a {
list-style: none;
height: 100%;
background-color: transparent;
display: flex;
text-decoration: none;
align-items: center;
border-radius: 6px;
width: 100%;
transition: var(--tran-03);
}
/* ----------hover当我们触发产生的效果(伪类)------------------- */
.sidebar li a:hover {
background-color: var(--primary-color)
}
/* 当我们触发icon图标和文字是产生的效果 */
.sidebar li a:hover .icon,
.sidebar li a:hover .text {
color: var(--sidebar-color);
}
/* 当body有dark标签时,触发hover会产生的效果 */
body.dark .sidebar li a:hover .icon,
body.dark .sidebar li a:hover .text {
color: var(--text-color);
}
.sidebar .menu-bar {
/* calc() 函数是用来执行数学运算的,它允许你在 CSS 中使用加法、减法、乘法和除法。在这个例子中,
100% 表示父元素的高度(通常是浏览器视口的高度),然后减去 55px,最终得到的值就是这个元素的实际高度。 */
height: calc(100% - 55px);
display: flex;
flex-direction: column;
justify-content: space-between;
overflow-y: scroll;
}
/* 这段 CSS 代码是用来隐藏在 Webkit 浏览器(如 Chrome 和 Safari)中的滚动条样式(伪元素) */
.menu-bar::-webkit-scrollbar {
display: none;
}
/* -----------------底部切换主题部分mode --------------------*/
.sidebar .menu-bar .mode {
border-radius: 6px;
background-color: var(--primary-color-light);
position: relative;
transition-timing-function: var(--tran-03);
}
.menu-bar .mode .sun-moon {
height: 50px;
width: 60px;
}
.mode .sun-moon i {
position: absolute;
}
.mode .sun-moon i.sun {
opacity: 0;
}
.mode .sun-moon i.moon {
opacity: 1;
}
body.dark .mode .sun-moon i.sun {
opacity: 1;
}
body.dark .mode .sun-moon i.moon {
opacity: 0;
}
/* 开关按钮部分 */
.menu-bar .footer-menu .toggle-switch {
position: absolute;
right: 0;
height: 100%;
min-width: 60px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 6px;
cursor: pointer;
}
/* 按钮背景颜色宽度高度设置 */
.toggle-switch .switch {
position: relative;
height: 22px;
width: 40px;
border-radius: 25px;
background-color: var(--toggle-color);
transition: var(--tran-03);
}
/* 按钮白点部分- ::before 是一个用于在选中元素内容之前插入生成的内容的伪元素。 */
.switch::before {
content: "";
position: absolute;
width: 15px;
height: 15px;
border-radius: 50%;
top: 50%;
left: 5px;
transform: translateY(-50%);
background-color: var(--sidebar-color);
transition: var(--tran-03);
}
/* 当body有dark标签时 */
body.dark .switch::before {
left: 20px;
}
/* ---------------------home部分 -------------------------*/
.home {
position: absolute;
top: 0;
left: 250px;
height: 100vh;
width: calc(100% - 250px);
background-color: var(--body-color);
transition: var(--tran-03);
}
.home .text {
font-size: 30px;
font-weight: 500;
color: var(--text-color);
padding: 12px 60px;
}
.sidebar.close~.home {
left: 78px;
height: 100vh;
width: calc(100% - 78px);
}
body.dark .home .text {
color: var(--text-color);
}
/* 当body标签拥有dark类名的时候的样式 ——设置修改主题的*/
body.dark {
--body-color: #18191a;
--sidebar-color: #242526;
--primary-color: #3a3b3c;
--primary-color-light: #3a3b3c;
--toggle-color: #fff;
--text-color: #ccc;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。