我刚刚在Android应用程序上工作时发现了9-Patch PNG(somefile.9.png),我对工作量和工作量感到非常惊讶。此技术保存的文件。
有没有办法在常规浏览器上以某种方式实现此技术? (使用某种jQuery插件,或其他一些方式..)。如果它可以与CSS一起使用 - 那可能是非常好的改进......
答案 0 :(得分:17)
border-image
是最接近的匹配:
浏览器支持:http://caniuse.com/border-image
有用的生成器:http://border-image.com/
就jQuery而言,我通过Google搜索找到"jquery 9 slice scaling":
http://code.google.com/p/scale9grid/
(9切片缩放是something similar的Adobe Flash术语)
答案 1 :(得分:2)
scale9grid 插件生成多个DOM对象,仅在调整窗口大小时或在JavaScript手动触发调整大小时延伸。
您无法使用精灵图片,因为您无法重复部分图片。您必须裁剪8个图像(4个角,4个边),并且必须有一个颜色,在拉伸时将应用于图像的中心。
值得一提的是,只要您使用拉伸位图图像的技术,就会有最小尺寸。你只能拉伸它超过最小值。这个最小值取决于切出的部分。如果角是5x5像素。最佳方案中的最小值为整个元素的10x10像素。
答案 2 :(得分:0)
我可以建议我的解决方案。 这是jQuery插件(缩小):http://donreptile.com/plugins/slices9.min.js它支持图像精灵。 http://donreptile.com/plugins/demo.html这是工作演示。我试图制作最正确的9切片插件,它保持角不变,水平边框缩放-x,垂直边框缩放-y,中间缩放x和y。它提供了比边框背景更好的效果。