1. 程式人生 > >東拼西湊完成一個“前端框架”(6) - 按鈕

東拼西湊完成一個“前端框架”(6) - 按鈕

目錄

  • 東拼西湊完成一個後臺 ”前端框架“ (1) - 佈局
  • 東拼西湊完成一個後臺 ”前端框架“ (2) - 字型圖示
  • 東拼西湊完成一個“前端框架”(3) - 側邊欄
  • 東拼西湊完成一個“前端框架”(4) - Tabs頁
  • 東拼西湊完成一個“前端框架”(5) - Tabs操作
  • 東拼西湊完成一個“前端框架”(6) - 按鈕

寫在前面

完成了整體框架的工作,下面開始寫一些元件;從按鈕開始,設計的思路主要參照 Bootstrap

基類

首先定義按鈕的基類 btn

CSS

.btn {
    display: inline-block;
    font-weight: 400;
    color: #212529;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    background-color: #fbfbfb;
    border: 1px solid #ddd;
    padding: 5px 10px;
    font-size: 13px;
    line-height: 1.5;
    border-radius: 4px;
}

定義了常規狀態後,我們還需要定義按鈕的 hoverdisabledactivefocus的狀態:

.btn:focus {
    outline: 0;
}

.btn:hover {
    background-color: #f6f6f6;
}

.btn:active {
    background-color: #eee;
}

.btn:disabled {
    cursor: not-allowed;
    background: #f5f5f5;
}

按鈕子類

下面是按鈕的子類,參照 BootStrap ,我也把按鈕的子類區分為 PrimarySuccess

DangerInfoWarnLink,下面以 Primary為例,首先定義一般狀態下的按鈕樣式,由於基類樣式已經定義了一些一本屬性,所以我們只需要定義 background-colorcolorborder-color即可:

.btn-primary {
    color: #fff;
    background-color: #1d7ce3;
    border-color: #1d7ce3;
}

同樣定義按鈕的 hoverdisabledactivefocus 的狀態:

.btn-primary:hover {
    color: #fff;
    background-color: #1c70cc;
    border-color: #1c70cc;
}

.btn-primary:active {
    color: #fff;
    background-color: #1a68bc;
    background-color: #1a68bc;
}

.btn-primary:disabled {
    background: #74b5fc;
}

其它


.btn-success {
    color: #fff;
    background-color: #20be44;
    border-color: #20be44;
}

.btn-success:hover {
    color: #fff;
    background-color: #1da73d;
    border-color: #1da73d;
}

.btn-success:active {
    color: #fff;
    background-color: #1b9838;
    border-color: #1d9f3b;
}

.btn-success:disabled {
    background: #74e28d;
}

.btn-danger {
    color: #fff;
    background-color: #eb2a2a;
    border-color: #eb2a2a;
}

.btn-danger:hover {
    color: #fff;
    background-color: #d42a2a;
    border-color: #d42a2a;
}

.btn-danger:active {
    color: #fff;
    background-color: #b92020;
    border-color: #b92020;
}

.btn-danger:disabled {
    background: #ee7171;
}

.btn-warning {
    color: #fff;
    background-color: #fbc305;
    border-color: #fbc305;
}

.btn-warning:hover {
    color: #fff;
    background-color: #eab708;
    border-color: #eab708;
}

.btn-warning:active {
    color: #fff;
    background-color: #d6a707;
    background-color: #d6a707;
}

.btn-warning:disabled {
    background: #fadc77;
}

.btn-link {
    color: #1c70cc;
    border-color: transparent;
    background: transparent;
}

.btn-link:hover {
    text-decoration: underline;
    background: transparent;
}

.btn-link:active {
    color: #e53c0a;
}

.btn-link:disabled {
    background: transparent;
    color: #92c2f6;
}

Size

定義了按鈕的基本狀態後,我們還可以定義按鈕的大小:

.btn-large {
    font-size: 16px;
    padding: 8px 16px;
    border-radius: 6px;
}

.btn-mini {
    font-size: 8px;
    padding: 3px 6px;
    border-radius: 2px;
}

Block

.btn-block {
    display: block;
    width: 100%;
}

效果

歡迎批評指正

原始碼地址

https://github.com/LaosanShang/ls-admin-front