这里讲下如何利用css3里的两个新属性 box-shadow和transition来实现如下所示的带有阴影和颜色渐变效果的按钮(下面这个只是图片;本想直接在这个页面下嵌html的,,试了后发现有些css样式貌似不给用就只能放图片了...=_=):

用CSS3实现带有阴影效果和颜色渐变的按钮-LMLPHP

首先是box-shados语法,用于向框添加一个或多个阴影:

box-shadow: h-shadow v-shadow blur spread color inset;
描述
h-shadow必须。水平阴影的位置
v-shadow必须。垂直阴影的位置
blur可选。模糊距离
spread可选。阴影尺寸
color可选。阴影的颜色
insert可选。将外部阴影改为内部阴影

下面是为按钮设置的位置为0px,1px  模糊距离为5px,颜色为深灰色的css样式

 <style>
.show
{
box-shadow: 0px 1px 5px #4a4a4a;
}
</style>

然后是transition,通过四个属性来营造过渡效果:

transition: property duration timing-function delay;
描述
transition-property规定设置过渡效果的css属性的名称
transition-duration规定完成过渡效果需要多少秒或毫秒
transition-timing-function规定速度效果的速度曲线
transition-delay规定过渡效果何时开始
 下面是过渡时长为0.3s,过渡函数为ease-out的样式
 <style>
.show
{
transition: .3s ease-out;
}
</style>

最后这是最开始时那个按钮效果的全部实现代码:
 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title> <style> .show
{
border:none;
display:inline-block; /* 行内块 */
padding:6px 16px;
color:white;
background-color: #F88E8B;
text-align: center;
vertical-align: middle;
margin-left:50px;
transition: .3s ease-out;
cursor: pointer; /* 获得焦点时改变指针样式 */
box-shadow: 0px 1px 5px #4a4a4a;
}
p.show a:link,p.show a:visited
{
text-decoration: none;
color:white;
}
p.show:hover
{
text-decoration: none;
color:white;
background-color: #F45551;
} </style> </head>
<body> <div>
<p class="show">
<a href="#">点击这里</a>
</p>
</div> </body>
</html>
 
 
05-29 01:12