有意思:textarea resize属性下纯CSS交互效果
  4yu2JdefgeRW 2023年11月02日 44 0


 

一、众所周知的

 

众所周知,文本域(textarea)在FireFox或Chrome浏览器下,右下角有个可以拖拽的标志。

有意思:textarea resize属性下纯CSS交互效果_CSS

 

有人保留,有人嫌碍事,直接resize:none;掉,但是,估计没人利用整个儿做交互效果。

 

二、纯CSS的交互展示

 

您可以狠狠地点击这里:textarea resize下的纯CSS交互demo

 

例如,在FireFox浏览器下,拖动(往右→)下图圈中的图标:

有意思:textarea resize属性下纯CSS交互效果_php_02

 

一个半透明遮罩层随着拖动把张含韵给覆盖了,达到了半遮面的交互效果。

有意思:textarea resize属性下纯CSS交互效果_CSS_03

 

效果没什么,但是却完全CSS实现的,就有意思了。

 

三、实现原理

 

我们平时拖动文本域的时候,往右拖则文本域宽度往右侧扩展。但是,如果文本域右侧定位(浮动或绝对定位),则右侧不动,宽度往左侧扩展。下图演示为右100像素绝对定位:

有意思:textarea resize属性下纯CSS交互效果_ci_04

有意思:textarea resize属性下纯CSS交互效果_php_05

 

我们还知道,textarea resize的时候宽度变化会让具有“包裹性”的父元素宽度跟着一起变化,所以,如果我们把textarea放在具有半透明背景色的层中,那拉伸的时候,这个半透明层不就可以拉拉伸伸,有了交互效果啦!这就是demo中半透明层覆盖来覆盖去的原理。

 

说得再多也不容易明白,demo中一些障眼的属性(overflow:hidden;opacity:0;)去掉,你就知道大概了。下图为去掉overflow:hidden;以及文本域opacity设为0.6后的效果:

有意思:textarea resize属性下纯CSS交互效果_CSS_06

 

四、结束语

 

经测试,Opera/FireFox/Chrome浏览器支持,IE10以及下面的喽喽们都不支持。显然,兼容性是硬伤。因此,除了一些特殊情况,此实现没有多少实用价值。仅供大家娱乐,仅供大家参考。当然,您可以发挥你智慧实现其他一些交互。

 

唉,忧伤的三月,就这些,感谢阅读!

 


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  xlvdqsD183Uk   2023年11月13日   48   0   0 分隔符输出格式ci
4yu2JdefgeRW