Как сделать контейнер по ширине содержимого?
Как сделать .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>