Изменение размера div при перетаскивании границ без добавления дополнительной разметки

У меня есть абсолютно позиционированная боковая панель, и мне нужно изменить ее ширину, перетаскивая эту границу. Также мне нужно изменить курсор на границе наведения. Можно ли сделать это без добавления другого div для перетаскивания?

Вот разметка:

#right_panel {
    position: absolute;
    border-left: solid 3px #ccc;
    width: 100px;
    height: 100%;
    right: 0;
    background-color: #f0f0f0;
}
<body>
    <div id="right_panel"></div>
</body>

Мне не нужно полное решение. A Да (со ссылкой на документацию) / Нет достаточного ответа. Мне не нужен ответ с помощникомdiv, У меня уже есть один:

var m_pos;
function resize(e){
    var parent = resize_el.parentNode;
    var dx = m_pos - e.x;
    m_pos = e.x;
    parent.style.width = (parseInt(getComputedStyle(parent, '').width) + dx) + "px";
}

var resize_el = document.getElementById("resize");
resize_el.addEventListener("mousedown", function(e){
    m_pos = e.x;
    document.addEventListener("mousemove", resize, false);
}, false);
document.addEventListener("mouseup", function(){
    document.removeEventListener("mousemove", resize, false);
}, false);
#right_panel {
    position: absolute;
    width: 96px;
    padding-left: 4px;
    height: 100%;
    right: 0;
    background-color: #f0f0f0;
}

#resize {
    background-color: #ccc;
    position: absolute;
    left: 0;
    width: 4px;
    height: 100%;
    cursor: w-resize;
}
<body>
    <div id="right_panel">
        <div id="resize"></div>
    </div>
</body>

Опять же, это функциональность, которую я хочу, за исключением того, что я хочу удалить лишниеdiv.