色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

css實(shí)現(xiàn)一個(gè)div拖拽

CSS是一種用來(lái)控制網(wǎng)頁(yè)樣式的語(yǔ)言。除了控制布局、顏色、字體等方面的設(shè)計(jì),CSS還可以實(shí)現(xiàn)許多交互效果,比如拖拽這一常見(jiàn)需求。

下面我們來(lái)看一下如何使用CSS實(shí)現(xiàn)一個(gè)div的拖拽效果。

.draggable {
position: absolute;
width: 100px;
height: 100px;
background-color: red;
cursor: move; /*設(shè)置鼠標(biāo)為手型*/
}

首先,我們需要給要拖拽的div添加一個(gè)class名,并設(shè)置好其樣式。其中,position我們?cè)O(shè)置為absolute,表示該div可以相對(duì)于其父元素進(jìn)行移動(dòng)。

同時(shí),我們?cè)O(shè)置了cursor為move,這樣當(dāng)鼠標(biāo)懸停在該div上時(shí)會(huì)顯示手型,提示用戶可以拖拽移動(dòng)該元素。

.draggable:active {
cursor: grabbing; /*設(shè)置拖動(dòng)時(shí)的鼠標(biāo)圖標(biāo)*/
}

接下來(lái),我們需要設(shè)置鼠標(biāo)拖動(dòng)該div時(shí)的效果,我們使用:active偽類實(shí)現(xiàn)。當(dāng)用戶按下鼠標(biāo)時(shí),該偽類會(huì)生效。

我們將cursor的值設(shè)置為grabbing,在拖動(dòng)時(shí)會(huì)出現(xiàn)拳頭圖標(biāo),表示正在拖動(dòng)中。

.draggable {
/*設(shè)置元素初始位置為left: 0px;top: 0px;*/
left: 0px;
top: 0px;
}
.draggable:active {
/*根據(jù)鼠標(biāo)的位置動(dòng)態(tài)改變?cè)氐膌eft和top值*/
left: calc(var(--x) - 50px);
top: calc(var(--y) - 50px);
}

最后,我們需要使用變量來(lái)動(dòng)態(tài)改變?cè)氐膌eft和top值。這里我們使用了calc()函數(shù),計(jì)算的是鼠標(biāo)當(dāng)前位置減去元素寬度或高度的一半。

我們可以通過(guò)在容器元素上添加onmousemove事件來(lái)獲取鼠標(biāo)當(dāng)前位置,然后將值賦給元素的--x和--y變量。

拖拽我哦

最后,在容器元素上添加onmousemove事件,獲取鼠標(biāo)當(dāng)前位置并將值賦給--x和--y變量即可。

這樣,我們就成功實(shí)現(xiàn)了一個(gè)div的拖拽效果啦~