100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > html 怎么做分屏效果 纯css实现水平方向分屏和垂直方向分屏

html 怎么做分屏效果 纯css实现水平方向分屏和垂直方向分屏

时间:2021-02-16 22:59:27

相关推荐

html 怎么做分屏效果 纯css实现水平方向分屏和垂直方向分屏

最近开发有这样一个需求,水平/垂直方向上的能够拖动。最开始采用操作dom的方式,但是卡顿现象明显,体验太差。思考问题是不是操作太频繁,导致卡顿,于是又尝试防抖与节流,效果还是不明显。突发想到,css有个resize属性可以实现这个效果。

一、水平分屏

000right

复制代码

css:

.demo{

display:flex;

height:200px;

}

.left{

min-width:200px;

max-width: 1000px;

background: #ccc;

resize:horizontal;

overflow:scroll;

margin-right: 10px;

height:200px;

opacity:1;

}

.left::-webkit-scrollbar {

width: 20px; // 滚动条宽度,我们就是靠拖拽滚动条来实现分屏宽度变化的

height: inherit;

}

.right{

background: #f0f;

margin-left: 10px;

flex: 1

}

复制代码

上面有个问题,left里面的内容没有显示了。而且滚动条样式有问题

我们需要的是如下效果:

于是我们需要对上述代码做些许改动:

leftright

复制代码

css:

.demo{

display:flex;

height:200px;

}

.demo-left{

position: relative;

}

.left{

min-width:200px;

max-width: 1000px;

background: #ccc;

resize:horizontal;

overflow:scroll;

margin-right: 10px;

height:200px;

opacity:0;

position: relative;

z-index: 1;

}

.left-content{

position: absolute;

width: 100%;

height:200px;

background:#0f0;

color:#000;

left: 0;

top:0;

}

.left::-webkit-scrollbar {

width: 20px;

height: inherit;

}

.right{

background: #f0f;

margin-left: 10px;

flex: 1

}

复制代码

上述效果可在codepen上查看

二、垂直方向

原来类似,点此查看

三、resize属性

resize属性是指定一个元素是否可由用户调整大小的。

语法:

resize:none | both | horizontal | vertical

none:用户不可一调整元素的尺寸(默认值)

both:用户可调整元素的高度和宽度

horizontal:用户可调整元素的宽度

vertical:用户可调整元素的高度

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。