html与emoji表情
程序员文章站
2022-03-20 15:44:46
前言 做项目涉及表情在网页上显示。稍微研究了一下实现方案,整体思路不复杂,就是稍微涉及到一些新概念和新方法。 精灵图 精灵图又称雪碧图,简单来说就是一种把很多小图片拼成一张大图的图片形式。下图就是表情项目中的精灵图。注意这张精灵图是png格式,除表情外其他区域都是透明的。 精灵图解决的问题是:很多网 ......
前言
做项目涉及表情在网页上显示。稍微研究了一下实现方案,整体思路不复杂,就是稍微涉及到一些新概念和新方法。
精灵图
精灵图又称雪碧图,简单来说就是一种把很多小图片拼成一张大图的图片形式。下图就是表情项目中的精灵图。注意这张精灵图是png格式,除表情外其他区域都是透明的。
精灵图解决的问题是:很多网页在首次加载的时候都需要加载很多的小图片,而考虑到在同一时间,服务器拥堵的情况下,为了解决这一问题,采用了精灵图这一技术来缓解加载时间过长从而影响用户体验的这个问题。
项目中就将从上面的精灵图取出一个个表情。
背景定位
在精灵图上,每个表情都有自己的位置和长宽。例如笑哭表情,位置是-192px -128px,长宽均为64px。
所以用以下的css格式就能定位到这个表情。
width: 64px; height: 64px; background-position: -192px -128px !important; background: url("assets/img/emoji_sprite.png");
其中的background后的地址就是精灵图的位置了。
表情与文字混合
知道怎么切出精灵图后其他操作就简单了。把文字和表情都用span标签存放,有以下实例:
<div> <span>文字与表情</span> <span class="emoji-item"></span> <span>混合显示</span> </div>
.emoji-item { width: 64px; height: 64px; background-position: -192px -128px !important; background: url("assets/img/emoji_sprite.png"); display: inline-block; &:hover { cursor: pointer; } }
渲染后得到如下效果
上一篇: MySQL count知多少
推荐阅读
-
HTML XML XHTML DHTML区别与联系_html/css_WEB-ITnose
-
【急】如何快速高效地复制某个网页的一部分?使这一部分的布局与样式和原网站一样_html/css_WEB-ITnose
-
小强的HTML5移动开发之路(3)——HTML5与HTML4比较
-
关于web页面性能测量指标与建议_html/css_WEB-ITnose
-
[js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具)
-
css3与html5实现响应式导航菜单(导航栏)效果分享
-
JS与DOM 面试Web工作HTML
-
HTML5实战与剖析之原生拖拽(三dataTransfer对象)
-
html与字符&_html/css_WEB-ITnose
-
[前端框架] Bootstrap 3 与 Foundation 5 的五大区别 (译)_html/css_WEB-ITnose