Html 如何使用transform:translate3d而不中断位置:固定?
我在另一个网站上发现了一个布局,它有一个固定的标题和两个推送菜单,两边各一个。在chrome中使用inspect元素后,我可以看到该网站使用了Html 如何使用transform:translate3d而不中断位置:固定?,html,css,Html,Css,我在另一个网站上发现了一个布局,它有一个固定的标题和两个推送菜单,两边各一个。在chrome中使用inspect元素后,我可以看到该网站使用了transform:translate3d来允许其菜单左右移动,但我无法确定开发人员是如何使网站的主体与之一起移动的。快速查看一下,我发现transform:translate3d似乎没有在body元素上使用,但我很确定,为了移动主要内容,代码的这一部分正在发生一些事情,因为单击菜单按钮时,它会被赋予一个额外的类 该网站是: 我在jsfiddle中提出了一
transform:translate3d
来允许其菜单左右移动,但我无法确定开发人员是如何使网站的主体
与之一起移动的。快速查看一下,我发现transform:translate3d
似乎没有在body
元素上使用,但我很确定,为了移动主要内容,代码的这一部分正在发生一些事情,因为单击菜单按钮时,它会被赋予一个额外的类
该网站是:
我在jsfiddle中提出了一个布局,其中按钮打开的菜单与上面的站点完全相同,但是站点的主体保持静止
示例1:
我还使用body
元素上的transform:translate3d
提出了第二个jsidle,但这一个在菜单打开时打破了标题和推送菜单上的固定位置
示例2:
下面是示例1中的代码:,我认为它最接近我在上面提供的网站上使用的代码。有人知道他们是如何在不破坏某些元素的固定位置的情况下,让身体随菜单移动的吗
HTML
<header class="header">
<span id="button-one"></span>
<span id="button-two"></span>
<div class="push-menu-one"></div>
<div class="push-menu-two"></div>
<div class="overlay"></div>
</header>
<div class="content">
</div>
<footer class="footer">
Footer
</footer>
jQuery
jQuery(document).ready(function($) {
$('#button-one').click(function() {
$('body, .overlay, .push-menu-one').toggleClass('open-left');
});
$('#button-two').click(function() {
$('body, .overlay, .push-menu-two').toggleClass('open-right');
});
$('.overlay').click(function() {
$('body, .overlay, .push-menu-one, .push-menu-two').removeClass('open-left');
$('body, .overlay, .push-menu-one, .push-menu-two').removeClass('open-right');
});
});
他们不是在翻译正文
,而是在翻译正文。转换容器
感谢您的评论。好的,作为一个身体的孩子
——你能为我详细解释一下吗?我是一个新手,我只习惯于使用toggleClass
移动东西,我看不到他们做过这件事的任何证据。看起来他们使用了不同于transform:translate3d
的方法,这可能解释了他们是如何在不破坏固定位置的情况下完成的,就像我在上面的第二个示例中所做的那样?如果您使用类检查元素。使用浏览器的开发工具在main#home
内部使用transform container
,您将看到应用于它的样式。您还可以看到,当菜单打开时,他们正在切换主体上的类.menu open
,这将向.transform container
节点应用其他样式(变换
样式)。如果您不熟悉DevTools(在Chrome中按F12)并检查代码,然后,我强烈建议您熟悉它,因为它是了解浏览器如何呈现内容的最强大工具之一。据我所知,他们也在使用.transform container
上的translate3d
。您不能。避免转换
他们不是在翻译正文
,而是在翻译正文。转换容器
感谢您的评论。好的,作为一个身体的孩子
——你能为我详细解释一下吗?我是一个新手,我只习惯于使用toggleClass
移动东西,我看不到他们做过这件事的任何证据。看起来他们使用了不同于transform:translate3d
的方法,这可能解释了他们是如何在不破坏固定位置的情况下完成的,就像我在上面的第二个示例中所做的那样?如果您使用类检查元素。使用浏览器的开发工具在main#home
内部使用transform container
,您将看到应用于它的样式。您还可以看到,当菜单打开时,他们正在切换主体上的类.menu open
,这将向.transform container
节点应用其他样式(变换样式)。如果您不熟悉DevTools(在Chrome中按F12)并检查代码,然后,我强烈建议您熟悉它,因为它是了解浏览器如何呈现内容的最强大工具之一。据我所知,他们也在使用.transform container
上的translate3d
。您不能。避免transform
jQuery(document).ready(function($) {
$('#button-one').click(function() {
$('body, .overlay, .push-menu-one').toggleClass('open-left');
});
$('#button-two').click(function() {
$('body, .overlay, .push-menu-two').toggleClass('open-right');
});
$('.overlay').click(function() {
$('body, .overlay, .push-menu-one, .push-menu-two').removeClass('open-left');
$('body, .overlay, .push-menu-one, .push-menu-two').removeClass('open-right');
});
});