"开发路上踩过的坑要一个个填起来————持续更新······(7月30日)"
欢迎转载,请注明出处!
https://gii16.github.io/learnmore/2016/07/29/problem.html
踩过的坑及解决方案记录在此篇博文中!
个人理解,如有偏颇,欢迎指出!
欢迎交流!
3.scss和css的区别
在使用github pages的jekylltheme时,发现有一个scss文件,略感好奇。查了一下,scss文件是css预处理器所产生的中间文件,可通过编译产生css文件。简单说起来就是,程序员觉得CSS只能一行一行的手动添加实在是太麻烦。于是大家约定好,使用一种语言写一个文件,通过该文件可以编译出具体的css文件,比如你在JAVA当中使用for循环执行了10词println,你只需要两行代码就搞定了,但最终运行的时候会输出10行内容。这多出来的八行就不需要你手动去写。
2.移动端CSS3中的contenteditable属性引起的图片删除问题(待解决)
CSS3中提供属性contenteditable,可将DIV变为可编辑的,为自行开发富文本编辑器提供便利。笔者之前在使用一款移动端开源编辑器artEditor(https://github.com/baixuexiyang/artEditor)时,遇到部分安卓机型图片无法删除的问题,即光标在图片后面时,点击删除键,不会删除图片,光标会直接跳到图片前面并删除图片前面的文字。笔者对该问题进行了测试,发现不仅是该编辑器的问题,即使直接使用contenteditable=ture的DIV,使用appendchild(img)方式插入图片,图片也无法删除。
初步预测该问题与不同机型的安卓浏览器内核有关,可能部分厂家对内核进行了二次开发,导致该兼容性问题。该问题尚未解决。
1.CSS3中的transition属性引起的滑动问题
设想你在使用Html+Js+Css进行开发,需要实现一个根据点击位置弹出菜单的功能,之前在移动端的开发中笔者遇到过这个需求,即在手指点击的位置弹出一个菜单。笔者的做法是对菜单DIV设置style="display:none",通过class设置position为fixed,在点击后,获取鼠标位置,对菜单DIV设置style="top:(具体值);left:(具体值);"(当然也可以使用JQuery实现)。
但在具体操作时,发现弹出菜单并不是直接出现在鼠标点击的位置,而是先出现在它原来的位置,然后滑行到鼠标点击的位置,这个方式会暴露菜单前一次所在的位置,用户体验不好。
查阅相关资料后发现是CSS3中新属性transition的设置问题。该属性用于产生一个过渡效果,详情可见W3C:http://www.w3school.com.cn/cssref/pr_transition.asp。想要关闭过渡效果只需要设置transition:none;或者transition-property:none;即可,这里要注意不同浏览器兼容性。
设置后,菜单直接出现,没有滑动效果。
"开发路上踩过的坑要一个个填起来————持续更新······(7月30日)"的更多相关文章
- Dcloud开发webApp踩过的坑
Dcloud开发webApp踩过的坑 一.总结 一句话总结:HTML5+扩展了JavaScript对象plus,使得js可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头.陀螺仪.文件系 ...
- 转:Flutter开发中踩过的坑
记录一下入手Flutter后实际开发中踩过的一些坑,这些坑希望后来者踩的越少越好.本文章默认读者已经掌握Flutter初步开发基础. 坑1问题:在debug模式下,App启动第一个页面会很慢,甚至是黑 ...
- vue项目开发中踩过的坑
一.路由 这两天移动端的同事在研究vue,跟我说看着我的项目做的,子路由访问的时候是空白的,我第一反应是,不会模块没加载进来吧,还是....此处省略一千字... 废话不多说上代码 路由代码 { pat ...
- 写一写关于python开发面试的常遇到的问题以及解答吧,持续更新——看心情
1,什么是python中的魔术方法? 魔术方法是重载运算符的昵称,形式是__init__类似这样的前后双下滑线组成的,常用的__init__,__new__,__call__,__str__,__ge ...
- vuejs 开发中踩到的坑
用 v-for 循环式 每个item的值相等的情况下,会影响v-model的双向绑定: Modal 组件开发,主要用slot 标签来实现 <template> <transitio ...
- 那些年,我们在Django web开发中踩过的坑(一)——神奇的‘/’与ajax+iframe上传
一.上传图片并在前端展示 为了避免前端整体刷新,我们采用ajax+iframe(兼容所有浏览器)上传,这样用户上传之后就可以立即看到图片: 上传前: 上传后: 前端部分html: <form s ...
- vue高频面试题(面试路上踩过的坑)
### Vue 双向绑定原理 mvvm 双向绑定,采用**数据劫持结合发布者-订阅者模式**的方式,通过 `Object.defineProperty()` 来劫持各个属性的 setter.gette ...
- iphone 开发h5 踩过的坑
html,body{ -webkit-text-size-adjust: none; } // 当需要在中文版chrome浏览器中显示小于12px的字体时,而且此时页面放大效果会被阻止 html,b ...
- asp.net开发中遇到的奇葩bug及解决办法(会持续更新。。。)
1,不知道你们遇没遇到过,在vs2010或更高版本上运行程序的时候,完全没问题,放在IIS中出现了问题,就比如左侧是菜单项,点击菜单右边显示,如果菜单链接是这样:content.aspx,而另一个链接 ...
随机推荐
- c#.net 访问SQL SERVER 时提示:尝试读取或写入受保护的内存。这通常指示其他内存已损坏
解决方法: 管理员身份运行 cmd -> 输入 netsh winsock reset 然后重启电脑. 引用 :http://blog.csdn.net/laijieyao/article/d ...
- IntelliJ IDEA优化总结
1.修改JVM参数 (IntelliJ IDEA 10.0.1包含以上版本不需要设置)修改idea.exe.vmoptions配置文件调整以下内容:-Xms256m-Xmx384m-XX:MaxPer ...
- Shiro权限控制框架
Subject:主体,可以看到主体可以是任何可以与应用交互的"用户": SecurityManager:相当于SpringMVC中的DispatcherServlet或者Strut ...
- android学习笔记17——对话框(PopupWindow)
PopupWindow ==> PopupWindow可创建类似对话框的窗口,使用其创建对话框窗口的操作步骤: 1.调用PopupWindow构造器构造PopupWindow对象: 2.调用Po ...
- objective-c 下面int 和 NSData数据 互相转换的方法
抄自这里 ; NSData *data = [NSData dataWithBytes: &i length: sizeof(i)]; int i; [data getBytes: & ...
- C#中WebService 的 Timer定时器过段时间后自动停止运行
我用.net做的一个Timer定时器,定时获取短信并给予回复,但大概过了十几个小时以后,Timer定时器会自动停止,再发送短信就不能收到回复,需要在服务器中重新运行定时器才可以,请教各位! 我是在.n ...
- ARM各种版本号知识以及型号的发展(三星为例)
1.ARM型号的发展历史 2.单片机.工业上一般使用RTOS(实时操作系统),Linux.Android用在影音娱乐等对实时性要求没那么高的场合: 3.ARM内核版本号和Soc版本号是由ARM确定的, ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(七):任务列表展示
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- zend studio 9实用快捷键大全 分享ZEND STUDIO 9的常用快捷键,高亮显示相同变量。
=====把鼠标放在调用函数默认是显示函数的参数,而按下ctrl时会显示出函数的原型=====查询调用该函数父函数,这个实在是太有用了:Ctrl+shift+M:模糊搜索方法名 [这块要注意配置,否则 ...
- Excel 操作类
转载:http://www.cnblogs.com/fellowcheng/archive/2010/08/21/1805158.html ExcelHelper(Excel2007) Code hi ...