webview 中 svg的坑
在这里不会详细介绍如何绘制svg图片,是讲一个很小的bug,看图
在这张图中,上面带有纹理和弧度的图片,原本是直接切了一张png的图片,但是由于是在app的登录注册的首页,那么这个35k的图片就会非常影响首页的展示效果,耗费时间,那么怎么做呢?
然后就像着,把后面的纹理切成一个GIF的图片,作为背景图后repeat,那么纹理就OK了。那么那个弧度呢?也还是切图吗?
NO!NO!NO!
我们这个时候就可以用svg了,利用svg绘制简单的如下的白色矩形凹槽的图片。
<svg id="svg" class="svg-path" width="200" height="50">
<path d="M0 2 C90 20 100 20 200 2 L200 50 L0 50 Z" stroke="#fff" fill="#fff" style="stroke-width: 1px;"></path>
</svg> 这样确实可以绘制成svg了,但是设置的宽度和高度是给定的px值,那么如何让其能适应不同手机屏幕的大小呢?
由于我们在项目中一直用的都是svg的图片,那么就自然想到也弄成svg的图片作为背景图。
是不是要生成svg的图片都是需要UI设计师来生成呢?其实,这个地方是不用的,既然我们已经绘制出来了,就可以像下面这个就好,
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" viewBox="0 0 200 50"><path d="M0 2 C90 20 100 20 200 2 L200 50 L0 50 Z" stroke="#f00" fill="#f00" style="stroke-width: 1px;"/></svg> 就是说,要把先前写的在html中写的svg标签的内容换成上面的样子,同时要将里面的空格和换行都去掉。生成xml的文件就可以在css中引用这个svg图片。 到这个地方,还是很完美的。
但是当在iphone6下打开时,就是这样了,
虽然width:100%,但是,左右两边都会有大哥1px的底色透出来,虽然浏览器上计算的宽度也是375px,但是就是有这个小缺陷。
然后就想,处理方法两个:
1. width:101%;margin-left:-1px;这个样就真是打补丁的解决方案了。但是这样会导致页面可以往左右滑动一点点的。
2. 就自然想到可能是绘制的svg的path的stroke-width导致的,本来是设置了1px,当设置为2px时,就没有上述问题了。
但是,为什么会这样,原理也还没明白,希望大家可以多多指教了。
webview 中 svg的坑的更多相关文章
- WebView中JS调用Android Method 遇到的坑整理
WebView是android中常用的一个组件,其作用是展示网页,并让网页和android app进行一些业务逻辑上的交互. 其坑无数,相信用过的都知道,一个一个来解决吧. 1.怎么互调: <! ...
- 整理iOS9适配中出现的坑(图文)
原文: http://www.cnblogs.com/dsxniubility/p/4821184.html 整理iOS9适配中出现的坑(图文) 本文主要是说一些iOS9适配中出现的坑,如果只是要 ...
- 整理 iOS 9 适配中出现的坑(图文)(转)
作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...
- 整理 iOS 9 适配中出现的坑
本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...
- 整理 iOS 9 适配中出现的坑(图文)
作者:董铂然 授权本站转载. 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iO ...
- iOS 9 适配中出现的坑
整理 iOS 9 适配中出现的坑(图文) 2015-10-22 iOS开发 库克表示:“现在在中国有150多万的开发者在iOS当中开发应用程序,我们鼓励更多的人开发应用程序,也鼓励更多的创业加入.” ...
- WebView中打开相机,文件选择器的问题和解决方法
近几年前端开发真是越来越火,H5页面开发的移动端页面甚至有夺我原生开发半壁江山的意思,忧伤忧伤.不过从实际情况考虑,H5一套代码到处跑的特性,我们的Android, IOS ...也就只能呵呵了.然而 ...
- Android使用WebView开发常见的坑
原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODE1NTI2MQ==&tempkey=uP3a%2BOgIN7vPbLfJp3BTCl2KabYi1%2F ...
- 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图
[源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...
随机推荐
- [ActionScript 3.0] AS3 绘制正二十面体(线条)
分析: 正二十面体共有12个顶点.30条棱,其20个面都是正三角形.每条棱所对应的弧度值为1.1071487177940904弧度,这个弧度值可通过求Math.sqrt(5)/5的反余弦值求得.正二十 ...
- Oracle中增加,修改,删除表中的列
有些时候,当一个表已经建好,并且已经使用后,发现需要对表结构进行修改,这个时候就要对表中的列进行增删查改操作. 为表增加新列: ALTER TABLE table_name ADD ( column_ ...
- java 线程同步 原理 sleep和wait区别
java线程同步的原理java会为每个Object对象分配一个monitor, 当某个对象(实例)的同步方法(synchronized methods)被多个线程调用时,该对象的monitor将负责处 ...
- 在eclipse中查找指定文件
1.ctrl+h打开搜索界面 File Search: containing text填*,File name patterns填写hello.*,可以找到hello为命名的文件 知道文件类型,查找里 ...
- JS实例
JS实例 1.跑马灯 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- C++primer 练习11.33:实现你自己版本的单词转换程序
// 11_33.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
- ua实现类似 www.taobao.com 在手机上打开自动转变为 m.taobao.com 的域名转换
user-agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.25 ...
- 使用virtualbox安装centos虚拟机,以及VirtualBox无法安装64位Linux CentOS的解决办法
之前一直用vmware的虚拟机,好吧,其实一直盗版挺不好的,然后想用centos搭点东西,结果在vmare上安装centos总是有些问题,看了人给的建议换用virtualbox,虽然virtualbo ...
- flex的Cairngorm框架
由于要写flex的项目,接触了一段时间的Cairngorm框架,初步认识它是flex的一个mvc结构的框架实现了页面,调用相应方法的控制,和后台交互之间的三层之间的联系.Cairngorm框架主要包括 ...
- python和php对比
对php比较熟悉,最近开始学些python,总是搞混,特记录下来,用于熟悉python:1.python数组和php不同,php相对简单统一,即array(包括普通数组和关联数组两部分),python ...