iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0
Vue.js

從零開始的Vue之旅系列 第 26

畫面樣式設定範例&配色小工具分享

  • 分享至 

  • xImage
  •  

今天修改一些版面設計
1.區域滾輪
當專案或子任務數量多時,box3的內容會超出原本設定好的高度,需要用到滾輪才能看到更多任務項目,但我想讓box3區域側邊有滾輪可滑動就好,不想整個畫面都滑動,可以只在單一區塊加上CSS的overflow屬性就好,但記得要先設定好高度
例如我只在box3加入 overflow-y: auto;表示垂直方向內容超出時才出現滾輪

.box3{
   width: 35%;
   height: 90vh;
   overflow-y: auto;
   background-color: #E6DDD3;
   border-radius: 12px;
   box-shadow: 0px 4px 8px #C9B7A6;
}

2.版面配色調整
App.vue的<style scoped>區域

<style scoped>
/* 主要版面 */
.container {
  width: 95%;
  height: 90vh;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  margin: 20px 30px 30px 20px;
  text-align: center;
  font-family: Arial, sans-serif;
  background: #F5F3F0;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0px 4px 8px #C9B7A6;
}

.box1{
   width: 25%;
   height: 90vh;
   background-color: #EBD8C3;
   border-radius: 12px;
   box-shadow: 0px 4px 8px #C9B7A6;
}
.box2{
   width: 35%;
   height: 90vh;
   overflow-y: auto;
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: #D8CFC4;
   border-radius: 12px;
   box-shadow: 0px 4px 8px #C9B7A6;
}
.box3{
   width: 35%;
   height: 90vh;
   overflow-y: auto;
   background-color: #E6DDD3;
   border-radius: 12px;
   box-shadow: 0px 4px 8px #C9B7A6;
}

/* 標題 */
h1 {
  margin-bottom: 20px;
  color: #5B4636;
}

.textcolor{
  color: #6B5847;
}
/* 輸入框與按鈕 */
.input-box {
  width: 90%;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.input-box input {
  flex: 1;
  padding: 10px;
  border: 1px solid #C9B7A6;
  border-radius: 6px;
  font-size: 15px;
}

.input-box button {
  font-size: 15px;
  margin-left: 8px;
  padding: 10px 16px;
  border: none;
  background-color: #A67B5B;
  color: #F5F3F0;
  border-radius: 6px;
  cursor: pointer;
}

.input-box button:hover {
  background-color: #8C6247;
}

/* 清單 */
.task-list {
  width: 90%;
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.task-list li {
  background: #F5F3F0;
  margin: 6px 0;
  padding: 10px;
  border-radius: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.3s;
}

.task-list li span {
  cursor: pointer;
  display: flex;
  align-items: center; /*讓 checkbox 和文字垂直置中 */
}

/* 完成的項目 */
.task-list li.done span {
  text-decoration: line-through;
  color: gray;
}

.task-list input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #9DBF9E; /*設定勾選顏色 (大部分現代瀏覽器支援) */
  cursor: pointer;
  margin-right: 8px; /* 與文字的間距 */
}

/* 刪除按鈕 */
.delete {
  background-color: #D98C8C;
  color: #F5F3F0;
  border: none;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
}

.delete:hover {
  background-color: #C26666;
}
</style>

ProjectTracker.vue的<style scoped>區域

<style scoped>
.project-tracker {
  padding: 16px;
  color: #5B4636;
}

.input-box {
  width: 100%;
  display: flex;
  margin: 10px 0;
}

.input-box input {
  flex: 1;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.input-box button {
  margin-left: 6px;
  padding: 8px 14px;
  border: none;
  background: #A67B5B;
  color: #F5F3F0;
  border-radius: 6px;
  cursor: pointer;
}
.input-box button:hover {
  background: #8C6247;
}

/* 專案區塊 */
.project-box {
  background: #FFFFFF;
  color: #6B5847;
  padding: 12px;
  margin: 12px 0;
  border-radius: 8px;
  text-align: left;
}

/* 進度條 */
.progress-bar {
  width: 100%;
  background: #EBD8C3;
  border-radius: 8px;
  height: 16px;
  margin: 6px 0;
  overflow: hidden;
}
.progress {
  height: 100%;
  background: #A3C9A8;
  transition: width 0.3s ease;
}

/* 子任務清單 */
.task-list {
  list-style: none;
  padding: 0;
}
.task-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 6px 0;
}
.task-list li.done span {
  text-decoration: line-through;
  color: gray;
}

/*刪除按鈕*/
.deletProjectButton {
  padding: 8px;
  border: none;
  background-color: #e49999;
  border-radius: 6px;
  cursor: pointer;
  margin-left: 20px;
  color: #5B4636;
}
.deletProjectButton:hover{
  background-color: #C26666;
}
.deletSubtaskButton{
  margin-left: 6px;
  padding: 8px;
  border: none;
  background-color: #D98C8C;
  color: #F5F3F0;
  border-radius: 6px;
  cursor: pointer;
}
.deletSubtaskButton:hover{
   background-color: #C26666;
}
</style>

3.box1的預計排版
https://ithelp.ithome.com.tw/upload/images/20251008/20178690q3fn44hVay.png


這裡提供一些我試用的過免費的配色網頁,可以提供一些配色靈感
1.ColorSpace (mycolor.space)
直覺簡單,輸入一個顏色就能生出多套配色,點擊上方的gradient或是3-color-gradient能看到用2或3個顏色漸層的效果,下方還提供css的寫法

2.huemint
AI 驅動的配色工具,根據品牌風格自動產生色票
依據需求可選擇畫面要用幾個顏色,可自行修改顏色,能預覽各種呈現效果,例如商品視覺圖、網頁、UI配色等

3.Palettemaker
讓你在真實商品、UI、海報、設計範例中預覽所選色票效果
可選擇單一顏色來預覽效果,也會提供雙色或多色配色建議來進行預覽


還有很多有趣的設計小工具,大家能多嘗試找到自己適用工具
好的今天分享到這,明天來用用看整合API
各位明天見~


上一篇
小閒聊_談談Firebase
系列文
從零開始的Vue之旅26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言