CSS 設置 div 可以拖動,需要使用draggable
屬性。
首先,我們需要在 CSS 中為需要拖動的 div 設置寬高及其他樣式:
div { width: 200px; height: 200px; background-color: #ccc; border-radius: 5px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
接下來,在 HTML 中為該 div 添加draggable
屬性,并設置其值為 true:
<div draggable="true"></div>
現在,我們需要使用 JavaScript 將 div 變成可拖動的:
var div = document.querySelector('div'); var isMouseDown = false; var initialX, initialY; var currentX, currentY; div.addEventListener('mousedown', function(event) { isMouseDown = true; initialX = event.clientX - div.offsetLeft; initialY = event.clientY - div.offsetTop; }); div.addEventListener('mousemove', function(event) { if (isMouseDown) { event.preventDefault(); currentX = event.clientX - initialX; currentY = event.clientY - initialY; div.style.left = currentX + 'px'; div.style.top = currentY + 'px'; } }); div.addEventListener('mouseup', function() { isMouseDown = false; });
這個 JavaScript 代碼會在mousedown
事件觸發時將鼠標按下狀態設置為 true,并記錄當前鼠標在 div 中的位置。然后,在mousemove
事件觸發時,先判斷鼠標是否已按下,若是則將當前鼠標在 div 中的位置與原始記錄的位置之差設置為 div 的新位置,從而實現拖動。最后,在mouseup
事件觸發時將鼠標按下狀態設置為 false,拖動結束。
使用上述 CSS 和 JavaScript 代碼,就可以讓 div 可以拖動了。
下一篇css 設置a標簽劇中