一、iOS上浏览器使用jQuery不允许事件代理到document上
$(document).on("click", "选择器", function(){});
以上绑定可能会出现点击失效的情况。解决方法就是在这些代码前加一串代码:
$(body>*).bind("click", function(){....});
二、移动端点击输入框(input)禁止手机输入法键盘弹出
在移动端页面开发时,我们有时候经常会用到自己定义的输入键盘,而不想自带键盘弹出,那么可以在点击事件中加入以下代码:
$("选择器").click(function(){ document.activeElement.blur(); });
三、在iOS平台上input的button类型会带有默认样式。
这个在Android上使用以下代码就可以解决,但是iOS不起作用。
border: none;outline: none;background-color: 颜色;
但是在iOS上需要加一个:
-webkit-appearance: none;
这个属性同样适用于Android。
四、移动端Retina屏(iOS) 1px的解决方案
这个我在网上找到许多解决方案,这里就直接放链接了
五、iOS浏览器在设置overflow: scroll;
后滑动不流畅,感觉像是卡顿
这个目前在Android和PC上没得问题,但是iOS上有问题,解决方法就是加上属性:
-webkit-overflow-scrolling: touch;
参考资料:
六、元素在设置为display:inline-block;
后元素之间会产生间距
解决方法就是在包含这些元素的父元素上设置CSS属性font-size: 0;
七、Angular CLI和Vue CLI打包的项目上线不在根目录出现资源找不到问题!
- 对于ng,在
package.json
的build
后面改成ng build --base-href ./
。- 对于Vue,如果CLI工具是3.3以下版本,在
vue.config.js
中加入以下代码:
module.exports = { baseUrl: process.env.NODE_ENV === 'production' ? '/henjievue/' : '/'}
3.3以上的版本加入以下代码:
module.exports = { publicPath: process.env.NODE_ENV === 'production' ? '/henjievue/' : '/'}
八、Angular CLI开发对于assets文件的处理问题。
assets文件夹里面的内容在build后不参与打包,仅仅完整复制,所以在开发过程中路径的写法按绝对路径写就好了,如下代码:
<img src="assets/index/ng.png">
九、解决ios10及以上Safari无法禁止缩放的问题
//以下代码是为了解决在iOS 10系统之后设置meta来禁止缩放失效的问题 window.onload = function() { // 阻止双击放大 document.addEventListener('touchstart', function(event) { if (event.touches.length > 1) { event.preventDefault(); } }); var lastTouchEnd = 0; document.addEventListener('touchend', function(event) { var now = (new Date()).getTime(); if (now - lastTouchEnd <= 300) { event.preventDefault(); } lastTouchEnd = now; }, false); // 阻止双指放大 document.addEventListener('gesturestart', function(event) { event.preventDefault(); }); }
十、在最新的Vue脚手架工具下(3.x以上)使用2.x脚手架使用的搭建目录
在安装好最新的vue脚手架情况下,使用以下命令来安装一个额外工具:
npm install -g @vue/cli-init
之后就可以使用以下命令生成老的项目目录:
vue init webpack 项目名
...、设置margin:auto使块级元素居中,但是水平方向出现了滚动条,body没有占满浏览器窗口。
//HTML代码//CSS代码#smart>.smart-container-one { width: 1240px; height: 450px; margin: auto;}
出现这样的结果就是由于<p style="position: relative; left: 600px;"><img src="img/lazyload-b3704113c8.gif"/></p>
造成的,p元素是块级元素,定位如果为relative的话会占用位置,导致父元素被撑开了。
解决方法有: 1.给p元素设置绝对定位position: absolute
即可。 2.p元素换成内联元素,如span
。 3.把p元素设置为内联元素,如display: inline
。
注:这儿p标签包img太业余了,大家平时写不要这样写,一般用div,菜鸟一枚,还请大家见谅。