Html 将两个浮动div放在一个较小的容器内的同一条线上
我试图构建一个大致如下的布局。现在,问题是: 在我的Html 将两个浮动div放在一个较小的容器内的同一条线上,html,css,Html,Css,我试图构建一个大致如下的布局。现在,问题是: 在我的容器中有两个包装器,一个用于侧栏,另一个(包装器内部容器)用于页面内容本身,两者都浮动到左侧,包装器侧栏具有隐藏和显示机制 问题是,当包装器侧栏可见时,宽度为100vw的包装器内部容器应保持向左浮动,在与包装器边栏相同的行上,父容器应保持与100vw相同的宽度,并仅隐藏水平溢出。但是,正如您在JSFIDLE中所看到的,由于同一行中的两个包装器都超过了容器的宽度,包装器内部容器跳到下一行,此时它应该与包装器侧栏保持在同一行,并且保持宽度为100v
容器
中有两个包装器,一个用于侧栏,另一个(包装器内部容器
)用于页面内容本身,两者都浮动到左侧,包装器侧栏
具有隐藏和显示机制
问题是,当
包装器侧栏可见时,宽度为100vw
的包装器内部容器应保持向左浮动,在与包装器边栏
相同的行上,父容器
应保持与100vw
相同的宽度
,并仅隐藏水平溢出。但是,正如您在JSFIDLE中所看到的,由于同一行中的两个包装器都超过了容器的宽度,包装器内部容器
跳到下一行,此时它应该与包装器侧栏保持在同一行,并且保持宽度
为100vw
。如何实现这一点?如果您的目的是让包装器内部容器
在包装器侧栏
可见或不可见的情况下占用剩余空间。然后,您可以省略包装器内部容器的宽度,并删除float:left
。然后它将自动调整为100%可用空间,因为它是块元素
(更新)
这里还有一个示例,说明如何使用flex-box
更一致地实现它:
这里的技巧是,wrapper侧边栏
具有固定的宽度,wrapper-inner-container
在容器中的剩余空间进行弯曲
如果您的目的是包装器内部容器
占用剩余空间,而包装器侧栏
是否可见。然后,您可以省略包装器内部容器的宽度,并删除float:left
。然后它将自动调整为100%可用空间,因为它是块元素
(更新)
这里还有一个示例,说明如何使用flex-box
更一致地实现它:
这里的技巧是,wrapper侧边栏
具有固定的宽度,wrapper-inner-container
在容器中的剩余空间进行弯曲
为此,必须创建一个包含主容器的父容器,将其溢出设置为隐藏,宽度设置为100vw
然后将主容器宽度设置为100vw加上侧栏大小,这样侧栏将有空间将内部容器推入
<style>
.overflow {
width: 100vw;
overflow: hidden;
}
.container {
width: 115vw;
}
.wrapper-sidebar {
float: left;
width: 15vw;
}
.wrapper-inner-container {
width: 100vw;
float: left;
}
</style>
<script>
// do your animation code here
</script>
<div class="overflow">
<div class="container">
<div class="wrapper-sidebar"></div>
<div class="wrapper-inner-container"></div>
</div>
</div>
.溢出{
宽度:100vw;
溢出:隐藏;
}
.集装箱{
宽度:115vw;
}
.包装器侧栏{
浮动:左;
宽度:15vw;
}
.包装内容器{
宽度:100vw;
浮动:左;
}
//在这里输入动画代码
为此,您必须创建一个包含主容器的父容器,将其溢出设置为隐藏,将其宽度设置为100vw
然后将主容器宽度设置为100vw加上侧栏大小,这样侧栏将有空间将内部容器推入
<style>
.overflow {
width: 100vw;
overflow: hidden;
}
.container {
width: 115vw;
}
.wrapper-sidebar {
float: left;
width: 15vw;
}
.wrapper-inner-container {
width: 100vw;
float: left;
}
</style>
<script>
// do your animation code here
</script>
<div class="overflow">
<div class="container">
<div class="wrapper-sidebar"></div>
<div class="wrapper-inner-container"></div>
</div>
</div>
.溢出{
宽度:100vw;
溢出:隐藏;
}
.集装箱{
宽度:115vw;
}
.包装器侧栏{
浮动:左;
宽度:15vw;
}
.包装内容器{
宽度:100vw;
浮动:左;
}
//在这里输入动画代码
事实上,事实证明使用flex box要简单得多,谢谢。事实证明,使用flex box要简单得多,谢谢