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

css文字可拖拽

洪振霞2年前11瀏覽0評論

在設計中,有時候我們需要一個可拖拽的文本框,這時候就可以使用CSS技術來實現。下面是實現可拖拽文本框的CSS代碼示例:

.draggable {
user-select: none; /* 禁止選中文字 */
cursor: move; /* 鼠標手型 */
}
/* 鼠標按下元素時 */
.draggable:active {
position: relative;
z-index: 999;
transform: scale(1.1); /* 縮放元素 */
}
/* 鼠標拖動元素時 */
.draggable:active::before {
content: '';
position: fixed;
top: 0;
right: 0;
left: 0;
bottom: 0;
z-index: -1;
}
/* 可拖拽元素的樣式 */
.box {
width: 200px;
height: 200px;
background-color: #ddd;
padding: 20px;
color: #000;
border: 1px solid #333;
}

以上代碼利用了CSS中的一些屬性,如user-select、cursor、position、z-index等,實現了可拖拽文本框的效果。

除了CSS,還需要一些JavaScript代碼來控制拖拽事件。這里提供一個簡單的示例:

var dragItem = document.querySelector('.draggable');
var container = document.querySelector('.container');
var active = false;
var currentX;
var currentY;
var initialX;
var initialY;
var xOffset = 0;
var yOffset = 0;
container.addEventListener('mousedown', dragStart);
container.addEventListener('mouseup', dragEnd);
container.addEventListener('mousemove', drag);
function dragStart(e) {
initialX = e.clientX - xOffset;
initialY = e.clientY - yOffset;
if (e.target === dragItem) {
active = true;
}
}
function dragEnd(e) {
initialX = currentX;
initialY = currentY;
active = false;
}
function drag(e) {
if (active) {
e.preventDefault();
currentX = e.clientX - initialX;
currentY = e.clientY - initialY;
xOffset = currentX;
yOffset = currentY;
setTranslate(currentX, currentY, dragItem);
}
}
function setTranslate(xPos, yPos, el) {
el.style.transform = "translate3d(" + xPos + "px, " + yPos + "px, 0)";
}

以上代碼中包含了三個事件監聽器,分別是mousedown、mouseup和mousemove。當鼠標按下可拖拽元素時,會觸發dragStart()函數,獲取鼠標按下時的坐標。鼠標拖動元素時,會觸發drag()函數,實時獲取鼠標移動時的坐標,并利用setTranslate()函數將元素移動到相應的位置。當鼠標松開時,會觸發dragEnd()函數,此時記錄元素的最終位置。

綜上,通過CSS和JavaScript的配合,可以實現一個完整的可拖拽文本框。這里提供的代碼示例只是一個基礎的實現,具體效果可以根據實際需求進行調整。