Основное различие между clientWidth и offsetWidth:
(1) clientWidth - внутренняя ширина (ie. Пространство внутри элемента, включая отступы, но исключая границы и полосы прокрутки)
(2) offsetWidth - это внешняя ширина (ie. Пространство, занимаемое элементом, включая отступы и границы)
Как я вижу в вашем CSS границы и полосы прокрутки отсутствуют, поэтому вы получаете одинаковую ширину в обоих случаях.
Я обновил CSS, и теперь вы получите разные значения. Пожалуйста, проверьте ниже фрагмент:
var mydiv = document.getElementById("mydiv");
console.log("offset width = " + mydiv.offsetWidth);
console.log("client width = " + mydiv.clientWidth);
#mydiv {
padding: 20px;
border: 20px solid red;
}
<div id="mydiv">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</div>