在网页上渲染 Android 的 9-Patch 图像
最近在写网页的时候,需要在一段文本或一块区域的周边显示 Android 的 9-Patch 图像。就像这样:
Google了一下,发现可以用 CSS3 的 border-image 来实现这样的效果。瞬间感觉又 get 到了新知识,然后兴冲冲地开始用 border-image 来做,而且网上还有不少 border-image 的生成工具,如 Mozilla 的,十分方便。
过了一会儿后,我发现 border-image 并没有 Android 的 9-Patch 那么强大。border-image 只能简单的把一张背景图分成 9 格,四个角的图片填到 border 的四个角,上下左右四个边的图片就只能整体拉伸或重复填充到 border 的四个边。而 Android 的 9-Patch 还能指定多个拉伸区域,就像这样:
上面这样的效果,用 border-image 无论如何也做不出来。惆怅了,难道要用 TABLE 把 border 拼出来?好麻烦的啊~~~
实在不想用 TABLE 来拼这样的效果,只有又去 Google。功夫不负有心人,终于让我找到了一个 Javascript:https://github.com/chrislondon/9-Patch-Image-for-Websites。其作者当初也是想在网页上渲染出 Android 的 9-Patch 图像,大概也是苦于没有现成的 lib 可以用,于是就自己写了一个。可惜这个项目 4 年前就已经停止维护了。我把代码下下来后,本地测试效果,确实有 bug,9-Patch 图像没有正常渲染出来(我用的是 Chrome 85.0.4183.102),developer tool 的 console 里报错了。
又 Google 了下错误信息,在 https://stackoverflow.com/a/19821523/8340533 找到了热心网友的 fix。于是很 happy 的把他的 fixing merge 进去,又发现了一些小 bug,干脆全都 fix 了。最后把原作者的仓库 fork 了,然后 commit 自己的 fix,全部甩到 Github 上。
现在这个 Javascript 已经可以用了,需要的同学可以 checkout https://github.com/blackmonkey/jQuery-9-Patch。下面贴一张效果图:
在网页上渲染 Android 的 9-Patch 图像相关推荐
- 网页上获取摄像头,并截取图像
1.页面html <div class="layui-inline"><video width="200px" height="15 ...
- 将数据库中的页面渲染到网页上
将数据库中的数据渲染到网页上 其实十分的简单,首先通过nodejs中的koa模块来建立与服务器的联系. var Koa = require("koa"); var app = ne ...
- 如何用three.js将3D医学图像渲染到网页上
可以使用three.js来渲染3D医学图像到网页上,具体步骤如下: 创建一个three.js场景,添加相机,光源和渲染器. 加载3D医学图像,并将其添加到场景中. 使用渲染器渲染场景,并将渲染结果显示 ...
- 如何在移动网页上“禁用”缩放?
本文翻译自:How can I "disable" zoom on a mobile web page? I am creating a mobile web page that ...
- 前端菜鸡之路——网页上的图标
如何在页面上放置我们需要的图标,这个问题从我学习前端以来便一直伴随着我,从开始的全部用img标签来放图标到之后的用雪碧图,用字体,但是再多的方法也要懂得如何在不同的情形下去使用这些方法.所以刚在加班中 ...
- 网页上点击java没反应_JavaScript_javascript:void(0)点击登录没反应怎么解决,巧用批处理解决IE不支持JavaScri - phpStudy...
javascript:void(0)点击登录没反应怎么解决 巧用批处理解决IE不支持JavaScript等问题 rem =====批处理开始======== regsvr32 actxprxy.dll ...
- 博客社会学图——使用python检索网页上的友情链接
<博客社会学图--使用python检索网页上的友情链接>,作者:leniy,原文链接:http://www.cnblogs.com/leniy/archive/2012/11/27/pyt ...
- cufon,在网页上画出特殊字体
为什么80%的码农都做不了架构师?>>> 设计师们有时会使用特殊字体让网页更好看,但浏览器通常只支持Arial.Helvetica等通用字体.那么通常的解决办法就是将特殊字体做 ...
- win10电脑安装android,5步教你如何在Win10 PC上安装Android 10
尚处于开发状态的Bliss OS 12系统,能够让你在PC端上测试Android 10的诸多新特性和新功能. 该系统基于AOSP(Android开放源代码项目)和Android-x86项目,能让你在任 ...
最新文章
- python常用标准库有哪些-Python - 常用标准库
- VIM编辑器使用技巧
- 数据分析处理库Pandas——merge操作
- 【搜索引擎基础知识2】网络爬虫的介绍
- java 用于xcopy复制_java调用copy复制子文件夹及文件到指定目录(非xcopy)
- django21:admin后台管理\media配置\图片防盗链\暴露后端资源\路由分发\时间分类
- 大学计算机专业全民,计算机专业大学排名实力顺序(上大学国内计算机专业大学哪个好值得报读)...
- spring boot(5)---RestTemplate请求HTTP(1)
- 19、SOAP安装,运用与比对结果解释
- Spring+Hibernate整合Hessian
- 3.2、如何通过JLINK下载程序(附JLINK驱动)
- 电脑连接android智能电视的一种方法
- html自动跳转到另外页面,html从一个页面跳转至另一个html页面的子页面
- 【python报错】Python词云库wordcloud不显示中文
- 【开发工具】MySQL免安装版
- linux硬盘对拷 再生龙,使用Clonezilla(再生龙)克隆Linux系统
- java ee 7精粹_Java EE 7精粹 ([美]Arun Gupta) 中文pdf扫描版[68MB]
- Codeforces-Round#548(Div.2)-C-Edgy Trees-快速幂
- zip 命令的解释与示例
- SCAU10690 分面包
热门文章
- 客户关系管理咨询服务 - 为您提供最佳的CRM解决方案,为您的企业
- 真正的高手,都在培养系统
- 如何创业系列1:创业四要素
- usnews美国大学计算机科学排名,美国USNews美国大学计算机专业排名
- 全国计算机二级选择题(自总结易错题)
- 计算机二级二叉树解题技巧,计算机二级选择题技巧(六)二叉树的分类与性质...
- Lightroom Mobile调色练习(1)——黑金、黑冰色调
- PAT --- 1041.考试座位号 (15 分)
- Flume的学习及使用
- simulink 双馈风机虚拟同步机VSG控制,风储VSG控制频域SFR模型,对比不同惯量J对一次调频频率的影响