iT邦幫忙

2022 iThome 鐵人賽

DAY 9
1

上一篇分析完元件樣式 API ,今天就依照方式來客製化 Button 成設計稿的樣子

Button 設計稿
https://ithelp.ithome.com.tw/upload/images/20220922/20151365ksAowDckrS.jpg

對照下原本 Default Theme Button 的樣子
https://ithelp.ithome.com.tw/upload/images/20220922/201513657TCNc7Y28Z.jpg

分析設計稿:

樣式: 除了主色的 Button 外,還有黑色的按鈕,以及外框的按鈕,這邊我們很容易用 variants 來達成樣式變化

const Button = {
  baseStyle: {
    display: 'flex',
    bgColor: 'blue.500',
    color: 'white',
    fontWeight: '400',
    letterSpacing: '1.5',
    rounded: 'full',
    fontSize: '16px',
  },
  sizes: {
    md: {
      px: '24px',
      py: '10px',
      fontSize: '16px',
    },
    sm: {
      px: '14px',
      py: '6px',
      fonSize: '14px',
    },
  },
  variants: {
    rounded: {
      rounded: 'full',
    },
    outline: {
      borderColor: 'blue.500',
      borderWidth: '1px',
    },
    secondary: {
      bgColor: 'gray.900',
      color: 'white',
    },
    fixedWidth: {
      width: '152px',
      py: '10px',
    },
    defaultProps: {
      variants: 'rounded',
      size: 'md',
    },
  },
};

const customTheme = {
//引入進來
  components: {
    Button,
  },
 }

初步完成如下
https://ithelp.ithome.com.tw/upload/images/20220922/20151365xunuPGjAXd.jpg

接下來可以結合 Semantic Tokens 和 UI 狀態去調整


上一篇
Chakra UI 打造設計系統08: Component Style
下一篇
Chakra UI 打造設計系統10: Button UI state
系列文
產品設計師的 Chakra UI & framer-motion 實作筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言