Arrastar e soltar (drag and drop) é uma funcionalidade poderosa em HTML5 que permite que os usuários interajam com elementos da página movendo-os de um local para outro. Abaixo estão alguns exemplos básicos de como implementar o recurso de arrastar e soltar em HTML5:

Exemplo 1: Arrastar e Solta Simples

html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> #dragElement { width: 100px; height: 100px; background-color: #3498db; color: #fff; text-align: center; line-height: 100px; cursor: move; } </style> </head> <body> <div id="dragElement" draggable="true" ondragstart="drag(event)">Arraste-me</div> <script> function drag(ev) { ev.dataTransfer.setData("text", ev.target.id); } </script> </body> </html>

Exemplo 2: Arrastar e Solta com Áreas de Destino

html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> #dragElement { width: 100px; height: 100px; background-color: #3498db; color: #fff; text-align: center; line-height: 100px; cursor: move; } #dropArea { width: 200px; height: 200px; border: 2px dashed #ccc; margin-top: 20px; } </style> </head> <body> <div id="dragElement" draggable="true" ondragstart="drag(event)">Arraste-me</div> <div id="dropArea" ondrop="drop(event)" ondragover="allowDrop(event)">Solte aqui</div> <script> function drag(ev) { ev.dataTransfer.setData("text", ev.target.id); } function allowDrop(ev) { ev.preventDefault(); } function drop(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("text"); var draggedElement = document.getElementById(data); ev.target.appendChild(draggedElement); } </script> </body> </html>

Esses são exemplos básicos para começar. No primeiro exemplo, você tem um elemento que pode ser arrastado (draggable="true") e um evento de drag que define os dados a serem transferidos durante o arrastar. No segundo exemplo, há uma área de destino (#dropArea) onde você pode soltar o elemento arrastado, com eventos ondragover e ondrop para permitir a queda.