分类 默认分类 下的文章

语法和兼容性

paint-order: normal | [ fill || stroke || markers ]
//||表示或者,可以并存,因此下面的写法都是合法的:

paint-order: normal;

paint-order: fill;
paint-order: stroke;
paint-order: markers;

paint-order: fill markers;
paint-order: markers stroke;
...

paint-order: fill markers stroke;
paint-order: markers fill stroke;
paint-order: stroke markers fill;
...

原文链接:
https://www.zhangxinxu.com/wordpress/2020/01/css-paint-order/comment-page-1/#comment-401898

在局部容器使用 overscroll-behavior 属性:
语法:

overscroll-behavior: [ contain | none | auto ]{1,2}


/* 单个关键字值 */
overscroll-behavior: auto;     /* 默认值 */
overscroll-behavior: contain;
overscroll-behavior: none;

/* 两个值,分别表示x方向和y方向 */
overscroll-behavior: auto contain;

兼容性
目前Safari浏览器尚不支持,Chrome和Firefox浏览器均支持,IE浏览器则有近似效果属性-ms-scroll-chaining代替,不过需要window 8及其以上版本的系统:
https://caniuse.com/#search=overscroll-behavior

例子:

.child-div{
    overscroll-behavior: contain;
    -ms-scroll-chaining: contain; 
}

TouchSlide 1.1 在展示显示元素不是100%宽度的时候,将元素宽度改为父级宽度的问题,导致不能显示部分第2个元素。问题是元素被使用了父级宽度导致的,滑动宽度还应加上左右margin的宽度:

微信图片_20191209143351.png

需要修改的地方:

//130行
var slideW= conBox.parentNode.clientWidth;// mainCell滑动距离
//修改为以下内容
    var winW = conBox.clientWidth;
    var elW = conBox.children[0].clientWidth; // 元素宽度
    var elWrate = elW / winW; //元素宽度比例
    var slideMl= getStyleVal(conBox.children[0], 'marginLeft');
    var slideMr= getStyleVal(conBox.children[0], 'marginRight');
    var slideW= elW + slideMl+slideMr;// mainCell滑动距离

//159行
for ( var i =0; i<tempSize; i++ ){  conBox.children[i].style.cssText="display:table-cell;vertical-align:top;width:"+slideW+"px"  }
//修改为
for ( var i =0; i<tempSize; i++ ){  conBox.children[i].style.cssText="display:table-cell;vertical-align:top;width:"+elW+"px"  }

//修改orientationChange方法

    var orientationChange = function(){
        winW = twCell.clientWidth;
        elW = winW * elWrate; // 元素宽度
        slideW= elW + slideMl+slideMr;// mainCell滑动距离

        conBox.style.width = tempSize*slideW +"px";
        for ( var i =0; i<tempSize; i++ ){  conBox.children[i].style.width=elW+"px";  }
        var ind = effect == "leftLoop"? index+1:index;
        translate(  -ind*slideW ,0 );
    } 

#列出php-fpm进程,按内存排序
ps -ylC php-fpm --sort:rss

1.png

#列出所有用户的进程
ps aux | grep php-fpm

Linux上进程有5种状态: 

进程状态 含义 对应ps命令的状态码
运行 正在运行或在运行队列中等待 R 运行 runnable (on run queue) 
中断 休眠中, 受阻, 在等待某个条件的形成或接受到信号 S 中断 sleeping 
不可中断 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生 D 不可中断 uninterruptible sleep (usually IO) 
僵死 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放 Z 僵死 a defunct (”zombie”) process 
停止 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行 T 停止 traced or stopped 

 ps命令有很多参数,具体如下:

命令 含义
e 显示所有进程,环境变量
f 全格式
h 不显示标题
l 长格式
w 宽输出
a 显示终端上地所有进程,包括其他用户地进程
r 只显示正在运行地进程
x 显示没有控制终端地进程
u 以用户为主的格式来显示程序状况
au 显示较详细的资讯
aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示

其中STAT状态位常见的状态字符有
D      //无法中断的休眠状态(通常 IO 的进程); 
R      //正在运行可中在队列中可过行的; 
S      //处于休眠状态; 
T      //停止或被追踪; 
W      //进入内存交换 (从内核2.6开始无效); 
X      //死掉的进程 (基本很少见); 
Z      //僵尸进程; 
<      //优先级高的进程 
N      //优先级较低的进程 
L      //有些页被锁进内存; 
s      //进程的领导者(在它之下有子进程); 
l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); 
+      //位于后台的进程组;