resize的鼠标拉动分栏效果:主要通过resize设置横向自由拉伸来调整目标元素的宽度

结合多行文本输入框实现效果:

下面是代码:

  //css:
 .stretching-column {
            overflow: hidden;
            border: 1px solid gray;
            width: 600px;
            height: 300px;
            line-height: 20px;
            font-size: 16px;
            color: orange;

        }

        .left {
            overflow: hidden;
            float: left;
            position: relative;
            height: 100%;
        }

        .right {
            overflow: hidden;
            padding: 10px;
            height: 100%;
            background-color: #f0f0f0;
            word-break: break-all;
        }

        .resize-bar {
            overflow: scroll;
            width: 250px;
            height: 100%;
            opacity: 0;
            resize: horizontal;
        }

        .resize-bar::-webkit-scrollbar {
            width: 250px;
            height: 100%;
        }

        .resize-bar:hover,
        :active .resize-line {
            border-left: 1px dashed gray;
        }

        .resize-line {
            position: absolute;
            right: 0;
            top: 0;
            bottom: 0;
            border-left: 1px solid #ccc;
            border-right: 2px solid #f0f0f0;
            pointer-events: none;
        }

        .resize-text {
            overflow-x: hidden;
            position: absolute;
            left: 0;
            right: 5px;
            top: 0;
            bottom: 0;
            padding: 10px;
            word-break: break-all;
        }
        .my-textarea {
            width: 100%;
            height: 100%;
            padding: 10px;
            outline: none;
        }

//html:
<div class="stretching-column">
            <div class="left">
                <div class="resize-bar"></div>
                <div class="resize-line"></div>
                <div class="resize-text">
                    在远方的时候 又想你到泪流 这矫情的措辞结构 经历过的人会懂 那些不堪言的疼痛 也就是我自作自受 你没有装聋 你真没感动 一个人的时候 偷偷看你的微博 你转播的歌好耳熟
                    我们坐一起听过 当日嫌它的唱法做作 现在听起来竟然很生动 可能是时光让耳朵变得宽容 如今一个人听歌总是会觉得失落 幻听你在我的耳边轻轻诉说 夜色多温柔 你有多爱我
                    如今一个人听歌总是会觉得难过 爱已不在这里我却还没走脱 列表里的歌 随过往流动
                </div>
            </div>
            <div class="right">
                <textarea class="my-textarea" autofocus="autofocus" placeholder="说说心里话...">

                </textarea>
            </div>
        </div>


//js:
        let leftEle = document.querySelector(".resize-text");
        let rightEle = document.querySelector(".my-textarea");
        rightEle.oninput = function (){
            leftEle.innerHTML = rightEle.value;
        }

  

01-15 03:45