2022-42~43周 项目问题整理
新知识
1、好文学习
暂无
2、css clip-path + svg 动态矢量图
/* Keyword values */
clip-path: none;
/* <clip-source> values */
clip-path: url(resources.svg#c1);
/* <geometry-box> values */
clip-path: margin-box;
clip-path: border-box;
clip-path: padding-box;
clip-path: content-box;
clip-path: fill-box;
clip-path: stroke-box;
clip-path: view-box;
/* <basic-shape> values */
clip-path: inset(100px 50px);
clip-path: circle(50px at 0 100px);
clip-path: ellipse(50px 60px at 0 10% 20%);
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
clip-path: path('M0.5,1 C0.5,1,0,0.7,0,0.3 A0.25,0.25,1,1,1,0.5,0.3 A0.25,0.25,1,1,1,1,0.3 C1,0.7,0.5,1,0.5,1 Z');
/* Box and shape values combined */
clip-path: padding-box circle(50px at 0 100px);
/* Global values */
clip-path: inherit;
clip-path: initial;
clip-path: revert;
clip-path: revert-layer;
clip-path: unset;
// 不规则卡片示例:
// clip-path: polygon(0 5%, 0 100%, 46% 100%, 50% 98%, 54% 100%, 100% 100%, 100% 0%, 58% 0%, 52% 5%);
clip-path: path(
'M 0 3.925233644859813 \ L 0 3.925233644859813 L 0 110.5607476635514 \ L 0 110.5607476635514 L 36.63551401869159 110.5607476635514 \ L 36.63551401869159 110.5607476635514 L 41.54205607476635 105.65420560747663 \ L 41.54205607476635 105.65420560747663 L 46.44859813084112 110.5607476635514 \ L 116 110.5607476635514 L 110.5607476635514 110.5607476635514 \ L 110.5607476635514 110.5607476635514 L 110.5607476635514 0 \ L 110.5607476635514 0 L 68.3644859813084 0 \ L 56.26168224299065 0 L 51.35514018691588 3.925233644859813 \ Z'
);
问题
1、png转webp、avif
webp效果不变,体积变小,是大量图片加载页面的优化利器;转化方式:canvas.toDataUrl
const canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
canvas.getContext("2d").drawImage(image, 0, 0);
canvas.toDataURL("image/webp") // 接受转化后的base64数据进行处理
还有avif图片,avif.js npm 包仓库,兼容性不高,不过QQ x5内核已支持,云服务还有配合压缩功能