项目任务管理进度条页面效果

代码语言:html

所属分类:布局界面

代码描述:项目任务管理进度条页面效果

代码标签: 进度 页面 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link type="text/css" rel="stylesheet" href="http://repo.bfw.wiki/bfwrepo/css/normalize.min.css">
<style>
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap");
:root {
  --body-bg-color: #e4e6f5;
  --border-color: #e5e4e9;
  --theme-bg-color: #fff;
  --body-color: #1b1f31;
  --main-color: #7a7e9d;
  --main-light-color: #a1a4b9;
  --title-color: #979dc3;
  --body-font: "Jost", sans-serif;
  --button-bg-color: #eaeefc;
  --button-color: #4d76fd;
  --unselected-mail: #f1f2f7;
  --calendar-border-color: #cbcfe0;
  --main-container-bg: #f0f0f7;
}

* {
  outline: none;
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: var(--body-font);
  background-color: var(--body-bg-color);
  color: var(--body-color);
  font-size: 15px;
}

img {
  max-width: 100%;
}

.container {
  background-color: var(--theme-bg-color);
  display: flex;
  max-width: 1600px;
  height: 100vh;
  overflow: hidden;
  margin: 0 auto;
}

.user-profile-area {
  width: 360px;
  border-right: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: auto;
}

.task-manager {
  font-size: 15px;
  color: var(--title-color);
  font-weight: 700;
  text-align: center;
  height: 70px;
  letter-spacing: 0.7px;
  line-height: 70px;
  position: sticky;
  top: 0;
  z-index: 3;
  text-transform: uppercase;
  background-color: var(--theme-bg-color);
  border-bottom: 1px solid var(--border-color);
}

.user-photo {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;
}

.user-name {
  font-weight: 600;
  margin: 15px 0 8px;
}

.user-mail {
  color: var(--main-light-color);
  font-size: 12px;
  font-weight: 600;
}

.user-profile {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
}

.side-wrapper {
  padding: 25px 40px;
  border-bottom: 1px solid var(--border-color);
}
.side-wrapper:last-child {
  border-bottom: none;
}

.user-notification {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 25px;
}
.user-notification svg {
  width: 36px;
  padding: 10px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: visible;
  background-color: var(--button-bg-color);
  color: var(--button-color);
}

.notify {
  position: relative;
}
.notify:not(:last-child) {
  margin-right: 25px;
}
.notify.alert {
  position: relative;
}
.notify.alert:before {
  content: "2";
  font-size: 9px;
  font-weight: 700;
  position: absolute;
  background-color: #ff537b;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  top: -3px;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 0px;
  color: #fff;
}
.notify.alert:last-child:before {
  content: "5";
}

.progress {
  margin-top: 5px;
  border-radius: 4px;
  background-color: #e7e7ef;
  height: 8px;
  overflow: hidden;
}
.progress-bar {
  background-color: var(--button-color);
  border-radius: 4px;
  width: 35%;
  height: 100%;
  animation: progressAnimation 6s;
  transition: 0.3s linear both;
  transition-property: width, background-color;
}
.progress-status {
  margin-top: 30px;
  text-align: right;
  color: var(--main-color);
  font-size: 10px;
  font-weight: 600;
}

@keyframes progressAnimation {
  0% {
    width: 5%;
    background-color: #a2b6f5;
  }
  100% {
    width: 35%;
  }
}
.task-status {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.task-stat {
  text-align: center;
}
.task-number {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 10px;
}
.task-condition {
  font-size: 12px;
  color: var(--main-color);
  font-weight: 700;
}
.task-tasks {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 600;
  color: var(--main-light-color);
}

.project-title {
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 18px;
}
.project-department {
  position: relative;
  vertical-align: middle;
  padding: 0 30px;
  color: var(--main-color);
  font-size: 13px;
  font-weight: 600;
  margin-top: 14px;
}
.project-department:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  top: 10;
  left: 0;
}
.project-department:nth-child(1):before {
  border: 3px solid #b36dfb;
}
.project-department:nth-child(2):before {
  border: 3px solid #625be8;
}
.project-department:nth-child(3):before {
  border: 3px solid #fec267;
}
.project-department:nth-child(4):before {
  border: 3px solid #fc6679;
}

.members {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 50%;
}

.team-member {
  display: flex;
  justify-content: space-between;
}

.main-area {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  overflow: hidden;
}

.header {
  height: 70px;
  width: 100%;
  border-bottom: 1px solid var(--border-color);
}

.search-bar {
  height: 70px;
  position: relative;
}
.search-bar input {
  height: 100%;
  width: 100%;
  display: block;
  background-color: transparent;
  border: none;
  color: var(--body-color);
  padding: 0 35px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a1a4b9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3e%3ccircle cx='11' cy='11' r='8'/%3e%3cpath d='M21 21l-4.35-4.35'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 18px;
  background-position: 0 50%;
  font-family: var(--body-font);
  font-weight: 600;
  font-size: 14px;
}
.search-bar input::placeholder {
  color: var(--main-light-color);
}

.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px 0 30px;
}

.inbox-calendar {
  margin-right: 200px;
}

.color-menu {
  flex-shrink: 0;
}

.msg {
  padding: 30px;
  background-color: var(--unselected-mail);
  border-bottom: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  transition: 0.4s ease;
}
.msg-title {
  font-weight: 600;
  font-size: 14px;
}
.msg-date {
  font-size: 11px;
  color: var(--main-light-color);
  font-weight: 600;
  margin-top: 5px;
}

.selected-bg {
  background-color: var(--theme-bg-color);
}

.msg-department {
  display: flex;
  justify-content: space-between;
  text-transform: uppercase;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
  font-weight: 700;
  letter-spacing: 0.8px;
  background-color: var(--theme-bg-color);
  border-left: 4px solid #b36dfb;
}
.msg-department svg {
  width: 12px;
}

.inbox {
  overflow: auto;
}
.inbox-container {
  border-right: 1px solid var(--border-color);
  width: 420px;
  display: flex;
  flex-direction: column;
  overflow: auto;
  flex-shrink: 0;
}

.main-container {
  display: flex;
  flex-grow: 1;
  overflow: hidden;
  background-color: var(--main-container-bg);
}

.mail-members {
  width: 40px;
  height: 40px;
  margin-left: auto;
}

.mail-choice {
  display: none;
}

.mail-choice + label:before {
  content: "";
  display: flex;
  width: 35px;
  height: 35px;
  border: 2px solid var(--main-light-color);
  margin-right: 15px;
  border-radius: 50%;
  transition: 0.3s;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='28' viewBox='0 0 24 24' fill='none' stroke='%23a1a4b9' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3e%3cpath d='M20 6L9 17l-5-5'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.mail-choice:checked + label:before {
  border-color: green;
  background-color: var(--button-color);
  border-color: var(--button-color);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='28' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3e%3cpath d='M20 6L9 17l-5-5'/%3e%3c/svg%3e");
}

.mail-choice:checked .msg {
  background-color: red;
}

.add-task {
  position: sticky;
  flex-shrink: 0;
  bottom: 0;
  left: 0;
  height: 80px;
  margin-top: auto;
  border-top: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  background-color: var(--theme-bg-color);
  animation: slideUp .45s .4s both;
}
.add-button {
  position: sticky;
  bottom: 10px;
  background-color: var(--button-color);
  border: 0;
  margin: auto;
  padding: 10px 30px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: 20px;
  flex-shrink: 0;
  z-index: 1;
  cursor: pointer;
}

.mail-detail {
  display: flex;
  animation: slideX .6s both;
  flex-direction: column;
  overflow: auto;
  background-color: var(--theme-bg-color);
}
.mail-detail-profile {
  display: flex;
  align-items: center;
}
.mail-detail-header {
  border-bottom: 1px solid var(--border-color);
  padding: 16px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mail-detail-name {
  font-size: 14px;
  font-weight: 600;
  margin-left: 10px;
  white-space: nowrap;
}

@keyframes slideX {
  0% {
    opacity: 0;
    transform: translateX(200px);
  }
}
.inbox-detail {
  width: 44px;
  height: 44px;
}

.mail-icons {
  flex-shrink: 0;
}
.mail-icons svg {
  width: 42px;
  height: 42px;
  padding: 13px;
  flex-shrink: 0;
  margin-left: 10px;
  border-radius: 50%;
  overflow: visible;
  background-color: var(--button-bg-color);
  color: var(--button-color);
}
.mail-icons svg:first-child {
  margin-left: 0;
}

.mail-contents {
  padding: 30px;
}
.mail-contents-subject {
  display: flex;
  align-items: center;
}
.mail-contents-title {
  font-weight: 700;
  font-size: 17px;
  margin-left: 5px;
}

.mail {
  padding-left: 55px;
  font-size: 14px;
  color: var(--main-light-color);
}
.mail-time {
  font-weight: 600;
  display: flex;
  align-items: center;
  font-size: 13px;
}
.mail-time svg {
  width: 12px;
  margin-right: 8px;
}
.mail-inside {
  padding: 20px 0 30px;
  border-bottom: 1px solid var(--border-color);
  color: var(--main-color);
  line-height: 1.8em;
}
.mail-checklist {
  padding: 20px 0;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border-color);
}
.mail-checklist .mail-choice + label:before {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-right: 12px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='18' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3e%3cpath d='M20 6L9 17l-5-5'/%3e%3c/svg%3e");
}
.mail-checklist label {
  display: flex;
  align-items: center;
  color: var(--button-color);
  font-weight: 600;
  font-size: 13px;
}
.mail-checklist-date {
  margin-left: 16px;
  font-size: 13px;
}

.assignee {
  font-size: 13px;
  margin-bottom: 10px;
}
.assignee :last-child {
  margin-bottom: 0;
}

.mail-assign {
  padding: 20px 0;
  border-bottom: 1px solid var(--border-color);
}

.mail-doc {
  display: flex;
  align-items: center;
  padding: 30px 0;
  flex-shrink: 0;
  justify-content: space-between;
}
.mail-doc-name {
  color: var(--body-color);
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 3px;
}
.mail-doc-date {
  font-size: 13px;
}
.mail-doc-wrapper {
  display: flex;
  align-items: center;
}
.mail-doc-wrapper svg {
  margin-right: 15px;
  background-color: var(--button-bg-color);
  color: var(--button-color);
  width: 50px;
  padding: 9px;
  border-radius: 4px;
}
.mail-doc-icons svg:not(:last-child) {
  margin-right: 8px;
}

.mail-textarea {
  display: flex;
  background-color: var(--unselected-mail);
  padding: 30px 0;
  border-top: 1px solid var(--border-color);
  position: sticky;
  bottom: 0;
  justify-content: space-between;
  margin-top: auto;
  left: 0;
  overflow: hidden;
  height: 80px;
  flex-shrink: 0;
}
.mail-textarea input {
  border: none;
  background-color: transparent;
  font-size: 15px;
  width: 100%;
  padding: 0 30px;
  color: var(--main-color);
}
.mail-textarea input::placeholder {
  color: var(--main-light-color);
}

.textarea-icons {
  display: flex;
  align-items: center;
}

.attach {
  padding: 30px;
  border-right: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
}
.attach svg {
  color: var(--main-color);
}

.send {
  padding: 30px;
  background-color: var(--button-color);
}
.send svg {
  color: var(--theme-bg-color);
}

.inbox-calendar-checkbox {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  opacity: 0;
  z-index: 3;
  cursor: pointer;
}

.toggle-page {
  overflow: hidden;
  z-index: 2;
}

.inbox-calendar {
  position: relative;
  width: 220px;
  border-radius: 20px;
  height: 36px;
  display: flex;
  align-items: center;
  overflow: hidden;
  flex-shrink: 0;
}

.layer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--unselected-mail);
  transition: 0.3s ease all;
  z-index: 1;
}

.toggle-page:before,
.toggle-page:after,
.toggle-page span {
  position: absolute;
  top: 4px;
  width: 100px;
  height: 10px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 9px 4px;
  border-radius: 20px;
  transition: 0.3s ease all;
}

.toggle-page:before {
  content: "";
  left: 4px;
  background-color: var(--button-color);
}

.toggle-page span {
  color: var(--theme-bg-color);
  z-index: 1;
  left: 6px;
}

.toggle-page:after {
  content: "Calendar";
  right: 4px;
  color: var(--main-light-color);
}

.inbox-calendar-checkbox:checked + .toggle-page span {
  color: var(--main-light-color);
}

.inbox-calendar-checkbox:checked + .toggle-page:before {
  left: 109px;
}

.inbox-calendar-checkbox:checked + .toggle-page:after {
  color: var(--theme-bg-color);
}

.calendar {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(7, minmax(195px, 1fr));
  grid-template-rows: 57px;
  grid-auto-rows: 120px;
  overflow: auto;
}
.calendar-wrapper {
  width: 100%;
  margin: auto;
  margin-top: 0;
  overflow: auto;
  border-radius: 10px;
  background: #fff;
  max-width: 975px;
  border: 1px solid var(--calendar-border-color);
}

.days {
  font-size: 12px;
  font-weight: 700;
  color: var(--main-color);
  text-align: center;
  line-height: 60px;
}
.days:not(:nth-of-type(7n + 7)) {
  border-right: 1px solid var(--calendar-border-color);
}

.day {
  padding: 15px;
  overflow: hidden;
  font-weight: 700;
  font-size: 13px;
  border-right: 1px solid var(--calendar-border-color);
  border-top: 1px solid var(--calendar-border-color);
}
.day:nth-of-type(7n + 7) {
  border-right: 0;
}
.day.not-work {
  color: var(--main-color);
}
.day.project-market {
  background-color: #f5eafd;
  border-left: 3px solid #b86df7;
  transition: 0.2s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.day.project-market:hover {
  transform: scale(1.3);
  border: 0;
  border-radius: 4px;
  background-image: linear-gradient(to top, #6625dc, #7739e3, #874cea, #965df1, #a46ef8);
  color: #fff;
  font-size: 15px;
}
.day.project-market:hover .project-detail {
  color: #fff;
  font-size: 9px;
}
.day.project-market:hover .project-detail:before {
  top: 2px;
}
.day.project-market:hover .hover-title {
  display: block;
  font-size: 8px;
  padding-left: 18px;
  margin-top: 5px 0 3px;
}
.day.project-market:hover .popup-check {
  display: block;
  width: 12px;
  margin-left: auto;
  margin-top: 6px;
}
.day.project-design {
  bac.........完整代码请登录后点击上方下载按钮下载查看

网友评论0