从中间而不是边缘定位绝对div

时间:2015-03-06 15:57:29

标签: css css-position

我有一个绝对定位的可变宽度div,我想定位在父(相对)div中的某个x位置。我可以通过设置

来做到这一点
left: 50px

但是我希望元素以50px标记为中心,而不是让它的左边缘或右边缘为50px。我可以通过获取宽度并手动设置javascript来做到这一点,但有没有办法只用CSS做到这一点? (最好不要使用转换和其他更新的功能,虽然我会采取我能得到的)

3 个答案:

答案 0 :(得分:2)

您仍然可以使用left:50px但添加

transform:translateX(-50%);

将元素拖回其自身宽度的50%。无论是什么。

答案 1 :(得分:1)

只需将转换属性用于"翻译"该元素的宽度为左侧宽度的50%:

.element {
    position: absolute;
    left: 50px;
    transform: translateX(-50%);
}

答案 2 :(得分:1)



div {
  position: absolute;
  left: 50px; transform: translate3d(-50%,0,0);
  top:0;
  border: 1px solid #000;
  width: 100px; height: 100px;
  }

<div>
  </div>
&#13;
&#13;
&#13;