当前位置: 首页 > 科技观察

只是使用纯CSS鼠标点击拖动效果

时间:2023-03-21 17:02:58 科技观察

背景鼠标拖动元素移动,是一个稍微复杂的交互。在这篇文章中,我们将打破常规,介绍一个超强大的鼠标点击和拖动效果,只用纯CSS就可以实现。在上一篇文章--[1]中,我们介绍了很多有趣的纯CSS鼠标跟随效果,像这样:但是,如您所见,在上面的效果中,元素的移动并不是很流畅。如果你了解上面的实现,你就会知道它有比较大的局限性。在本文中,我们仅使用CSS来实现丝滑的鼠标点击和拖动元素移动效果。点击拖动鼠标跟随效果OK,什么意思?先来看一个最简单的效果图,实现点击元素拖动元素移动的效果:OK,到此为止,继续看之前可以先停一停。通常,这种效果必须借助JavaScript才能实现。从性能上看:先拖动元素,可以任意移动元素然后放置元素,让元素留在另一个地方想想,如果不用JavaScript,有办法移动元素球从A点到B点是什么?这个效果完全不是像纯CSS可以做到的。答案必须是肯定的!整个过程也非常巧妙,这里我们需要用到其核心强大的resize属性。并且,通过搭建巧妙的布局,合作解决可能遇到的各种问题。使用调整大小构建可以拖动和调整大小的元素。首先,我们使用resize属性来实现一个可调整大小的元素。什么是调整大小?根据[2]:此CSS属性允许您控制元素的可调整大小的属性。它的CSS语法如下:{resize:none;调整大小:两者;调整大小:水平;调整大小:垂直;调整大小:块;resize:both:允许用户水平和垂直调整元素的大小。resize:horizo??ntal:允许用户水平调整元素的大小。resize:vertical:允许用户垂直调整元素的大小。resize:block:一种机制,允许用户根据元素显示的writing-mode和方向值(direction)在块方向(block)水平或垂直调整元素的大小。resize:inline:根据书写模式(writing-mode)和方向值(direction),元素显示一种机制,允许用户在行内方向(inline)水平或垂直调整元素的大小。看最简单的DEMO:

Loremipsumdolorsitamet,consecteturadipisicingelit。Autquilaborererumplaceatsimiliquehicconsequaturtemporedoloribusliquidalias,nobisvoluptates。Perferendis,voluptateplaceatessesolutadelenitiid!p{宽度:200px;高度:200px;调整大小:水平;overflow:scroll;}这里我们设置了一个长宽为200px的

来水平拖拽改变宽度。效果如下:简单总结一些提示:Resize需要配合overflow:scroll才能生效。当然准确的说法是overflow是不可见的,或者直接作用于images、