我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CSS3制作逼真苹果键盘效果教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CSS3制作逼真苹果键盘效果教程

      前段时间,本站发布的css3绘制iphone6教程得到了大家的一致好评,更有朋友开玩笑说“这回终于不用卖肾了”。既然苹果产品如此受宠,那小编姐姐今天就再来一篇苹果系列的教程。

  拿同期的产品来对照,苹果PC电脑就要比iphone6贵多了,所以今天我们学着绘制电脑,其中最为复杂的莫过于键盘了。

苹果键盘

  其实说白了,键盘的复杂之处也就在于按键的数量很多,布局麻烦。其实它们的样式基本一致,所以数量不是问题,至于布局,这里我们用无序列表ul,并以功能区为单位进行分组。

  这么多个键,HTML基础代码会很长。受篇幅所限,教程中不展示每个按键的代码,只通过几个例子让大家了解整体结构。

基础代码

  我们发现,每个按键都有一个区分于其它按键的class,其格式均为“c+键盘代码”,这是意味着每个键有单独的样式吗?非也,它跟样式没有任何关系。这是因为原作者非常用心,在成品中加入了键盘监听事件,然后具体按下的键就通过“c+键盘代码”的方式获取,小编姐姐不得不佩服作者的耐性啊。

  首先,最外层的Keyboard是个圆角的矩形,用CSS3的border-radius属性即可轻松实现。

定义键盘样式代码

  我们为不同的圆角设置了不同的圆角半径,这是注重细节和追求品质的表现。而实际上,键盘4个角的半径确实不完全一样。

  运行效果如下图所示

圆角设置效果图

  接下来,我们为键盘的底板设置适当的颜色。我们知道,苹果键盘底板不是个完全的平面。它的上下两侧都有一个比较小的斜面。

  斜面属于轻微立体的结构,在二维世界里,通过渐变生成阴影即可让肉眼产生斜面的错觉。

  越向下倾斜,受光就越弱,颜色就越暗,所以这个渐变应该是一个线性渐变,从深灰色过渡到浅灰色。

设置渐变代码

  两行background-image的功能一致,不同前缀用于兼容不同的浏览器。

  我们来看看-webkitgradient的参数。

  第一个是linear,代表使用线性渐变。

  第二个是leftbottom,代表渐变的起点在左下角。

  第三个是lefttop,代表渐变的重点是左上角。

  所以渐变的方向是自下而上。

  后面的参数就是渐变点的设置了,以第一个点为例,0.27代表渐变的位置,起点处为0,终点处为1,0~1之间的其它数值代表起点和终点之间的位置,数值越小,越接近起点,反之越接近终点。

  而rgb(212,216,219)就是颜色了,三个数值分别代表红,绿,蓝三种色光的反射量,取值范围在0~255之间。

  运行效果如下图所示,上方的斜面感觉出来了

  设置渐变后效果

  下方的斜面比上方的斜面小,为了控制得更精确,我们换一个样式,通过内阴影来实现。

  阴影样式为box-shadow,其格式如下

设置阴影代码

  inset代表使用内阴影,默认为outset(外阴影),第二和第三个参数代表阴影跟元素本身之间的偏移量(分别是x和y),第四个参数8px代表阴影大小,第五个参数是阴影颜色。

  为了加强整体效果,我们可以使用多个阴影,并且内外结合,多个阴影用英文逗号分隔。

  对于苹果键盘来说,具体的代码如下所示

为键盘设置阴影的代码

  运行效果如下图所示

苹果键盘效果图

  键盘底板美化完毕,但是那些按键的链接样式太难看。不过我们先把内部的边距调大,不然esc键就跑到斜面上了。

调整内部边距代码

  现在,按键不会跑到斜面上了

  键盘底板效果图

  美化列表的第一步,是先把前面的圆点去掉,并且让它们支持横向排列。

  我们直接用元素选择器对页面上所有的列表进行样式设置。

  美化列表代码

  代码中,list-style-type=none代表列表项不显示任何图形,而li中的float:left则指示列表项通过左侧浮动的方式从左到右顺序排列。

  运行效果如下图所示

运行效果图

  “按键”总算横向排列了。

  下面我们设置按键的样式,首先设置好大小,圆角半径,字体格式和背景颜色等基础属性。

  由于是链接,所以我们需要通过text-decoration属性去掉下划线。

  然后上面的“按键”都挤一块了,所以我们通过margin属性增大外边距,让各“按键”之间都留有一定的空隙。

设置按键样式代码

  运行效果如下图所示,按键的感觉出来了

  效果图

  接下来,我们用类似的方法打造按键的立体感,但是按键的面积比键盘底板小多了,用渐变容易导致阴影区域太大,尺寸小的渐变又很难做得明显,所以这里直接给上边缘设置边框反而能得到更好的效果。

  设置上边框代码

  至于阴影,我们可以沿用前面的box-shadow来做,主要是阴影较渐变细腻,再小的尺寸也能调出不错的效果。

设置阴影代码

  具体的数值和颜色没有任何科学依据,都是设计师精雕细琢的结果,非常考验设计师的耐性和功力。

  运行效果如下图所示

效果图

    嘿嘿,很有苹果的感觉吧! 

      精益求精的设计师还继续为文字加上一点投影,让按键上的字有点凸起来的感觉。

  文字投影用的是text-shadow属性。

设置文字投影代码

  key样式运用了大量的CSS3代码,早期版本的IE不支持。若要兼容旧版IE,我们可以再加一个IE专属的filter属性。

兼容IE代码

  下面我们来添加点交互。本来按键在鼠标移过的时候不会触发效果,但为了让效果看起来更有动感,我们还是在hover伪类中加一下鼠标移上时的样式变化吧。

添加交互代码

  该样式只改变文字颜色,并不会产生凹下去的感觉,所以动感得来略显低调。

  再次运行,鼠标移到按键上时,对应按键的字体颜色会略微加深,如下图的tab键所示。

tab键所示

  接下来我们实现按下的效果

  按下的特点是按键凹下去了,所以高度变小,另一方面,凹下去以后受光变弱,因此颜色变暗。

实现按下效果代码

  具体的颜色值,边距大小,都是经过多次测试微调出来的结果,跟前面的样式一样都很考设计师的耐性。

  再次运行,就可以测试按下的效果了

效果图

  这时候大家可能有个疑问,keydown并没有出现在HTML标签上啊,为啥会莫名其妙地出来这么一个类呢?这里就是小编最佩服作者的一个地方了。这个类是为了键盘事件而设的。

  不过,由于键盘事件无法直接针对元素(毕竟键盘不是鼠标,没有位置的概念),所以原作者使用了一些简单的Javascript来实现,并引入jquery类库来简化元素的访问过程。

使用Javascript的代码

  由于本教程的重点是CSS3,所以Javascript部分就不作详细解释了,而以代码注释代之。

  配置好点的苹果电脑,价格动辄上万,往往能达到同期手机的两倍以上。所以说,这次编程学习网又帮大家节省了两个肾,你们是不是也应该多上论坛,分享点好东西来报答小编姐姐呢?

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CSS3制作逼真苹果键盘效果教程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CSS3制作逼真苹果键盘效果教程

编程学习网:前段时间,本站发布的CSS3绘制iphone6教程得到了大家的一致好评,更有朋友开玩笑说“这回终于不用卖肾了”。既然苹果产品如此受宠,那小编姐姐今天就再来一篇苹果系列的教程。拿同期的产品来对照,苹果PC电脑就要比iphone6贵多了,所以今天我们学着绘制电脑,其中最为复杂的莫过于键盘了。
CSS3制作逼真苹果键盘效果教程

编程热搜

  • HTML常用标签超详细整理
    目录HTML概述1.1 什么是HTML1.2 HTML概念HTML常用基础标签标签的分类:常用基本标签HTML概述1.1 什么是HTMLHTML是做网站的、Web开发、互联网生态开发(PC端+移动端+微应用) 目前我们使用的都是HTML5,支持传统的PC端开发,还支持移动端开发还支持微应用开发,从而替换了部分传统的移动
    HTML常用标签超详细整理
  • 一文看懂服务器操作
    web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的。
    一文看懂服务器操作
  • web前端:如何正确学习web前端流程以及如何找工作
    编程学习网:HTML、CSS、Javascript这三个是前端开发中最基本也是最必须的三个技能。前端的开发中,在页面的布局时,HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。
    web前端:如何正确学习web前端流程以及如何找工作
  • 完美实现浮动元素横排居中显示
    经常会遇到这样的页面布局:在一排显示几个不同的区域内容,但它们相对于页面是居中对齐的。注意这些区域内容不只是文字,也许还有图片或者其它元素混合而成。一般这样的布局我们很容易想到要用浮动float,但是怎么样居中对齐而又兼容低端浏览器哪?请接着往下看。首先看html
    完美实现浮动元素横排居中显示
  • 共同探讨CSS+DIV布局对建站的影响
    编程学习网:DIV是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。DIV元素是用来为HTML文档内大块的内容提供结构和背景的元素。现在就跟着小编共同来学习一下:共同探讨CSS+DIV布局对建站的影响。
    共同探讨CSS+DIV布局对建站的影响
  • 详解CSS伪元素的妙用单标签之美
    目录:before和::before的区别哪些标签不支持伪元素?利用 after 清除浮动伪元素与css sprites 雪碧图单个颜色实现按钮 hover 、a
    详解CSS伪元素的妙用单标签之美
  • web前端:实现单选框点击label标记中的文字也能选中
    编程学习网:label元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在label元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
    web前端:实现单选框点击label标记中的文字也能选中
  • 为你介绍CSS浮动清除最好的方法
    编程学习网:所谓网站(Website),就是指在网际网路(因特网)上,根据一定的规则,使用HTML等工具制作的用於展示特定内容的相关网页的集合。现在就跟着小编共同来学习一下:为你介绍CSS浮动清除最好的方法。
    为你介绍CSS浮动清除最好的方法
  • 如何提升网页的加载速度?
    编程学习网:相信在使用浏览器去浏览网页的时候,有些时候总会是出现网页加载慢的情况,除了网速的问题的话,更多的时候还是需要进行相关的设置来去提升网页的加载速度,会发现快的速度将会是让人感觉到非常的爽,下面我们来分享一下该如何才能进行优化,最终提升效率。方法是有很多种,在这里就不逐个的来列举出来了,有需要的朋友们可以参考一下。
    如何提升网页的加载速度?
  • web前端:js垃圾回收及内存泄漏
    编程学习网:Javascript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。
    web前端:js垃圾回收及内存泄漏

目录