| $function-button-color: #93C4C1; |
| $nomal-button-color: #526665; |
| $heading-color: #2c3e50; |
| $subheading-color: #93C4C1; |
| $icon-color: #93C4C1; |
| $background-color: #F0F4F7; |
| |
| .container { |
| display: flex; |
| flex-direction: column; |
| background-color: $background-color; |
| min-height: 100vh; |
| } |
| |
| .toolbar { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| padding: 1rem 2rem; |
| background-color: #FFF; |
| position: sticky; |
| top: 0; |
| z-index: 1000; |
| |
| } |
| |
| // ##第一部分:logo-name |
| .logo-name { |
| display: flex; |
| align-items: center; |
| gap: 2rem; |
| |
| .logo { |
| width: 40px; |
| height: 40px; |
| } |
| |
| .name { |
| font-size: 3rem; |
| font-weight: bold; |
| color: #333; |
| } |
| } |
| |
| // ##第二部分:tools |
| .tools { |
| display: flex; |
| align-items: center; |
| gap: 1rem; |
| |
| } |
| |
| .no-underline { |
| text-decoration: none; |
| } |
| |
| .tools { |
| display: flex; |
| align-items: center; |
| gap: 2rem; |
| |
| .tool-item { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| gap: 0.25rem; |
| transition: color 0.5s ease; |
| |
| i { |
| font-size: 1.25rem; |
| color: $icon-color; |
| } |
| |
| span { |
| font-size: 0.75rem; |
| color: #333; |
| } |
| |
| &:active { |
| i { |
| color: #14b8a6; // 点击时图标变色 |
| } |
| |
| span { |
| color: #14b8a6; // 点击时文字变色 |
| } |
| } |
| } |
| |
| .p-avatar { |
| margin-left: 1rem; |
| } |
| } |
| |
| .logo-name { |
| display: flex; |
| align-items: center; |
| gap: 1rem; |
| |
| .logo { |
| width: 40px; |
| height: 40px; |
| } |
| |
| .name { |
| font-size: 2rem; |
| font-weight: bold; |
| } |
| } |
| |
| // 全局容器样式 |
| .main-container { |
| max-width: 1200px; |
| margin: 0 auto; |
| padding: 0 2rem; |
| } |
| |
| //TabView组件样式 |
| .p-tabview { |
| background-color: $background-color; |
| } |
| |
| .p-tabview-panels { |
| background-color: $background-color; |
| } |
| |
| .p-tabview-nav { |
| background-color: $background-color; |
| } |
| |
| .p-tabview-nav-link { |
| background-color: $background-color; |
| } |
| |
| //分页样式 |
| .Paginator { |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| background-color: $background-color; |
| |
| // 高亮状态的分页按钮 |
| .p-highlight { |
| background-color: rgba(182, 238, 235, 0.4) !important; |
| color: #768786 !important; |
| border-color: #768786 !important; |
| } |
| } |
| |
| // 大标题样式 |
| h1, |
| .heading, |
| .title { |
| color: $heading-color; |
| font-size: 2rem; |
| font-weight: bold; |
| } |
| |
| |
| // 搜索栏样式 |
| .searchBar { |
| max-width: 600px; |
| margin: 2rem auto; |
| position: relative; |
| |
| .pi-search { |
| position: absolute; |
| color: $icon-color; |
| left: 1rem; |
| top: 50%; |
| transform: translateY(-50%); |
| z-index: 1; |
| } |
| |
| .search-helper { |
| width: 100%; |
| height: 3rem; |
| padding-left: 2.5rem; |
| border-radius: 1.5rem; |
| font-size: 1.1rem; |
| border: 1px solid #ddd; |
| } |
| } |
| |
| // 评论区域 |
| .comments-section { |
| .comments-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| |
| h2 { |
| font-size: 1.5rem; |
| color: #2d3748; |
| margin-bottom: 1.5rem; |
| } |
| } |
| |
| // 评论输入区 |
| .comments-input { |
| display: flex; |
| align-items: center; |
| gap: 1rem; |
| padding: 1rem; |
| border-radius: 0.5rem; |
| |
| .p-inputtext { |
| flex: 1; // 输入框占据剩余空间 |
| height: 3rem; |
| } |
| |
| .p-button { |
| height: 3rem; |
| } |
| } |
| |
| // 评论列表 |
| .comments-list { |
| display: flex; |
| flex-direction: column; |
| margin-top: 1rem; |
| gap: 0.5rem; |
| |
| .comment-item { |
| padding: 1.5rem; |
| border-radius: 0.5rem; |
| |
| .comment-user { |
| display: flex; |
| align-items: center; |
| gap: 1rem; |
| margin-bottom: 1rem; |
| |
| .comment-meta { |
| display: flex; |
| align-items: center; |
| width: 100%; |
| justify-content: space-between; |
| gap: 0.5rem; |
| |
| .comment-time { |
| justify-content: space-between; |
| gap: 0.75rem |
| } |
| |
| .username { |
| margin-left: 0.5rem; |
| font-weight: 600; |
| color: #2d3748; |
| } |
| |
| .floor { |
| color: #718096; |
| margin-right: 0.75rem; |
| font-size: 0.875rem; |
| } |
| |
| .time { |
| color: #a0aec0; |
| font-size: 0.875rem; |
| } |
| } |
| } |
| |
| .comment-content { |
| padding-left: 3.5rem; |
| |
| .reply-to { |
| display: inline-block; |
| color: #93C4C1; |
| font-size: 0.875rem; |
| margin-bottom: 0.5rem; |
| } |
| |
| p { |
| color: #4a5568; |
| margin: 0; |
| line-height: 1.5; |
| } |
| } |
| } |
| } |
| } |
| |
| .p-sidebar-header, |
| .p-sidebar-custom-header { |
| padding: 10px !important; |
| } |
| |
| .p-overlaypanel-content { |
| padding: 0 !important; |
| } |
| |
| .reply { |
| |
| .reply-input { |
| display: flex; |
| flex-direction: row; |
| align-items: center; |
| justify-self: center; |
| gap: 3rem; |
| padding: 1rem; |
| } |
| } |
| |
| // 资源卡片列表 |
| .all-resources { |
| width: 100%; |
| padding: 1rem; |
| |
| &-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| } |
| |
| &-card { |
| height: 140px; |
| padding: 1.5rem; |
| margin-bottom: 1rem; |
| border-radius: 0.5rem; |
| transition: transform 0.3s ease; |
| box-shadow: none !important; // 取消阴影 |
| cursor: pointer; |
| |
| //填充卡片 |
| &.p-card.p-component { |
| padding: 0; |
| } |
| |
| .p-card-body { |
| padding: 0; |
| } |
| |
| &:hover { |
| transform: translateY(-3px); |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); |
| } |
| |
| .p-card-content { |
| height: 140px; |
| display: flex; |
| justify-content: space-between; |
| padding: 0; |
| } |
| |
| img { |
| border-radius: 0.5rem 0 0 0.5rem; |
| object-fit: cover; |
| } |
| |
| .resource-header { |
| display: flex; |
| flex: 1; |
| max-width: 850px; |
| padding-left: 20px; |
| padding-right: 20px; |
| margin-bottom: 20px; |
| } |
| |
| .resource-content { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| |
| h3 { |
| font-size: 1.5rem; |
| font-weight: bold; |
| color: #2c3e50; |
| } |
| |
| .tags { |
| display: flex; |
| gap: 0.5rem; |
| } |
| |
| .resource-introduction { |
| color: #666; |
| font-size: 1rem; |
| margin-bottom: 0; |
| } |
| } |
| |
| .resources-states { |
| min-width: 120px; |
| display: flex; |
| flex-direction: column; |
| justify-content: flex-end; |
| align-items: flex-end; |
| gap: 0.5rem; |
| |
| .state-item { |
| display: flex; |
| align-items: center; |
| gap: 0.5rem; |
| color: #666; |
| font-size: 1rem; |
| } |
| } |
| } |
| } |