Я сделал скрипку моей проблемы легко увидеть:Абсолютное положение DIV внутри DIV без абсолютного положения
https://jsfiddle.net/6jzb09nd/
У меня есть ряд вложенных дивы. И в самом низу гнезда я хочу, чтобы div абсолютно позиционировался, поэтому я могу сосредоточить его внутри родительского div.
Это работает, когда это единственное, что есть на странице, но когда я начинаю добавлять другие элементы, позиционирование становится все испорченным.
В скрипке, если вы раскомментируете «// float: left», вы можете увидеть разрыв позиционирования.
Вот код:
.col-sm-2,
.col-sm-10 {
//float:left;
}
.leftnumouter {
color: #fff;
font-size: 4.5vw;
height: 4.5vw;
width: 4.5vw;
float: left;
background: #393;
position: relative;
border: 0px solid black;
}
.rightnumouter {
color: #fff;
font-size: 4.5vw;
height: 4.5vw;
width: 4.5vw;
float: left;
background: #C33;
position: relative;
border: 0px solid black;
}
.leftnuminner {
color: #000;
position: absolute;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.rightnuminner {
color: #fff;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.lefttextouter {
background: #3C9;
border-radius: 0 1.5vw 1.5vw 0;
color: #000;
font-size: 3vw;
height: 3.2vw;
text-transform: uppercase;
float: left;
padding: 0 0 0 0;
position: relative;
}
.righttextouter {
background: #C69;
border-radius: 0 1.5vw 1.5vw 0;
color: #000;
font-size: 3vw;
height: 3.2vw;
text-transform: uppercase;
float: left;
padding: 0 0 0 .2vw;
position: relative;
}
.lefttextinner {
color: #000;
margin: 0 .5vw 0 0;
}
.righttextinner {
color: #000;
margin: 0 1vw 0 0;
}
<div class="col-sm-2"> Blah
</div>
<div class="col-sm-10">
<div class="preview">
<div class="databubble">
<div class="leftnumouter">
<div class="leftnuminner">5
</div>
</div>
<div class="lefttextouter">
<div class="lefttextinner">Sales
</div>
</div>
</div>
<div class="databubble">
<div class="rightnumouter">
<div class="rightnuminner">3
</div>
</div>
<div class="righttextouter">
<div class="righttextinner">Orders
</div>
</div>
</div>
</div>
</div>
Пробовал с помощью поплавка на '.databubble { поплавком: слева; } '? Это должно содержать элементы вместе по назначению. https://jsfiddle.net/SimonHayter/6jzb09nd/1/ –
Почему, по-вашему, абсолютное позиционирование - проблема? Этот бит, кажется, работает нормально – CupawnTae