【发布时间】:2016-10-29 03:18:52
【问题描述】:
我对我的问题做了一个小技巧,以便轻松地看到它:
https://jsfiddle.net/6jzb09nd/
我有一系列嵌套的 div。而巢的最底部我想要一个绝对定位的 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 { float:left; }上使用浮点数?这应该按预期将元素保持在一起。 jsfiddle.net/SimonHayter/6jzb09nd/1 -
为什么你认为绝对定位有问题?那一点似乎工作正常
标签: html css center positioning