Как сделать контейнер по ширине содержимого?

Как сделать .inside по ширине содержимого и выровнять его по центру над элементом .container?

.block {
  position: relative;
  margin: 50px;
}

.container {
  position: absolute;
  top: -8px;
  left: -10px;
  z-index: 5;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid #858585;
  border-radius: 50%;
  cursor: pointer;
}

.inside {
  position: relative;
  top: -30px;
  left: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  border: 1px solid #858585;
  border-radius: 4px;
}
<div class="block">
  <div class="container">
    <div class="inside">1000000</div>
  </div>
</div>


Ответы (2 шт):

Автор решения: soledar10

Приблизительно так

* {
  box-sizing: border-box;
}

.block {
  position: relative;
  margin: 50px;
}

.container {
  position: absolute;
  top: -8px;
  left: 0;
  z-index: 5;
  height: 20px;
}

.container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  height: 20px;
  width: 20px;
  border: 1px solid #858585;
  border-radius: 50%;
  margin-left: -10px;
  background: #fff;
  cursor: pointer;
}

.inside {
  position: relative;
  top: -30px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 1px solid #858585;
  border-radius: 4px;
}
<div class="block">
  <div class="container">
    <div class="inside">1000000</div>
  </div>
</div>

→ Ссылка
Автор решения: Alexey Vladimirov

Простой вариант для частного случая, когда .inside — что-то вроде счетчика над кнопкой:

.block {
  margin: 50px;
}

.container {
  width: 20px;
  height: 20px;
  border: 1px solid #858585;
  border-radius: 50%;
}

.inside {
  border: 1px solid #858585;
  border-radius: 4px;
  margin-left:50%;
  transform: translate(-50%, -30px);
  width:fit-content;
}
<div class="block">
  <div class="container">
    <div class="inside">1000000</div>
  </div>
</div>

→ Ссылка