0%

对于git版本的回退,我们一般会用到如下两个命令:

  • git reset
  • git revert

这两个命令有什么区别呢?

1、git reset

假设有如下几个提交:

阅读全文 »

1、单侧投影
  • 外 box-shadow 前四个参数:x 偏移值、y 偏移值 、模糊半径、扩张半径。

  • 单侧投影的核心是第四个参数:扩张半径。这个参数会根据你指定的值去扩大或缩小投影尺寸,如果我们用一个负的扩张半径,而他的值刚好等于模糊半径,那么投影的尺寸就会与投影所属的元素尺寸完全一致,除非使用偏移量来移动他,否则我们将看不到任何投影。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<style>
.left {
box-shadow: -8px 0 5px -5px #333;
}
.right {
box-shadow: 8px 0 5px -5px #333;
}
.top {
box-shadow: 0 -8px 5px -5px #333;
}
.bottom {
box-shadow: 0 8px 5px -5px #333;
}
</style>
<div class='left'></div>
<div class='right'></div>
<div class='top'></div>
<div class='bottom'></div>

2、立体文字阴影
阅读全文 »

1、some()

语法:

1
array.some(function(currentValue,index,arr),thisValue)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//把10修改成20
var ages = [5, 32, 7, 10, 33, 12, 40];
ages.some(function (currentValue, index) {
if (currentValue === 10) {
ages[index] = 20
return true
}
console.log(index);
})

console.log(ages);

//把10修改成20 箭头函数
var ages = [5, 32, 7, 10, 33, 12, 40];
ages.some((item, index) => {
if (item === 10) {
ages[index] = 20
return true
}
console.log(index);
})

console.log(ages);
2、every()
阅读全文 »

websocket是什么

WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。

在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接, 并进行双向数据传输。(维基百科)

WebSocket 本质上一种计算机网络应用层的协议,用来弥补 http 协议在持久通信能力上的不足。

WebSocket 协议在2008年诞生,2011年成为国际标准。现在最新版本浏览器都已经支持了。

阅读全文 »

  在长列表网页,DOM元素较多的情况下,我们会经常采用虚拟滚动、分页、上拉加载更多等不同的方式来进行优化,需要写大量的js或者css逻辑去实现。现在,我们多了一种方式——content-visibility。只需要一行CSS代码,就可以实现可见网页只加载可见区域内容。

content-visibility属性有三个可选值:
  • visible: 默认值。对布局和呈现不会产生什么影响。
  • hidden: 元素跳过其内容的呈现。用户代理功能(例如,在页面中查找,按Tab键顺序导航等)不可访问已跳过的内容,也不能选择或聚焦。类似于对其内容设置了display: none属性。
  • auto: 对于用户可见区域的元素,浏览器会正常渲染其内容;对于不可见区域的元素,浏览器会暂时跳过其内容的呈现,等到其处于用户可见区域时,浏览器在渲染其内容。
代码:
1
2
3
4
5
6
<div class="card"></div>
<div class="card"></div>
<!-- ... -->
<!-- 此处省略n个<div class="card"></div> -->
<!-- ... -->
<div class="card"></div>
阅读全文 »

1、判断字符串是否是 https?:|mailto:|tal: 开头的
1
2
3
export function isExternal(path) {
return /^(https?:|mailto:|tel:)/.test(path)
}
2、检验字符串是否是 admin editor
1
2
3
4
export function validUsername(str) {
const valid_map = ['admin', 'editor']
return valid_map.indexOf(str.trim()) >= 0
}
3、判断网址
阅读全文 »