纯CSS实现全屏滚动效果

实现全屏滚动可以不依赖 JS, 只使用纯 CSS 实现, 不过只有较新版本的浏览器支持这一特性

主要使用了以下 CSS 属性

  • scroll-snap-type: y mandatory; 给父元素设置, 设置贴合类型

  • scroll-snap-align: start; 给子元素设置, 设置贴合点

阅读更多

JavaScript实现图片压缩

图片等比缩小的方法

图片压缩的基本思路

压缩图片主要利用了canvastoBlob方法, toBlob方法可以将canvas画布的画面转换成Blob对象, 同时设置质量

  1. 获取input数据, 使用fileReader转换成 dataUrl

  2. dataUrl的值赋给imagesrc

  3. image绘制进canvas, 注意这里可以对图片尺寸进行控制

  4. 使用canvas.toBlob获取 blob 对象, 可以在其中设置压缩比例

  5. 上传图片

阅读更多

JavaScript获取剪贴板文件

1
2
3
4
const btn = document.querySelector("button");
document.addEventListener("paste", e => {
console.log(e.clipboardData.files);
});

vue vee-validate 表单验证

使用步骤

  • 使用第三包提供的Form标签将表单整个区域包裹起来, 如果要进行整体验证, 需要给Formref
  • 使用第三方包提供的Filed标签将输入框的input替换掉
  • 如果表单需要校验,那么必须有name属性
  • 将校验规则通过rules绑定到需要校验的Field标签上
  • 当用户输入的内容未通过验证规则时,错误信息是从Form标签上的插槽中解构出来的
阅读更多

CSS实现遮罩效果

1
2
3
background: url(@/img/bg.jpg) rgba(0, 0, 0, 0.3);
background-size: cover;
background-blend-mode: multiply;

数据结构学习-栈

栈结构遵循以下规则

  • 数据从栈顶 (又称为栈尾) 进入
  • 从栈顶退出
  • 遵循后进先出的 LIFO 原则

一个栈应该有以下方法: push pop peek isEmpty size clear toString

阅读更多