.vdr { touch-action: none; position: absolute; box-sizing: border-box; border: 1px dashed black; } .handle { box-sizing: border-box; position: absolute; width: 10px; height: 10px; background: #EEE; border: 1px solid #333; } .handle-tl { top: -10px; left: -10px; cursor: nw-resize; } .handle-tm { top: -10px; left: 50%; margin-left: -5px; cursor: n-resize; } .handle-tr { top: -10px; right: -10px; cursor: ne-resize; } .handle-ml { top: 50%; margin-top: -5px; left: -10px; cursor: w-resize; } .handle-mr { top: 50%; margin-top: -5px; right: -10px; cursor: e-resize; } .handle-bl { bottom: -10px; left: -10px; cursor: sw-resize; } .handle-bm { bottom: -10px; left: 50%; margin-left: -5px; cursor: s-resize; } .handle-br { bottom: -10px; right: -10px; cursor: se-resize; } @media only screen and (max-width: 768px) { [class*="handle-"]:before { content: ''; left: -10px; right: -10px; bottom: -10px; top: -10px; position: absolute; } }