本文包含HTML效果,阅读原文以体验最佳效果:原文

按钮在各种软件的开发中几乎都是少不了的部分,好看的按钮有很多。今天我们来试着使用CSS制作简单的凸出按钮。

凸出按钮,顾名思义就是让用户觉得它是凸出于网页这个平面的,点击的时候会把它戳进去。 很多按钮都会有这样的效果,因为这的确是不错的用户体验。我们要做的是以CSS3为基础的简单凸出按钮。

文字凸出按钮

目标效果

L C G

核心知识点text-shadow

在CSS3中有两个创建投影的属性,它们分别是text-shadow和box-shadow。其中text-shadow 是为文字创建投影的,而text-shadow是为标签实际位置占用创建投影。

了解投影的人应该很多,用来区分同色范围和体现层次效果非常好用。 并且它也是CSS绘图技术中的一大势力。通过before、after和box-shadow 三个属性最多可以让一个标签绘制6个形状。再配合背景绘图技术可以让一个标签的效果十分丰富。

如果对相关的CSS绘图技术感兴趣的可以看看国外大神作的一个DIV完成的效果集:

One DIV

那么说一说text-shadow的基本用法吧。

.demo{
    text-shadow:5px 5px 3px #444;
}

Demo 水平 竖直 模糊 颜色

在text-shadow属性中有4个参数,分别是水平位移、竖直位移、模糊范围以及投影颜色。 可以当做一个简单的PS中的投影使用。不过投影的目标是文字,文字外的其他部分不会受到任何影响。 了解了text-shadow的用法哪我们的凸出按钮的原理也很清楚了。

text-shadow: 0px 5px 0px #9c936a;

首先使用text-shadow创建一个不模糊、不透明并且在文字下方的“投影”。 投影的颜色使用比文字颜色暗一些的颜色,然后调整竖直距离到合适位置。 这里适合使用一些粗一些的字体,这里我使用的是粗体微软雅黑。

:hover{
    color:#fff;
    text-shadow: 0px 5px 0px #aca37a;
}
:active{
    transform: translateY(5px);
    -webkit-transform: translateY(5px);
    text-shadow: 0px 0px 0px #aca37a;
}

然后我们为它加入hover的颜色过渡和active的位移过渡以及投影位移过渡。 用户按下后文字整体下沉,投影上移与文字重叠,以此制作出用户按下按钮的效果。 值得我们注意的是这里如果我们的对象的display属性值为inline的话是十分影响transform 位移的效果的,为了避免不必要的麻烦最好将它设置成其他值,这里我将标签的display设置为了 inline-block。

下面是整体的代码实现:

文字凸出按钮

虽然我们不能直接对图标进行投影,但是我们可以将图标转换成字体或者直接使用现成的图标字体。 它在Web中可以使用和文字完全相同的特性。

阿里巴巴适量字体图标库

块级凸出按钮

其实了解了文字凸出按钮的实现方法,块级凸出按钮的实现方法是一样的。 无非就是把文字的投影转移到了“块”上面。

目标效果

L C G

上面的内容就是将text-shadow换成box-shadow做成的。

叠加实验

依然是那句话,不把一个属性玩坏的前端工程师不是一个好绅士。我们来试试一些组合。

text-shadow+box-shadow

L C G

上面我们简单的将text-shadow和box-shadow组合在一起。 不过因为文字的位置问题显得很违和,我们需要再将文字进行一次位移,内部的文字我们尝试使用padding 进行位移。

L C G

成功,上面我们通过将padding-top和padding-bottom加入动画 只使用了一个标签做到了点击双层按压的效果,这种弹性效果可应用的场合还是比较多的。

实现的完整代码

结束语

在深入学习CSS之后,已经习惯于尽量减少HTML标签的使用,通过各种CSS的强大功能来完成样式。 不过在开发官方性质网站的时候为了兼容性还是得中规中矩的少用CSS3里的内容。 现在为了网站SEO优化也是放弃了使用一些动态生成DOM的框架进行开发, 老老实实的把DOM配合PHP写出来。

文章为原创内容并且是个人观点和见解,如有错误或问题欢迎指出
本文的地址为 :  http://www.evillcg.com/blog/item/1467620744/
       

用CSS制作凸出按钮效果相关推荐

  1. 纯CSS制作的图形效果

    纯CSS制作的图形效果 很少会有人意识到,当浏览器绘制的border,会有一个角度的问题.我们就是得用这样的一个技巧来制作三角的效果.我们只需要保证一边的边框是有色,其他边框色为透明色,这样我们就很容 ...

  2. php3d按钮,CSS实现3D按钮效果

    这次给大家带来CSS实现3D按钮效果,CSS实现3D按钮效果的注意事项有哪些,下面就是实战案例,一起来看一下. css巧妙利用了box-shadow来实现3D物体的立体感,当按钮按下的时候再去修改bo ...

  3. jQuery和CSS制作霓虹灯文字效果

    原文:jQuery和CSS制作霓虹灯文字效果 源代码下载地址:http://www.zuidaima.com/share/1607121521200128.htm

  4. html5实现立体照片墙效果,利用css制作3D照片墙效果

    利用css制作3D照片墙,具体代码如下所示: 无标题文档 以上代码是准备工作,在html代码的body主体中放了一个div,里面包着你想要显示在照片墙上的照片,数量可以任意.接着开始着手写样式. bo ...

  5. 纯CSS发光动效-CSS制作logo发光效果

    纯CSS发光动效-CSS制作logo发光效果 这里是html部分,复制进去就能用很简单 <div class="logo-nav"><a href="# ...

  6. css制作动态按钮导航栏,巧妙使用checkbox制作纯css动态导航栏

    前提:很多时候.我们的网页都需要一个垂直的导航栏.可以分类.有分类.自然就有展开.关闭的功能.你还在使用jquery操作dom来制作吗?那你就out了! 方案:使用checkbox 的 checked ...

  7. php在dw中设置按钮圆角,Dreamweaver怎么用CSS制作圆角按钮?

    Dreamweaver想要制作一个网页中的圆角按钮,并添加鼠标经过时变色的效果,该怎么制作呢?下面我们就来看看详细的教程. 软件名称:Adobe Dreamweaver CC 2018 V18.0 中 ...

  8. html5 数字滚动选择器,Odometer使用JavaScript和CSS制作数字滑动效果

    Odometer是一个使用JavaScript和CSS技术,制作出数字上下滑动的动画效果插件,有点类似与我们的天然气的读数的动画效果,这个插件是轻量级的,压缩版本只有3kg,使用CSS3动画技术,所以 ...

  9. 纯CSS实现3D按钮效果

    今天分享一个用纯CSS实现的3D按钮. css巧妙利用了box-shadow来实现3D物体的立体感,当按钮按下的时候再去修改box-shadow和top值. 让人感觉有一种按钮被按下的感觉.css代码 ...

最新文章

  1. java race condition_java多线程(一)Race Condition现象及产生的原因
  2. [JLOI2011]飞行路线
  3. python3.8自带matlop和numpy吗_Python enlop包_程序模块 - PyPI - Python中文网
  4. php 跳转网页 变量,php变量与JS变量实现不通过跳转直接交互的方法
  5. 5.7.20mysql修改密码,ubuntu系统mysql5.7.20忘记root密码修改
  6. go 打印结构体对象,结构体指针
  7. 信息学奥赛一本通 1310:【例2.2】车厢重组
  8. UIActionSheet与UIAlertView
  9. 会java c php三种语言_php java net三种语言的区别
  10. Linux学习第一篇之Linux系统安装——系统分区
  11. Web 爬虫 Apache Nutch 1.15 发布,支持 Java 10
  12. Java通过JNI/JNA加载dll库文件调用C接口,出现“java.lang.UnsatisfiedLinkError: no XXX in java.library.path”问题
  13. EAS 后台事务配置
  14. 平均随机一致性指标表MATLAB,AHP法中平均随机一致性指标的算法及MATLAB实现.pdf...
  15. Shader+UGUI仿制Unity拾色器
  16. 学习人工智能导论(3)
  17. 丹佛斯变频器al14故障代码_丹佛斯变频器故障说明
  18. android nio wifi 拥堵 超时,提高WiFi上网速度,改变道路拥挤的方法
  19. 万物互联之边缘计算简述-背景
  20. Verdi和DVE 中高亮设置波形颜色

热门文章

  1. Recovery简介
  2. 初级C语言怎么快速上手,看这里就够了,如何学习初级C语言
  3. 打造一部手机游智慧云服务体系,酷雷曼VR云游上线
  4. 阿里旺旺信息发送器(一键发送,教程V)
  5. 管理经济学计算机会成本,浅谈管理经济学教学中机会成本运用.doc
  6. Python实现图书数据挖掘系统(数据仓库)
  7. 利用Crontab + shell + python 每日更新小说
  8. 模拟天天酷跑游戏java_Java学习笔记_17 项目实战之天天酷跑(四):游戏主界面...
  9. #yyds干货盘点#HC-05与HC-06蓝牙模块对比
  10. 飞机是最不安全的交通工具吗?