"开发路上踩过的坑要一个个填起来————持续更新······(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,而另一个链接 ...
随机推荐
- UI—代理简单使用
代理:又叫委托 通俗的说是自己不能办的事 委托给别人去办.比如UITextField,UIAlertView都使用了代理 写代理的步骤: 1.声明代理里面的协议方法(@protocl) 2.声明协议的 ...
- 使用laravel的Eloquent模型获取数据库的指定列
使用laravel的Eloquent模型获取数据库的指定列 使用Laravel的ORM——Eloquent时,时常遇到的一个操作是取模型中的其中一些属性,对应的就是在数据库中取表的特定列. 如果使 ...
- Python基础教程【读书笔记】 - 2016/7/24
希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第九波:第9章 魔法方法.属性和迭代器 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.已 ...
- Python基础教程【读书笔记】 - 2016/7/4
希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第二波:第7章 更加抽象 [总览] 创建自己的对象,是Python的核心概念!Python被称为面向对象的语言.介绍如 ...
- Linux文件系统Ext2,Ext3,Ext4性能大比拼
Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4. Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只 ...
- VB TreeView控件使用详解
来源:http://www.newxing.com/Tech/Program/VisualBasic/TreeView_587.html 三小时快速掌握TreeView树状控件的使用.能不能掌握控件的 ...
- linux中cat、more、less命令区别详解
众所周知linux中命令cat.more.less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况:m ...
- 黄聪:C#如何通过MeasureString、Graphics获取字符串的像素长度
1. 使用g.MeasureString()获得 使用MeasureString测量出来的字符宽度,总是比实际宽度大一些,而且随着字符的长度增大,貌似实际宽度和测量宽度的差距也越来越大了.查了一 ...
- jsonp跨域请求的问题
今天发现json取数据的时候有时会报如下的错误: No 'Access-Control-Allow-Origin' header is present on the requested resourc ...
- TextView的属性列表
网上收集和自己整理的TextView控件中可选择的属性列表,经常可以用到的: android:autoLink 设置是否当 文本为URL链接/email/电话号码/map时,文本显示为可点 ...