1、关于 <textarea> 引发的思考
因为<textarea>元素是自带缩放功能的,本来想参考它的实现给我要实现缩放的<div>元素添加一个类似的缩放,但是研究了下发现它的缩放好像不是依靠 JS 事件。
于是抓了下<textarea>的原生css如下:
resize:
看到了resize这个关键属性,然后就给我的<div>加上了resize:
但是并没有生效。我的<div>没有发生任何改变😟,甚至连鼠标悬浮时的样式都没有变化:
overflow:
在我把所有其他的属性都给我的<div>赋予了一遍之后,我也没有得到其他的关键属性。
可见这个关键属性并不在<textarea>的原生css里。
查阅一番后了解到,第二个关键属性是overflow,只要dom的overflow属性不为visible,被赋予resize的dom就可以和<textarea>一样实现缩放。
2、使用 resize 和 overflow 属性实现dom缩放
给元素的 resize赋予值,并且元素的overflow 不为visible,即可实现dom的缩放功能
.fluid-div {
width: 150px;
height: 150px;
background-color: #ff1d5e;
resize: auto;
overflow: auto;
}