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