实现全屏滚动可以不依赖 JS, 只使用纯 CSS 实现, 不过只有较新版本的浏览器支持这一特性
主要使用了以下 CSS 属性
-
scroll-snap-type: y mandatory;
给父元素设置, 设置贴合类型 -
scroll-snap-align: start;
给子元素设置, 设置贴合点
实现全屏滚动可以不依赖 JS, 只使用纯 CSS 实现, 不过只有较新版本的浏览器支持这一特性
主要使用了以下 CSS 属性
scroll-snap-type: y mandatory;
给父元素设置, 设置贴合类型
scroll-snap-align: start;
给子元素设置, 设置贴合点
压缩图片主要利用了canvas
的toBlob
方法, toBlob
方法可以将canvas
画布的画面转换成Blob
对象, 同时设置质量
获取input
数据, 使用fileReader
转换成 dataUrl
将dataUrl
的值赋给image
的src
将image
绘制进canvas
, 注意这里可以对图片尺寸进行控制
使用canvas.toBlob
获取 blob 对象, 可以在其中设置压缩比例
上传图片
通过Acme.sh + CloudFlare Dns认证申请泛域名证书
使用 acme.sh 这个神器, 可以快速的申请泛域名证书, 省去繁琐的手动申请的步骤
由于我的域名使用了 CloudFlare Dns , 所以我用了 CloudFlare 的 api 认证方式
最近有需求把 markdown 文档合并起来然后转换为 word 文档以供打印的需求, 所以了解到了 pandoc 这一款命令行文本处理神器
如果使用 v-model 给子组件绑定一个数据, 例如v-model="msg"
, 那么子组件 props 传进来的数据为modelValue
, 要手动触发的事件为update:modelValue
1 | const btn = document.querySelector("button"); |
使用步骤
Form
标签将表单整个区域包裹起来, 如果要进行整体验证, 需要给Form
打ref
Filed
标签将输入框的input
替换掉name
属性rules
绑定到需要校验的Field
标签上Form
标签上的插槽中解构出来的1 | background: url(@/img/bg.jpg) rgba(0, 0, 0, 0.3); |
栈结构遵循以下规则
一个栈应该有以下方法: push pop peek isEmpty size clear toString
js 中的数组拥有众多方法, 在这里我加以总结便于复习