lizhenqiu blog
最新评论流与站内评论搜索
Comment Stream
最新评论聚合
共 3005 条评论
Current Page
链接聚合
链接标签分页
Latest
评论流
第 76 / 151 页
当前展示 1501 - 1520 条,共 3005 条评论
奇妙的 CSS shapes(CSS图形)
clip-path 动画
clip-path 另外一个强大之处在于可以进行 CSS transtion 与 CSS animation,也就是过渡和动画。
CodePen Demo -- Clip-path 多边形过渡动画
图形变换动画
除此之外,我们还可以尝试,将一个完整的图形,分割成多个小图形,这也是 clip-path 的魅力所在,纯 CSS 的图形变换:
CodePen Demo -- Clip-path triangle2rect
clip-path 动画的局限
clip-path 动画虽然美好,但是存在一定的局限性,那就是进行过渡的两个状态,坐标顶点的数量必须一致。
也就是如果我希望从三角形过渡到矩形。假设三角形和矩形的 clip-path 分别为:
三角形:clip-path: polygon(50% 0, 0 100%, 100% 0)
矩形: clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
进行过渡动画时候,直接从 polygon(50% 0, 0 100%, 100% 0) --> polygon(0 0, 100% 0, 100% 100%, 0 100%) 是不行的,因为是从 3 个坐标点变换到 4 个坐标点。
因此这里需要这用一个讨巧的办法,在三角形的表示方法中,使用四个坐标点表示,其中两个坐标点进行重合即可。也就是:
三角形:clip-path: polygon(50% 0, 0 100%, 100% 0) -> clip-path: polygon(50% 0, 50% 0, 0 100%, 100% 0)
N边形过渡动画
如果脑洞够大,随机生成 N(N>=1000)边形,进行变换,会是什么效果呢?
CodePen Demo -- 2000边形过渡动画
变换的瞬间很有爆炸的感觉。不过这里有个很大的问题,只是随机生成了 2000 个坐标点,然后使用 clip-path 将这些坐标点连接起来,并不是符合要求的多边形。
在 VUE官网,有下面这样一个例子,一个规则的多边形进行不断的过渡动画,非常酷炫:
VUE官网使用的是 SVG 实现的,这里我稍微改变了下,使用 CSS clip-path 实现:
CodePen Demo -- clip-path N polygon ,感兴趣可以看看。
shape-outside
最后再来看看 shape-outside,另外一个有趣的有能力生成几何图形的属性。
shape-outside 是啥?它也有制造各种几何图形的能力,但是它只能和浮动 float 一起使用。
虽然使用上有所限制,但是它赋予了我们一种更为自由的图文混排的能力。
先看看它的 API,看上去貌似很复杂:
但是,其实它和 clip-path 的语法非常类似,很容易触类旁通。看看实例,更易理解:
大家自行去熟悉下 API,接着假设我们有下面这样的结构存在:
注意,上面 .shape-outside 使用了浮动,并且定义了 shape-outside: circle(80px at 80px 80px) ,表示在元素的 (80px, 80px) 坐标处,生成一个 80px 半径的圆。
如此,将会产生一种图文混排的效果:
奇妙的 CSS shapes(CSS图形)
clip-path
CSS 新属性 clip-path,意味裁剪路径的意思,让我们可以很便捷的生成各种几何图形。
clip-path 通过定义特殊的路径,实现我们想要的图形。而这个路径,正是 SVG 中的 path 。
看看它的 API:
看上去很多,其实很好理解,如果接触过 SVG 的 path,其实就是照搬 SVG 的 path 的一些定义。换言之,如果没有接触过 SVG,看完本文后再去学习 SVG 路径 ,也会十分容易上手。
根据不同的语法,我们可以生成不同的图形。
例如 clip-path: circle(50px at 50px 50px) 表示在元素的 (50px, 50px)处,裁剪生成一个半径为 50px 的圆。
以元素的左上角为坐标起点
而整个 clip-path 属性,最为重要的当属 polygon,可以利用 polygon 生成任意多边形。
clip-path 示例
下面分别列举使用 clip-path 生成一个圆形和一个十边形。
clip-path: circle(50px at 50px 50px) 上文也讲了,表示在元素的 (50px, 50px)处,裁剪生成一个半径为 50px 的圆。
而在 clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%) 中,依次列出了 10 个坐标点。我们的图形就是依次连接这 10 个坐标点形成一个裁切图形。
当然,这里采用的是百分比,也可以使用具体的数值。
@意见反馈/技术支持/伊网/安企网
经不住流年似水, 逃不过此间少年
@意见反馈/技术支持/伊网/安企网
郭靖第一次遇到黄蓉
骑得什么马? 成吉思汗赐的汗血宝马 = 现在的兰博基尼级别的超跑
请黄蓉吃的饭? 一十九两七钱四分 = 现在的14357元
你以为人家玩的是纯情,,其实从一见面 你就输了。。
有背景的孩子他爹他爷总有一代人付出了极大的努力,你现在要做的是走那一代人的路
罗永浩最近不是说了吗:我已经放弃和这个世界掰扯真相了!
道理很简单:1,我是否幸福取决于别人是否幸福,不患穷而患不均。
2,出了问题别指责我的问题,这是国家的问题,是政治的问题,必须找到这样的问题,我才会开心!
当两个或以上得阶级对立起来的时候,弱势阶级就会扛起不平等的大旗。
@意见反馈/技术支持/伊网/安企网
@意见反馈/技术支持/伊网/安企网
Yourphp,thinkphp修改分页代码
Yourphp,thinkphp修改分页代码
thinkphp引入第三方类
TP添加第三方sdk,文件放在ThinkPHP/Library/Org文件夹下可独立创建文件夹
上传base64图片到七牛云存储
javascript在网页中实现读取剪贴板粘贴截图功能
这篇文章主要介绍了在网页中实现读取剪贴板粘贴截图功能,即可以把剪贴板的截图Ctrl+V粘贴到网页的一个输入框中,例如QQ截图、旺旺截图或者其它截图软件,需要的朋友可以参考下
见某网站的输入框支持截屏粘贴的功能,觉得有点意思,于是将代码扒出来分享下。
可惜,目前仅有高版本的 Chrome 浏览器支持这样直接粘贴,其他浏览器目前为止还无法粘贴( IE11没测试过 ),当然这种增强型的用户体验功能有总比没有好。
输入框的结构代码:
为输入框绑定粘贴事件:
粘贴事件的 Event 接口对象提供了一个 clipboardData 接口,该接口就保存了系统剪贴板中的数据,如上面所说,目前只有高版本的 Chrome 浏览器能直接访问系统剪贴板的数据。这就给截屏后保存到剪贴板中的图片于网页直接进行交互提供了一个入口。
这里所说的截屏,就是 QQ 提供的截屏或者系统自带的 PrtScn 键的截屏功能,或者其他第三方软件提供的截屏功能。
从剪贴板中取到了图片数据,就可以用 FileReader 对其进行读取了。
很短的代码就实现了,可以使用以下。
@意见反馈/技术支持/伊网/安企网
粘贴gif图片上传的时候bug不动
#3剪切板不支持GIF的格式 如何将GIF图片复制到剪贴板,能在其它程序的RichEdit中粘贴?
#2
#5
#5
腾讯创业便涨红了脸,额上的青筋条条绽出,争辩道,“抄袭不能算偷……抄袭!……腾讯创业的事,能算偷么?”接连便是难懂的话,什么“君子固穷”,什么“者乎”之类,引得众人都哄笑起来:店内外充满了快活的空气。
#8
上传base64图片到七牛云存储
@意见反馈/技术支持/伊网/安企网
@意见反馈/技术支持/伊网/安企网
@意见反馈/技术支持/伊网/安企网
欢迎!毛片网址。
今天两辆车相撞了,一辆车牌是909df一辆是4hu13还有一辆在旁边看pu620。不知道看车祸能上热评不,
https://www.sexart.com
http://www.sexart-models.com
https://www.adultdvdempire.com
http://alicili.pw/list/Art】系列3月高清合集/1-1-0/
S♀xArt.16.03.30.Leila.Smith.Nekane.And.Taylor.Sands.Crazy.Ride
http://3333jq.com
http://javbus7.com
https://www.blacked.com
Colette - Piper Perri (Orgy is the New Black).mp4
上传base64图片到七牛云存储
上传base64图片到七牛云存储
上传base64图片到七牛云存储
上传base64图片到七牛云存储
关于一个事件触发多个响应函数:
这个函数写得很巧妙。利用匿名函数
上传base64图片到七牛云存储
先创建一个空的FormData对象,然后使用append()方法向该对象里添加字段,如下:
注: 字段"userfile"和"webmasterfile"的值都包含了一个文件.通过 FormData.append()方法赋给字段"accountnum"的数字被自动转换为字符(字段的值可以是一个Blob对象,一个File对象,或者一个字符串,剩下其他类型的值都会被自动转换成字符串).
在该例子中,我们创建了一个名为oMyForm的FormData对象,该对象中包含了名为"username", "accountnum", "userfile" 以及 "webmasterfile"的字段名,然后使用XMLHttpRequest的send()方法把这些数据发送了出去."webmasterfile"字段的值不是一个字符串,还是一个Blob对象.