移动web开发填坑(一)
上周开始接触移动web开发,默默的掉进了很多坑里面。本文主要总结本周遇到的坑以及如何填坑。
1、px与rem换算。
设计稿的宽度一般是640px,而iphone是320px,所以测量设计稿的结果首先要除2,这时的单位还是px,下一步要转换成rem,怎么转换呢?得看根节点怎么设置的。
首先,任意浏览器的默认字体高都是16px,所有未经调整的浏览器都符合: 1em=16px;那么10px=0.625em;于是为了便于计算,可以为body设置font-size=62.5%;到这里,换算关系为10px=1rem。
综上,设计稿的px,要除20变成rem,所以,我们设置一个变量unit=20,在less里面直接将设计稿的数值除以@unit即可。
但并不是所有的地方都需要转换成rem,有些地方还是需要用px,比如某些不需要跟着设备变化而变化的文字,在这些地方的边距有的得用px,有的得用rem,还得多写代码才能如鱼得水。
由于没有按照上述方法做,于是我挑战了自己的心算能力和耐性,哈哈哈……
2、1px线条在retina屏显示2px;
这个问题在上一篇《移动web开发基础——像素》里面说明过产生原因。之所以还掉坑里,是因为开发时就忘了这个梗了……
知道原因之后,我们就来解决问题。要在手机上呈现1px,我们得写0.5px,由于并不是所有的ios系统都支持0.5px,所以为了实现0.5px,我们可以把1px缩0.5倍,横线就纵向缩scaleY(0.5),竖线就横向缩scaleX(0.5)。
其次是关于线条的插入方式,为了不影响html结构,最好通过before或after的伪类来插入空内容,然后设置边框1px,或宽高背景什么的。
3、a链接按上去出现黑色背景;
这个问题一行代码搞定:-webkit-tap-highlight-color:transparent;把它加到a的样式上去。
4、html里不要使用img标签,图片都放到样式里面当背景。好处是可以二次压缩图片。
移动开发还需积累经验啊,第一次花了好多时间各种量设计稿各种改代码各种找大神各种找资料,but,I enjoy it!
移动web开发填坑(一)的更多相关文章
- Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确 ...
- Java Web 开发填坑记- 如何正确的下载 Eclipse
一直以来,做 Java web 开发都是用 eclipse , 可是到 eclipse 官网一看,我的天 http://www.eclipse.org/downloads/eclipse-packag ...
- Android项目开发填坑记-Fragment的onBackPressed
Github版 CSDN版 知识背景 Fragment在当前的Android开发中,有两种引用方式,一个是 Android 3.0 时加入的,一个是supportV4包中的.这里简称为Fragment ...
- Android项目开发填坑记-Fragment的onAttach
背景 现在Android开发多使用一个Activity管理多个Fragment进行开发,不免需要两者相互传递数据,一般是给Fragment添加回调接口,让Activity继承并实现. 回调接口一般都写 ...
- Android项目开发填坑记-so文件引发的攻坚战
故事的最初 我负责的项目A要求有播放在线视频的功能,当时从别人的聊天记录的一瞥中发现百度有相关的SDK,当时找到的是Baidu-T5Player-SDK-Android-1.4s,项目中Demo的so ...
- Flutter 开发填坑指南
引言 第一次在使用Flutter是在Ubuntu机器上,但是因为Android Studio还有Sdk配置问题,flutter doctor总是在这一步报错...最近又在win10上配了一下环境(真香 ...
- 微信小程序开发填坑指南V1
近期用了一星期的时间,开发了一个小程序.小程序名称是:小特Jarvis,取自钢铁侠的管家. 后台采用C#编写,WebAPI接口.其实开发时间并不多,小程序本身提供的API,相比公众号的API来说,已经 ...
- 微信小程序开发填坑
1.模拟器和真机的差异 在开发的过程中,在模拟器上表现得好好的,在真机上却出问题的例子数不胜数.譬如动画的使用,cover-view上面使用定位,在模拟器好好的,在真机却错乱等等等等.造成这些错乱主要 ...
- [AI开发]DeepStream开发填坑记录
下面是在deepstream使用过程中碰到的一些坑: (1)Pipeline中的Sink如果需要编码存文件或者推rtmp的流,注意控制编码的参数,编码质量不要太高.否则可能Sink带不动,整个Pipe ...
随机推荐
- 纯C语言实现简单封装继承机制
0 继承是OO设计的基础 继承是OO设计中的基本部分,也是实现多态的基础,C++,C#,Objective-C.Java.PHP.JavaScript等为OO而设计的语言,其语言本身对实现继承提供了直 ...
- iOS 用xib自定义View
网上有很多关于实现用xib自定义View,那我为什么还要写呢?第一,我用他们的方法都没有实现.第二,用xib遇到了很多问题,想分享给大家. 用xib自定义View:FHCustomView ...
- android ImageUtils 图片处理工具类
/** * 加入文字到图片.相似水印文字. * @param gContext * @param gResId * @param gText * @return */ public static Bi ...
- Hibernate状态转换
瞬时态: 对象有new关键字创建,此时还未与Session关联. 持久态: 在执行session.save(bean)或saveOrUpdate()操作后,bean纳入Session的管理范围,这时b ...
- idea新建springmvc+spring+mybaties项目1
1,点击file,选择module,新建项目 2,选择maven -- >maven-archetype-webapp 3,输入GroupId,ArtifactId,点击next 4,选择本地m ...
- UICollectionView基础/UICollectionViewCell的四种创建方式
前言 UICollectionViewCell的四种创建方式:http://blog.csdn.net/ZC_Huang/article/details/52002302 这个控件,看起来与UITab ...
- c语言和oc对比
1)源文件对比 思考&实现1: 1)在C语言中,我们遇到不同后缀的文件有哪些? .c .o .out .h 2.基本语法对比 1)数据类型对比学习 2)变量的定义对比 3)流程控制语句对比 1 ...
- 《StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation》论文笔记
---恢复内容开始--- Motivation 使用单组的生成器G和判别训练图片在多个不同的图片域中进行转换 效果确实很逆天,难怪连Good Fellow都亲手给本文点赞 Introduction 论 ...
- bzoj 1009: [HNOI2008]GT考试【kmp+dp+矩阵快速幂】
看n和k的范围长得就很像矩阵乘法了 设f[i][j]表示到第i个位置的后缀最长匹配目标串的j位.转移的话显然是枚举0~9,然后选择f[i+1]中能被他转移的加起来,需要用到next数组.然后构造矩阵的 ...
- spoj 839 OPTM - Optimal Marks&&bzoj 2400【最小割】
因为是异或运算,所以考虑对每一位操作.对于所有已知mark的点,mark的当前位为1则连接(s,i,inf),否则连(i,t,inf),然后其他的边按照原图连(u,v,1),(v,u,1),跑最大流求 ...