花了很多时间编码一个网站,我的整个计划似乎刚刚破灭。我发现我无法使用“固定”来定位任何元素 - 他们只是无法工作。经过一番研究,我认为这是因为元素的父元素包含多个变换,这意味着您无法获得固定元素,因为它现在不固定到视口,而是固定到父元素的变换。固定定位与父元素转换
我需要能够使用固定位置,但是我的整个HTML代码都在这个div内部进行转换 - 我不能改变它,因为它是设计的基本部分。
我不确定是否有任何解决此问题,或以某种方式解决问题可能与jQuery或什么的。请帮助我!如果需要,我可以提供一些代码。
谢谢! http://wtfhtmlcss.com/#position-transforms
下面是一些CSS:
.container {
background: #fff;
min-height: 100%;
position: relative;
outline: 1px solid rgba(0,0,0,0);
z-index: 10;
-webkit-transform: translateZ(0) translateX(0) rotateY(0deg); reset transforms (Chrome bug)
transform: translateZ(0) translateX(0) rotateY(0deg);
}
.container::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 0px;
opacity: 0;
background: rgba(0,0,0,0.2);
/* the transition delay of the height needs to be synced with the container transition time */
-webkit-transition: opacity 0.4s, height 0s 0.4s;
transition: opacity 0.4s, height 0s 0.4s;
}
.animate .container::after {
opacity: 1;
height: 101%;
-webkit-transition: opacity 0.3s;
transition: opacity 0.3s;
}
/* Effect Move Left */
.effect-moveleft {
background-color: rgb(50,50,130);
}
.effect-moveleft .container {
-webkit-transition: -webkit-transform 0.4s;
transition: transform 0.4s;
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
}
.effect-moveleft .container::after {
background: rgba(255,255,255,0.6);
}
.effect-moveleft.animate .container {
-webkit-transform: translateX(-50%) rotateY(45deg) translateZ(-50px);
transform: translateX(-50%) rotateY(45deg) translateZ(-50px);
}
.no-csstransforms3d .effect-moveleft.animate .container {
left: -75%;
}
容器显然包含整个机身码。
然后是我已经设置为固定位置,哪些不会修复的DIV。
你可以发布你的代码吗? – 2015-02-08 00:17:32
添加了一些代码@noob – George 2015-02-08 10:05:45