当控制浏览器滚动到边界时javascript
overscroll-behavior:containcss
.dialog{
position: fixed;
z-index: 5;
width:200px;
height:200px;
border:1px solid;
left:50%;
top:50%;
transform: translate(-50%,-50%);
background-color: #eee;
overflow: auto;
font-size:14px;
color:#222;
overscroll-behavior-y: none;
/*或者
overscroll-behavior-y:contain;
*/
}
复制代码
auto : 默认值 滚动到边缘后继续滚动外部的可滚动容器。java
contain : 阻止滚动链。es6
none : 和 contain 同样,但它也能够防止节点自己的滚动效果(例如 Android 炫光或 iOS 回弹)编程
contain和none的行为差别体现主要在移动端后端
overscroll-behavior-x: none浏览器
能够禁止左右滑动的手势导航bash
IE 浏览器写法: -ms-scroll-chainingwordpress
developer.mozilla.org/zh-CN/docs/…
www.zhangxinxu.com/wordpress/2…
网页容器滚动中止的时候,自动平滑定位到你但愿用户关注的重点区域
容器scroll-snap-type,子元素scroll-snap-align
做用在滚动父容器上 | 做用在滚动子元素上 |
---|---|
scroll-snap-type | scroll-snap-align |
scroll-snap-stop | scroll-margin/scroll-margin-(top/right/bottom/left)(用于精肯定位) |
scroll-padding/scroll-padding-(top/right/bottom/left) (用于精肯定位) |
应用范围:滚动父容器上 说明:肯定是水平滚动定位,仍是垂直滚动定位
第一个参数:指定哪一个轴
第二个参数:指定形式
应用范围:滚动父容器上【还在实验阶段】 说明:是否容许滚动容器忽略捕获位置
应用范围:滚动子元素上 说明:捕获点是上边缘,下边缘,仍是中间位置
www.cnblogs.com/lonelyxmas/…
www.zhangxinxu.com/wordpress/2…
选择没有任何子级的元素(包括文本节点)
针对后端返回的字段中有空值的状况,能够不用判断是否为空显示“暂无数据”
selector:empty
PS:有空格,不算为空
好比渲染连接
selector:empty
之前的作法:
<a href="http://www.baidu.com">http://www.baidu.com</a>
复制代码
能够用:empty
<a href="http://www.baidu.com" title="百度"></a>
a[href^="http"]:empty::before {
content: attr(href);
}
复制代码
将数字的小数部分去掉,只保留整数部分
以前:
Math.floor(10.2) //10
Math.ceil(-10.2) // -10
如今:
Math.trunc(10.2) //10
Math.trunc(-10.2) //-10
复制代码
parseInt('100.2kg') // 100
Math.trunc('100.2kg') //NaN
复制代码
对于trunc ,若是参数为字符串的话,内部会先使用Number将其先转为数值
Math.trunc(true) //1
Math.trunc(false) // 0
Math.trunc(null) // 0
复制代码
developer.mozilla.org/zh-CN/docs/…
表面意思:粘性的,粘性定位能够被认为是相对定位(relative)和固定定位(fixed)的混合。 元素在跨越特定阈值前为相对定位,以后为固定定位
假设咱们设置:
nav{
position:sticky;
top:20px;
}
复制代码
页面向下滚动时,nav的父元素div ,一旦视口的顶部与nav的距离小于20px(阈值),nav 就自动变为fixed定位。 页面继续向下滚动,父元素div完全离开视口(即整个父元素div彻底不可见),nav恢复成relative定位。
ps: 1,sticky生效的前提是,必须搭配top、bottom、left、right这四个属性一块儿使用 2,父级元素不能有任何overflow:visible之外的overflow设置,不然没有粘滞效果。由于改变了滚动容器
developer.mozilla.org/zh-CN/docs/…
www.zhangxinxu.com/wordpress/2…
www.ruanyifeng.com/blog/2019/1…
1,查看animation 动画过程,能够有效查看动画的细节,方便调试
2,访问的图片能够直接获取base64,不用再找工具进行图片转换base64了
javascript中只有对象,没有类的概念,是基于原型的面向对象语言
class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。
function Person(name,age) {
this.name = name;
this.age=age;
}
Person.prototype.say = function(){
return "个人名字叫" + this.name+"今年"+this.age+"岁了";
}
var obj=new Person("zhangsan",18);
复制代码
class Person{
constructor(name,age){//constructor是一个构造方法,用来接收参数
this.name = name;//this表明的是实例对象
this.age=age;
}
say(){
return "个人名字叫" + this.name+"今年"+this.age+"岁了";
}
}
var obj=new Person("zhangsan",18);
注:不存在变量提高
//ES5能够先使用再定义,存在变量提高
new Person();
function Person(){}
//ES6不存在变量提高,不然会报错
new Person();//Person is not defined
class Person {}
复制代码
class Person {
constructor() {}
static say(words) {
alert(words)
}
}
静态方法不在实例化对象的方法中,
所以里面不能有this,
使用方法:Person.say()
该方法不会被实例继承, 是直接经过类来调用
复制代码
class Person {}
Person.say = function() {}
复制代码
super 既能够看成函数使用,也能够看成对象使用
class Parent {
constructor(name) {
this.name = name;
}
}
class Child extends Parent {
constructor(name) {
//this.name = name; // ReferenceError
super(name);//子类的构造函数必须执行一次 super 函数,不然会报错。
}
}
//var parent = new Parent();
var child = new Child('金');
document.write(child.name)
注:
子类必须在constructor方法中调用super方法,而后再对其进行加工
只有调用super以后,才可使用this关键字,不然会报错
复制代码
class Parent {
constructor(name) {
this.name = name;
}
say(){
document.write('我姓'+this.name+',我能够说话了');
}
}
class Child extends Parent {
constructor(name) {
super(name);
}
test(){
super.say()
}
}
var child = new Child('金');
child.test();
复制代码