本节学习CSS按钮样式定义。其实没啥新知识,就是把老知识玩出花样来~
如上例所示,上面左边的按钮是默认样式,右边的按钮定义了一些常用的样式属性,源码如下所示:
button {
background-color: #46acb6;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
通过background-color属性可以设置按钮背景颜色,color属性可设置按钮的前景色,按钮元素内文本颜色。
.button1 {background-color: #d4d854;} /* Green */
.button2 {background-color: #46acb6;} /* Blue */
.button3 {background-color: Tomato;} /* Red */
.button4 {background-color: #e7e7e7; color: black;} /* Gray */
.button5 {background-color: #555555;} /* Black */
通过font-size属性可以定义按钮内字体大小。
.button1 {font-size: 10px;}
.button2 {font-size: 12px;}
.button3 {font-size: 16px;}
.button4 {font-size: 20px;}
.button5 {font-size: 24px;}
通过padding属性可以定义按钮元素的内边距。
.button1 {padding: 10px 24px;}
.button2 {padding: 12px 28px;}
.button3 {padding: 14px 40px;}
.button4 {padding: 32px 16px;}
.button5 {padding: 16px;}
通过CSS中的border-radius属性可以把按钮类元素设置成圆角。
.button1 {border-radius: 2px;}
.button2 {border-radius: 4px;}
.button3 {border-radius: 8px;}
.button4 {border-radius: 12px;}
.button5 {border-radius: 50%;}
通过CSS中的border属性可以替按钮类元素添加上彩色边框。
.button1 {
background-color: white;
color: black;
border: 2px solid #d4d854; /* Green */
}
...
通过伪类选择器:hover可以设置按钮悬浮状态(hover)下的样式,比如改变其颜色。(上例中设置了transition-duration属性以设置样式变化的过渡时长。)
.button {
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
}
.button:hover {
background-color: #d4d854; /* Green */
color: white;
}
...
按钮元素的阴影(shadow)可以通过CSS中的box-shadow属性经来定义。
.button1 {
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
}
.button2:hover {
box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}
当按钮属于disabled不可用按钮,可通过CSS的相关属性,将其表现得更加明显,暗示用户此按钮当前不可用。一般来说,可通过CSS中的opacity属性将其设置成有一定透明度,同时设置cursor属性来修饰悬浮状态下的鼠标样式。
.disabled {
opacity: 0.6;
cursor: not-allowed;
}