web常用知识
Html
打电话
<a href="tel:0755-10086">打电话给:0755-10086</a>
发短信
<a href="sms:10086">发短信给: 10086</a>
发邮件
<a href="mailto:邮箱名">邮箱名</a>
IOS下,取消input在输入的时候英文首字母的默认大写的情况
<input autocapitalize="off" autocorrect="off" />
取消微信浏览器缓存
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
Css
Ios兼容性
去掉IOS下点击时的灰色半透明背景
-webkit-tap-highlight-color: rgba(0,0,0,0);
禁止IOS调整字体大小
body {
-webkit-text-size-adjust: 100% !important;
}
webkit下的placeholder文字颜色修改
-webkit-input-placeholder
阻止IOS长按时的系统菜单
// 全局*使用,会导致输入框表单在Ios中无法进行字符键入
-webkit-touch-callout: none
IOS下CSS滚动不流畅
// 对于局部滚动,ios8以上,不加此效果,滚动的超级慢,ios8一下,不加此效果,滚动还算比较流畅 // 对于body滚动,ios8以上,不加此效果同样拥有弹性滚动效果 -webkit-overflow-scrolling: touch;
Android兼容性
去除Android的语音输入按钮
input::-webkit-input-speech-button {
display: none;
}
隐藏特定Android机型的灰色滚动条线
::-webkit-scrollbar {
opacity: 0;
width: 0;
height: 0;
background: rgba(0,0,0,0);
}
Android局部滚动时隐藏原生滚动条
::-webkit-scrollbar{
opacity: 0;
}
通用兼容性
webkit默认表单样式去除
-webkit-appearance:none
禁止长按时下载图片
-webkit-touch-callout: none
禁用radio和checkbox默认样式
input[type=radio]::-ms-check,input[type=checkbox]::-ms-check{display: none;}
禁止winphone默认触摸事件
-ms-touch-action: none
禁止用户选中文字
css方法:-前缀-user-select:none; js方法:onselectstart='return false';
设置了placeholder文字,focus时文字没有隐藏
input:focus::-webkit-input-placeholder{
opacity: 0;
}
-webkit-filter: grayscale(100%) 在retina下模糊
-webkit-filter: grayscale(100%);
css3-translateY移动抖动
将单位从百分比单位改成px
动画过程有闪烁
// 通常发生在动画开始的时候
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000;
-moz-perspective: 1000;
-ms-perspective: 1000;
perspective: 1000;
当CSS中定义中文font-size小于12px的时候,浏览器仍然使用12px时
// 放在body上会导致页面缩放失效,建议不要定义成可继承的或全局的
-webkit-text-size-adjust:none
相关知识
单行文字省略
.txt-omit {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
多行文字省略
.txt-omit2{
overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2; // 行数
-webkit-box-orient: vertical;
}
文字换行
word-break:break-all [怎样进行单词断句]
word-warp:break-word [是否允许在单词内断句]
overflow-wrap:break-word [css3用来代替word-warp的,兼容性不够]
word-break和word-warp区别
word-break ——keep-all兼容性不够,效果上等同normal
——简单粗暴,直接在一行内断行,不管是否前面是否有英文单词 word-warp ——无兼容性问题,放心使用;
——如果一行中存在英文单词,会将其后"长单词"移到下一行 word-break ——存在非官方的break-word属性,只有苹果和谷歌等webkit游览器支持 word-break :break-all ——免疫中文逗号对"长单词"的自动断行,word-warp:break-word不行 ———————————————————————————
word-break:break-word和word-warp:break-word效果等同
推荐使用[word-break:break-all],不存在任何问题
disabled和readonly的区别
disabled:会使文本框变灰,而且通过request.getParameter("name")得不到文本框中内容(如果有的话) readonly:只是使文本框不能输入,外观没有变化,而且通过request.getParameter("name")可以得到内容
Flex布局
布局定义
.box{
display: -webkit-flex; /*webkit*/
display: flex;
} /*行内flex*/
.box{
display: -webkit-inline-flex; /*webkit*/
display:inline-flex;
}
容器样式
.box{
flex-direction: row | row-reverse | column | column-reverse;
/*主轴方向:左到右(默认) | 右到左 | 上到下 | 下到上*/ flex-wrap: nowrap | wrap | wrap-reverse;
/*换行:不换行(默认) | 换行 | 换行并第一行在下方*/ flex-flow: <flex-direction> || <flex-wrap>;
/*主轴方向和换行简写*/ justify-content: flex-start | flex-end | center | space-between | space-around;
/*主轴对齐方式:左对齐(默认) | 右对齐 | 居中对齐 | 两端对齐 | 平均分布*/ align-items: flex-start | flex-end | center | baseline | stretch;
/*交叉轴对齐方式:顶部对齐(默认) | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 文本基线对齐*/ align-content: flex-start | flex-end | center | space-between | space-around | stretch;
/*多主轴对齐:顶部对齐(默认) | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 上下平均分布*/
}
子元素样式
.item{
order: <integer>;
/*排序:数值越小,越排前,默认为0*/ flex-grow: <number>; /* default 0 */
/*放大:默认0(即如果有剩余空间也不放大,值为1则放大,2是1的双倍大小,以此类推)*/ flex-shrink: <number>; /* default 1 */
/*缩小:默认1(如果空间不足则会缩小,值为0不缩小)*/ flex-basis: <length> | auto; /* default auto */
/*固定大小:默认为0,可以设置px值,也可以设置百分比大小*/ flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
/*flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto,*/ align-self: auto | flex-start | flex-end | center | baseline | stretch;
/*单独对齐方式:自动(默认) | 顶部对齐 | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 文本基线对齐*/
}
JavaScript
移动端经验
移动端横竖屏检测
orientationchange-事件
window.orientation-旋转角度
90-右旋
-90-左旋
企业微信端无法触发IOS自动播放
WeixinJSBridge.invoke('showItemMenus',{},function(res){
audio.play()
})
微信内关闭页面方法
WeixinJSBridge.invoke('closeWindow');
WeixinJSBridge.call('closeWindow');
微信页面调整字体大小的问题
/**
* 页面加入这段代码可使Android机器页面不再受到用户字体缩放强制改变大小
* 但是会有一个1秒左右的延迟,期间可以考虑通过loading展示
* 仅供参考
*/
(function(){
if (typeof(WeixinJSBridge) == "undefined") {
document.addEventListener("WeixinJSBridgeReady", function (e) {
setTimeout(function(){
WeixinJSBridge.invoke('setFontSizeCallback',{"fontSize":0}, function(res) {
alert(JSON.stringify(res));
});
},0);
});
} else {
setTimeout(function(){
WeixinJSBridge.invoke('setFontSizeCallback',{"fontSize":0}, function(res) {
alert(JSON.stringify(res));
});
},0);
}
})();
相关知识
== 和 === 的区别
1.对于string,number等基础类型,==和===是有区别的 a.不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 b.同类型比较,直接进行“值”比较,两者结果一样 2.对于Array,Object等高级类型,==和===是没有区别的 a.进行“指针地址”比较 3.基础类型与高级类型,==和===是有区别的 a.对于==,将高级转化为基础类型,进行“值”比较 b.因为类型不同,===结果为false
undefined与null的区别
——涵义上: 1.null为空对象指针,undefined为未声明对象 2.null表示"无"的对象(转为数值时为0),undefined表示"无"的初始值(转为数值时为NaN) 3.null表示"没有对象",即此处不应该有值;undefined表示"缺少值",即此处应该有一个值,但是还没有定义 4.undefined值是派生自null值,因此ECMA-262规定对它们的相等性测试要返回true ——用法上: [null] 1.作为函数的参数,表示该函数的参数不是对象 2.作为对象原型链的终点 [undefined] 1.变量被声明了,但没有赋值时,就等于undefined 2.调用函数时,应该提供的参数没有提供,该参数等于undefined 3.对象没有赋值的属性,该属性的值为undefined
mouseover与mouseenter的区别
不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件
mouseout与mouseleave的区别
不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件 只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件
根据坐标获取元素
element.elementFromPoint(x, y);
web常用知识的更多相关文章
- web前端知识体系总结
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
- 自己总结的web前端知识体系大全【欢迎补充】
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
- web前端知识体系大全
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
- web前端知识体系小结(转)
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
- javascript常用知识点集
javascript常用知识点集 目录结构 一.jquery源码中常见知识点 二.javascript中原型链常见的知识点 三.常用的方法集知识点 一.jquery源码中常见的知识点 1.string ...
- WEB相关知识和Tomcat服务器
WEB相关知识 1.Internet上供外界访问的Web资源分为: 静态web资源:指web页面中供人们浏览的数据始终是不变的. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间 ...
- (1)写给Web初学者的教案-----学习Web的知识架构
1:学习Web的知识架构 前文中我们简单的介绍了一些关于Web的基本知识,这里任老师再次强调一下凡是用浏览器打开的网站我们就称之为Web应用程序(B/S结构).除此之外其它需要下载安装的软件或是手机 ...
- Web前端知识体系精简
Web前端技术由html.css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知 ...
- Java web 入门知识 及HTTP协议详解
Java web 入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...
随机推荐
- 夯实Java基础系列5:Java文件和Java包结构
目录 Java中的包概念 包的作用 package 的目录结构 设置 CLASSPATH 系统变量 常用jar包 java软件包的类型 dt.jar rt.jar *.java文件的奥秘 *.Java ...
- Cocos Creator实现左右跳游戏
1. 玩法说明 游戏开始后,点击屏幕左右两侧,机器人朝左上方或右上方跳一步,如果下一步有石块,成功得1分,否则游戏结束. 2. 模块介绍 游戏场景分为2个:主页场景(home).游戏场景(game) ...
- CDH6.3.0 - Cloudera Enterprise 6 Release Guide 安装准备篇
一.安装之前 Cloudera管理器的存储空间规划 ClouderaManager跟踪许多后台流程中的服务.作业和应用程序的指标.所有这些指标都需要存储.根据组织的大小,此存储可以是本地的或远程的,基 ...
- idea 设置jvm参数
使用IDEA进行JVM参数设置: Run->Edit Configurations... 进入之后: 之后就可以运行代码测试,可以看到控制台打印的信息: 说明: -Xms:20M 初始化堆内存大 ...
- linux查看系统的一些版本号指令
1.查看系统 [root@iZbp1eoiap1e1jb6pvo390Z ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch ...
- uC/OS-III 任务详解(四)
uC/OS系统的任务一般都放在最开始介绍,我放在第四章主要是对模糊的概念作清晰的讲解. 从用户的角度来看,uC/OS-III 中的任务可以分为5 种状态,分别是休眠态.就绪态.运行态.挂起态和中断态, ...
- java基础之泛型对象与json互转
1. 场景描述 把泛型对象转成字符串放到缓存中,获取后使用有点问题,记录下,有碰到的朋友,参考下. 2. 解决方案 2.1 操作类及说明 /** * @auther: 软件老王 */ public s ...
- iframe 设置占屏幕高度 100%
给 iframe 元素设置 fixed 定位,并且设置 100% 的宽和高: iframe { position: fixed; background: #000; border: none; top ...
- Java 并发编程(三):如何保证共享变量的可见性?
上一篇,我们谈了谈如何通过同步来保证共享变量的原子性(一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行),本篇我们来谈一谈如何保证共享变量的可见性(多个线程访问同一个变 ...
- 【TencentOS tiny】深度源码分析(2)——调度器
温馨提示:本文不描述与浮点相关的寄存器的内容,如需了解自行查阅(毕竟我自己也不懂) 调度器的基本概念 TencentOS tiny中提供的任务调度器是基于优先级的全抢占式调度,在系统运行过程中,当有比 ...