无需图片,使用CSS3实现圆角按钮[转]
原文地址:http://www.open-open.com/home/space-37924-do-blog-id-5789.html
首先来看看效果:
事例HTML代码:
- <a href="#" class="button green">button</a>
- <a href="#" class="button blue">button</a>
- <a href="#" class="button gray">button</a>
如果没有 CSS ,那么上面的 HTML 执行起来是这样的:
开始 CSS3 的编写:
- .button {
- display: inline-block;
- position: relative;
- margin: 10px;
- padding: 0 20px;
- text-align: center;
- text-decoration: none;
- font: bold 12px/25px Arial, sans-serif;
- }
一些不同颜色的按钮样式:
- .green {
- color: #3e5706;
- background: #a5cd4e;
- }
- /* Blue Color */
- .blue {
- color: #19667d;
- background: #70c9e3;
- }
- /* Gray Color */
- .gray {
- color: #515151;
- background: #d3d3d3;
- }
接下来开始用 CSS 处理圆角:
- .button {
- display: inline-block;
- position: relative;
- margin: 10px;
- padding: 0 20px;
- text-align: center;
- text-decoration: none;
- font: bold 12px/25px Arial, sans-serif;
- text-shadow: 1px 1px 1px rgba(255,255,255, .22);
- -webkit-border-radius: 30px;
- -moz-border-radius: 30px;
- border-radius: 30px;
- -webkit-box-shadow: 1px 1px 1px rgba(0,0,0, .29), inset 1px 1px 1px rgba(255,255,255, .44);
- -moz-box-shadow: 1px 1px 1px rgba(0,0,0, .29), inset 1px 1px 1px rgba(255,255,255, .44);
- box-shadow: 1px 1px 1px rgba(0,0,0, .29), inset 1px 1px 1px rgba(255,255,255, .44);
- -webkit-transition: all 0.15s ease;
- -moz-transition: all 0.15s ease;
- -o-transition: all 0.15s ease;
- -ms-transition: all 0.15s ease;
- transition: all 0.15s ease;
- }
现在的按钮圆润多了,看看:
还不够啊,没有立体效果,再完善完善:
- /* Green Color */
- .green {
- color: #3e5706;
- background: #a5cd4e; /* Old browsers */
- background: -moz-linear-gradient(top, #a5cd4e 0%, #6b8f1a 100%); /* FF3.6+ */
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a5cd4e), color-stop(100%,#6b8f1a)); /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); /* Chrome10+,Safari5.1+ */
- background: -o-linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); /* Opera 11.10+ */
- background: -ms-linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); /* IE10+ */
- background: linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); /* W3C */
- }
- /* Blue Color */
- .blue {
- color: #19667d;
- background: #70c9e3; /* Old browsers */
- background: -moz-linear-gradient(top, #70c9e3 0%, #39a0be 100%); /* FF3.6+ */
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#70c9e3), color-stop(100%,#39a0be)); /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #70c9e3 0%,#39a0be 100%); /* Chrome10+,Safari5.1+ */
- background: -o-linear-gradient(top, #70c9e3 0%,#39a0be 100%); /* Opera 11.10+ */
- background: -ms-linear-gradient(top, #70c9e3 0%,#39a0be 100%); /* IE10+ */
- background: linear-gradient(top, #70c9e3 0%,#39a0be 100%); /* W3C */
- }
- /* Gray Color */
- .gray {
- color: #515151;
- background: #d3d3d3; /* Old browsers */
- background: -moz-linear-gradient(top, #d3d3d3 0%, #8a8a8a 100%); /* FF3.6+ */
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d3d3d3), color-stop(100%,#8a8a8a)); /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #d3d3d3 0%,#8a8a8a 100%); /* Chrome10+,Safari5.1+ */
- background: -o-linear-gradient(top, #d3d3d3 0%,#8a8a8a 100%); /* Opera 11.10+ */
- background: -ms-linear-gradient(top, #d3d3d3 0%,#8a8a8a 100%); /* IE10+ */
- background: linear-gradient(top, #d3d3d3 0%,#8a8a8a 100%); /* W3C */
- }
现在爽了,漂亮了,你喜欢这样的按钮吗?
为了让按钮更大一点,我们增加了个 big 样式:
- <a href="#" class="button big green">sign in <span>One minute</span></a>
- <a href="#" class="button big blue">sign in <span>One minute</span></a>
- <a href="#" class="button big gray">sign in <span>One minute</span></a>
- /* Big Button Style */
- .big {
- padding: 0 40px;
- padding-top: 10px;
- height: 45px;
- text-transform: uppercase;
- font: bold 20px/22px Arial, sans-serif;
- }
- .big span {
- display: block;
- text-transform: none;
- font: italic normal 12px/18px Georgia, sans-serif;
- text-shadow: 1px 1px 1px rgba(255,255,255, .12);
- }
大按钮的效果:
我们还需要处理下当鼠标移到按钮上方时显示不同的效果:
- .button:hover {
- -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.29), inset 0px 0px 2px rgba(0,0,0, .5);
- -moz-box-shadow: 1px 1px 1px rgba(0,0,0,.29), inset 0px 0px 2px rgba(0,0,0, .5);
- box-shadow: 1px 1px 1px rgba(0,0,0,.29), inset 0px 0px 2px rgba(0,0,0, .5);
- }
- .button:active {
- -webkit-box-shadow: inset 0px 0px 3px rgba(0,0,0, .8);
- -moz-box-shadow: inset 0px 0px 3px rgba(0,0,0, .8);
- box-shadow: inset 0px 0px 3px rgba(0,0,0, .8);
- }
效果如下:
好了,完美的CSS3按钮解决方案。
无需图片,使用CSS3实现圆角按钮[转]的更多相关文章
- 【转载】无需图片,使用CSS3实现圆角按钮
原文地址:http://www.open-open.com/home/space-37924-do-blog-id-5789.html 首先来看看效果: 事例HTML代码: <a href=&q ...
- 使用HTML5+CSS3制作圆角内发光按钮----示例
<!doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 超简单CSS3实现圆角、阴影、透明效果
CSS实现圆角,阴影,透明的方法很多,传统的方法都比较复杂,用CSS3就方便很多了,虽然现在各浏览器对CSS3的支持还不是很好,但不久的将来CSS3就会普及. 1.圆角 CSS3实现圆角有两种方法. ...
- android 圆角按钮和按钮颜色
1. android 设置圆角按钮后,按下按钮后,还能改变按钮的颜色 <?xml version="1.0" encoding="UTF-8"?> ...
- 9款精美别致的CSS3菜单和按钮
1.超具立体感的CSS3 3D菜单 菜单项带小图标 记得之前向大家分享过不少CSS3 3D菜单,比如CSS3 3D动画菜单 3D立方体菜单项和HTML5/CSS3自定义下拉框 3D卡片折叠动画,效果都 ...
- win10 uwp 圆角按钮
本文讲的是如何做圆角按钮,我们在UWP本来的按钮都是矩形,圆角Radius没有,所以本文就用简单方法去做圆角按钮. 我们按钮需要圆角,而自带没有,其实做一个很简单,把原来的按钮变为背景透明,然后使用矩 ...
- DDGScreenShot--iOS 图片裁剪,切圆角,加边框,你还用cornerRadius,还有更高级的用法
写在前面 我们肯定做过这样的需求,给一个图片切圆角, 当然我们大多采用简单粗暴的方法 myIcon.layer.cornerRadius = 16.5 myIcon.layer.masksToBoun ...
- 一款基于css3的动画按钮
之前为大家分享了 推荐10款纯css3实现的实用按钮.今天给大家带来一款基于css3的动画按钮.实现的效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class=& ...
- [CSS3] 动画暗角按钮
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- 第三百三十四天 how can I 坚持
I give up my dream that day,else,I coming on,the day my heart is die…… 那天,梦已碎,那天,心已死. 晚上看了个电影<奔爱& ...
- 非官方的iOS设计指南
非官方的iOS设计指南 有时候为iOS设计app并不是一件简单的事,但是如果你能找到正确的最新的苹果设备信息,并按照正确的方向,那么为iOS设计app或许会变得简单容易些. 关于这些指南 这些指南描述 ...
- Connecting Physics Bodies
[Connecting Physics Bodies] The kinds of joints you can create in Sprite Kit. You add or remove join ...
- HDU 1312 Red and Black DFS(深度优先搜索) 和 BFS(广度优先搜索)
Red and Black Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- Codeforces 479E. Riding in a Lift (dp + 前缀和优化)
题目链接:http://codeforces.com/contest/479/problem/E 题意: 给定一个启示的楼层a,有一个不能去的楼层b,对于你可以去的下一个楼层必须满足你 ...
- Windows 消息机制详解
总的来说: MSG包括: 窗口句柄,指示MSG发送的目的窗口 消息标识 lPARAM.wParam 发送时间 发送时的鼠标位置 关于消息队列: Windows系统有一个系统消息队列 每个线程都有一 ...
- Classifier4J的中文支持
Classifier4J是一个轻量级的分类工具,支持贝叶斯分类.向量空间模型.信息摘要等.然而它却不支持中文,异常信息大致如下: Exception in thread "main" ...
- thinkPHP 无法create,无法插入数据,提示非法数据对象
4.thinkPHP 无法create,提示非法数据对象解决方法:不要create+add,而用 data[]= '';+add$m_r_fa_account = D('R_fa_account'); ...
- 数据库连接池 c3p0 demo 代码和分析
import java.sql.Connection; import java.sql.SQLException; import java.beans.PropertyVetoException; i ...
- (剑指Offer)面试题15:链表中倒数第k个结点
题目: 输入一个链表,输出该链表中倒数第k个结点. 例如:链表中有6个结点,从头到尾依次为1,2,3,4,5,6,则该链表的倒数第3个结点为4. 链表结点定义: struct ListNode{ in ...