东拼西凑完成一个“前端框架”(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 ,我也把按钮的子类区分为 PrimarySuccessDangerInfoWarnLink,下面以 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-frontend

原文地址:https://www.cnblogs.com/xinwang/p/12169190.html

时间: 2024-07-29 16:56:07

东拼西凑完成一个“前端框架”(6) - 按钮的相关文章

东拼西凑完成一个“前端框架”(4) - Tabs页

目录 东拼西凑完成一个后台 "前端框架" (1) -?布局 ?东拼西凑完成一个后台 "前端框架" (2) - 字体图标 东拼西凑完成一个"前端框架"(3) - 侧边栏 写在前面 在完成了侧边栏后,后台的基础架子已经基本出来了:下面是来加入Tab页面,正在纠结于Tab页面是否用现成的轮子, 比如 LayUI 想一想还是撸起袖子直接干一个 Tabs 实现原理 Title 列表 头部标题部分,用于显示Tab页的标题和打开状态 Content 内容 用于

东拼西凑完成一个“前端框架”(5) - Tabs操作

目录 东拼西凑完成一个后台 "前端框架" (1) -?布局 东拼西凑完成一个后台 "前端框架" (2) - 字体图标 东拼西凑完成一个"前端框架"(3) - 侧边栏 东拼西凑完成一个"前端框架"(4) - Tabs页 写在前面 Tabs页面完成的基本操作完成,但是功能还不够完备: Tab页打开过多超出的如何处理? Tab页关闭所有.关闭其它操作 Tab页刷新操作 设计 这里参考LayUIAdmin的设计方式: Tab栏左右未知

东拼西凑完成一个“前端框架”(3) - 侧边栏

写在前面 东拼西凑完成一个后台 "前端框架" (1) -?布局 ?东拼西凑完成一个后台 "前端框架" (2) - 字体图标 项目引入? font-awesome <link href="lib/font-awesome/css/font-awesome.min.css" rel="stylesheet" /> iconfont自定义图标 <link href="css/icon.css"

东拼西凑完成一个“前端框架”(2) - 字体图标

前言 还记得以前开发的项目目录下都会存放一大堆图标文件,难以维护,同时图标和字体的对齐也是一个麻烦事儿: 下面简单列出字体图标的优劣势,内容摘自图标字体的优缺点和使用 优势 轻量级:一个图标字体要比一系列的图像要小.一旦字体加载了,图标就会马上渲染出来,不需要下载一个个图像.这样可以减少HTTP的请求数量,而且和HTML5的离线存储配合,可以对性能做出优化. 灵活性:不调字体可以像页面中的文字一样,通过font-size属性来对其进行大小的设置,而且还可以添加各种文字效果,如color.hove

东拼西凑完成一个“前端框架”(1) - 布局

前言 在如今"大前端"时代,各种前端框架层出不穷,诸如: ant-Design ant-Design Pro Element iView LayUI 等许多非常优秀的前端框架:本着程序员折腾的精神,于是计划自己去写一套后台的"前端框架",之所以这个前端框架要用"",是因为它只是把许多常用的组件经过改造拼接到一起,类似于 AdminLTE; Start 起个名字 - lsadmin 基于 jQuery 布局 布局参照目前许多流行的后台框架,类似于a

前端框架技术交流群

近来想研究前端框架,所以建立一个前端框架的爱好群,欢迎各位大牛进入,378388745

吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:表示一个危险动作的按钮操作

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"

吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:制作一个超小按钮

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"

源码时代前端干货分享|从零动手封装一个通用的vue按钮组件

我们在使用目前最主流的前端框架vue在开发过程中,组件是一个非常重要的组成部分,可以这么说,所有的vue 应用,都是由一个一个的小组件拼装而成的.正是由于vue组件如此重要,所以vue的生态中,也非常多的UI组件库,其中最著名的非Element-UI莫属,里面有非常多的封装完善的组件提供给我们使用,大大的增强了我们的开发效率.那么,这些UI框架的组件,究竟是如何封装的呢?如何动手从零开始封装自己的组件呢?接下来,我们就从最简单的一个Button的组件封装说起.如下,是Element-UI中的按钮