<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container">
<div class="text">Your text here</div>
<div class="control"></div>
</div>
</body>
<script>
const control = document.querySelector('.control');
const text = document.querySelector('.text');
let isResizing = false;
control.addEventListener('mousedown', (e) => {
isResizing = true;
let prevX = e.clientX;
let prevY = e.clientY;
document.addEventListener('mousemove', resize);
document.addEventListener('mouseup', () => {
isResizing = false;
document.removeEventListener('mousemove', resize);
});
function resize(e) {
if (isResizing) {
const newX = e.clientX;
const newY = e.clientY;
const deltaX = newX - prevX;
const deltaY = newY - prevY;
text.style.transform += `translate(${deltaX}px, ${deltaY}px)`;
prevX = newX;
prevY = newY;
}
}
});
</script>
<style>
.container {
position: relative;
width: 300px;
height: 200px;
border: 1px solid black;
overflow: hidden;
}
.text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: all 0.3s ease;
}
.control {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
cursor: pointer;
}
</style>
</html>