https://jsfiddle.net/yeeqkd2e/6/

мер:

HTML

console.log($('.container').width()); // 600px as we defined in css.
console.log($('.list').width()); // 600px

console.log($('.box').eq('-1').position().left + $('.box').outerWidth());
body{padding:0;margin:0;}
.container {
  width: 600px;
  backround:#E1BEE7;
}

.list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height:120px;
  background:#FFCDD2;
}

.box {
  margin:10px;
  flex-shrink:0;
  flex-grow:0;
  flex-basis:auto;
  width: 100px;
  height: 100px;
  text-align:center;
  line-height:100px;
  background: #F44336;
  color:#FFF;
  font-size:2rem;
}

.result{
  padding:1rem;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="container">
  <div class="list">
    <div class="box">1</div>
    <div class="box">2</div>
    <div class="box">3</div>
    <div class="box">4</div>
    <div class="box">5</div>
    <div class="box">6</div>
    <div class="box">7</div>
    <div class="box">8</div>
    <div class="box">9</div>
    <div class="box">10</div>
  </div>
</div>

Есть 10 блоков, и каждый блок шириной 100 пикселей, фактическая ширина элемента.list должно быть 1000px, а не 600px.

Я попытался использовать следующий метод для получения фактической ширины списка: левая позиция последнего дочернего элемента и его externalWidth

console.log($('.box').eq('-1').position().left + $('.box').outerWidth());

Что я хочу знать: есть ли лучший способ получить фактическую ширину такого типа элемента flexbox? для этого существует какой-то лучший встроенный метод javascript или jquery?

Ответы на вопрос(3)

Ваш ответ на вопрос