css - CSS3 中 transform translateX 的奇怪行为?

标签 css

我有以下内容:

<div id="parent">
    <div id="child"></div>
</div>

#parent {
    width: 400px;
    height: 400px;
    padding: 5px;
    border: 1px solid #ccc;
    position: relative;
}

#parent:hover #child {
    transform: translateX(50px);
}

#child {
    width: 100px;
    height: 100px;
    background-color: aquamarine;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

问题是当悬停在父级上时,子级会向下移动一点点。为什么我只指定了 translateX() 子进程就向下移动了?

http://codepen.io/anon/pen/jMjJvR

最佳答案

行为是正确的,因为您正在覆盖 transform 参数。 你必须像这样组合它们

#parent:hover #child {
    transform: translateX(50px) translateY(-50%);
}

关于css - CSS3 中 transform translateX 的奇怪行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40342352/

相关文章:

html/css - 具有多个页面的 html 网站 - 有一个可以调用的菜单吗?

javascript - 当我调整窗口大小时,如何防止我所有的 flex 元素调整大小?

html - jssor slider 奇怪的图像大小行为和 chrome 的白色间距

javascript - jquery,点击放大图片,然后点击agian让它回到之前的宽度

html - 下拉菜单占用新空间而不是相对位置

css - 自定义 Joomla 模板导航栏格式问题

css - JQuery Mobile Popup 模糊背景

html - IE8 及以下 inline-block CSS

javascript - 单击索引中的链接后更改不同页面上的事件类 onClick?

css - 需要在 map 中对区域标签进行样式化