css3变换恢复位置:固定

时间:2013-09-27 20:36:26

标签: css css3 css-transforms

使用css3 transform()时,position: fixed不适用。我做了一个完全正常工作的jsFiddle,显示了这个问题:http://jsfiddle.net/SR5ka/

首先向下滚动,注意左侧边栏保持固定。现在,点击expand,向下滚动,注意左侧边栏现在已修复。

知道是否有本地css修复此问题?

2 个答案:

答案 0 :(得分:4)

您可以使用like this one附近的工作。它涉及为固定元素和容器切换左值(通过类)。

.global-wrapper {
    position: relative;
    -webkit-transition: 300ms;
    transition: 300ms;
}
.global-wrapper.expanded,
.global-wrapper.expanded .navbar {
    left: 200px;
}
.navbar {
    -webkit-transition: 300ms;
    transition: 300ms;
    position: fixed;
    width: 100px;
    height: 100%;
    top: 0px;
    left: 0px;
}
.content {
    position: relative;
    width: calc(100% - 170px); /* 100% - width of left bar plus margin */
}

用少量香草JS来切换课程:

var wrapper = document.querySelector(".global-wrapper");
document.getElementById("expand").onclick = function() {
        wrapper.classList.toggle("expanded");
}

答案 1 :(得分:3)

根据这个答案:https://stackoverflow.com/a/15251226/125264 可以通过将dummy -webkit-transform添加到需要修复的元素来修复此问题。为我工作。

编辑04.2016

看起来不再适用了。