Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用CSS3将元素从页面中转换出来后,文本的行为仍然像它在页面中一样_Jquery_Html_Css_Less_Transform - Fatal编程技术网

Jquery 使用CSS3将元素从页面中转换出来后,文本的行为仍然像它在页面中一样

Jquery 使用CSS3将元素从页面中转换出来后,文本的行为仍然像它在页面中一样,jquery,html,css,less,transform,Jquery,Html,Css,Less,Transform,我试图切换一个子菜单,使其滑出视图,以便为阅读html5网页的主要内容提供更多空间。通过使用css3transform:translateX()完成动画属性,可通过使用jquery将类添加到子菜单元素进行切换。 此外,我想让这个子菜单粘性一旦用户滚动过去的标题,这已经工作。当子菜单为“位置:固定”时,站点的行为与预期相同。如果不是,则main>文章元素的文本不会超出子菜单之前占用的区域,尽管文章元素本身也会这样做(请参见标题的底部边框)。这张图片说明了我的问题: $(“#隐藏按钮”)。单击(

我试图切换一个子菜单,使其滑出视图,以便为阅读html5网页的主要内容提供更多空间。通过使用css3
transform:translateX()完成动画属性,可通过使用jquery将类添加到子菜单元素进行切换。
此外,我想让这个子菜单粘性一旦用户滚动过去的标题,这已经工作。当子菜单为“位置:固定”时,站点的行为与预期相同。如果不是,则
main>文章
元素的文本不会超出子菜单之前占用的区域,尽管
文章
元素本身也会这样做(请参见标题的底部边框)。这张图片说明了我的问题:

$(“#隐藏按钮”)。单击(函数(){
$(“#subnav”).toggleClass(“hideSubnav”);
$(“main”).toggleClass(“hideSubnav”);
});
*{
填充:0;
保证金:0;
}
主要{
左边距:275px;
过渡:边缘1s;
}
main.hideSubnav{
过渡:边缘1s;
左边距:25px;
}
主h1{
边框底部:1px实心#F00;
}
#亚纳夫{
宽度:250px;
浮动:左;
转变:转变1s;
边框:1px纯黑;
}
#亚导航{
转变:转变1s;
转换:translateX(-250px);
}
#亚导航{
位置:固定;
顶部:35px;
}

有趣的文字
这里有一些有趣的文字。

问题的要点是,
转换
不是一个布局感知属性(只是由该术语组成,所以不要尝试用谷歌搜索它)。它是在所有布局完成后应用的,即使在渲染之后也是如此(这就是为什么如果使用
transform
过度缩放,内容会变得模糊)。所以它不会影响其他元素的布局


柔性箱 如果您可以容忍(例如,没有IE),您可以使用它来大大简化边距调整和变换。更多信息

$(“#隐藏按钮”)。单击(函数(){
$(“#subnav”).toggleClass(“hideSubnav”);
$(“main”).toggleClass(“hideSubnav”);
});
*{
填充:0;
保证金:0;
}
身体{
display:flex;/*容器使用flex布局其子容器*/
}
主要{
flex:1;/*将基本权重设置为1,由于其他元素为0(默认值),因此它将填充剩余空间*/
}
主h1{
边框底部:1px实心#F00;
}
#隐藏按钮{
右边距:25px;
}
#亚纳夫{
宽度:250px;
顺序:-1;/*将其粘贴到屏幕最左侧,而不管其在HTML上的外观顺序*/
过渡:边缘1s;
边框:1px纯黑;
}
#亚导航{
左边距:-250px;/*将元素按与其宽度相同的量向左推*/
}

有趣的文字
这里有一些有趣的文字。

问题的要点是,
转换
不是一个布局感知属性(只是由该术语组成,所以不要尝试用谷歌搜索它)。它是在所有布局完成后应用的,即使在渲染之后也是如此(这就是为什么如果使用
transform
过度缩放,内容会变得模糊)。所以它不会影响其他元素的布局


柔性箱 如果您可以容忍(例如,没有IE),您可以使用它来大大简化边距调整和变换。更多信息

$(“#隐藏按钮”)。单击(函数(){
$(“#subnav”).toggleClass(“hideSubnav”);
$(“main”).toggleClass(“hideSubnav”);
});
*{
填充:0;
保证金:0;
}
身体{
display:flex;/*容器使用flex布局其子容器*/
}
主要{
flex:1;/*将基本权重设置为1,由于其他元素为0(默认值),因此它将填充剩余空间*/
}
主h1{
边框底部:1px实心#F00;
}
#隐藏按钮{
右边距:25px;
}
#亚纳夫{
宽度:250px;
顺序:-1;/*将其粘贴到屏幕最左侧,而不管其在HTML上的外观顺序*/
过渡:边缘1s;
边框:1px纯黑;
}
#亚导航{
左边距:-250px;/*将元素按与其宽度相同的量向左推*/
}

有趣的文字
这里有一些有趣的文字。

变换发生在所有布局之后,完全是视觉上的。另外,请使用snippet工具,而不是链接到外部页面(在您修复后,未来的访问者将永远看不到原始问题)。为scroll添加您的JS。如果您使用Hanks@Kroltan,我为我的问题添加了一个JSFIDLE示例。我添加了snippet@RavitejaTransforms,它在所有布局之后都会发生,并且完全是可视的。另外,请使用剪辑工具,而不是链接到一个外部页面(未来访问者将永远不会看到原来的问题后,你修复它)。添加你的JS为滚动你使用感谢@ Kroltan,我添加了一个jsFoDLE的例子为我的问题。我添加了片段@ RaviTeJoWO,这是我认为是有帮助的,非常感谢!谢谢!请注意,Flex在旧的IE上根本不起作用,在当前的IE上非常奇怪。但是如果你的目标受众不使用IE,
flex
是自切片面包以来最好的东西。这对我来说确实是个小问题。不过,我确实相信,如果有人忽略了最新的浏览,她/他在网络上有一段不愉快的时光,那是我认为有帮助的,非常感谢!谢谢!请注意,Flex在旧的IE上根本不起作用,在当前的IE上非常奇怪。但是如果你的目标受众不使用IE,
flex
是自切片面包以来最好的东西。这对我来说确实是个小问题。尽管如此,我还是相信,如果有人忽视了最新的浏览,她/他在网络上的日子就不好过了