Javascript 使用纯CSS,使一个div居中,直到它在调整窗口大小时进入侧栏?

Javascript 使用纯CSS,使一个div居中,直到它在调整窗口大小时进入侧栏?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想创建一个网站,有一个固定宽度的中间列和一个额外的固定宽度边栏,位置:固定在左边。当窗口较大时,这种方法非常有效,但是当我调整窗口大小时,当窗口右侧有足够的空间时,它们开始重叠。例如: 我希望中间的div位于中间,直到它进入侧边栏,在这一点上,我希望它有一个更流畅的响应设计,侧边栏开始推动div向右调整窗口大小。例如: 我知道的唯一解决方案是这样的(使用jQuery resize事件,并在窗口大小足够小时向中间列添加一个类): var小窗口大小=560; 函数checkWindowsSi

我想创建一个网站,有一个固定宽度的中间列和一个额外的固定宽度边栏,位置:固定在左边。当窗口较大时,这种方法非常有效,但是当我调整窗口大小时,当窗口右侧有足够的空间时,它们开始重叠。例如:

我希望中间的div位于中间,直到它进入侧边栏,在这一点上,我希望它有一个更流畅的响应设计,侧边栏开始推动div向右调整窗口大小。例如:

我知道的唯一解决方案是这样的(使用jQuery resize事件,并在窗口大小足够小时向中间列添加一个类):

var小窗口大小=560;
函数checkWindowsSize(){
var$content=$(“#content”);
if($(this).width()=SMALL\u WINDOW\u SIZE&&$content.hasClass(“smallWindow”)){
$content.removeClass(“smallWindow”);
}
}
$(文档).ready(函数(){
检查窗口大小();
});
$(窗口)。调整大小(函数(){
检查窗口大小();
});
#侧边栏{
背景:橙色;
宽度:100px;
高度:200px;
位置:固定;
顶部:10px;
左:10px;
}
#内容{
背景:蓝色;
宽度:300px;
高度:350px;
保证金:0px自动;
}
.小窗{
浮动:左;
左边距:120px!重要;
}

这绝不是使用CSS实现预期效果的最佳方式,但它是使用CSS媒体查询来调整我想要传达的布局背后的方法

显然,如果这符合您的需要,您将需要调整数字/宽度以适合您的情况

*,:之前,:之后{
框大小:边框框;
}
身体{
保证金:0;
}
.包装纸{
位置:相对位置;
填充:20px;
}
.侧边栏,.main{
填充:20px
}
.侧边栏{
位置:固定;
顶部:20px;
左:20px;
宽度:200px;
背景:一枝黄花;
颜色:白色;
高度:50vh;
}
梅因先生{
左边距:220px;
背景:中蓝色;
颜色:白色;
高度:200vh;
}
@介质(最小宽度:1050px){
梅因先生{
余量:0 220px 0 220px;
}
}

边栏
主要

这绝不是使用CSS实现预期效果的最佳方式,但它是使用CSS媒体查询来调整我想要传达的布局背后的方法

显然,如果这符合您的需要,您将需要调整数字/宽度以适合您的情况

*,:之前,:之后{
框大小:边框框;
}
身体{
保证金:0;
}
.包装纸{
位置:相对位置;
填充:20px;
}
.侧边栏,.main{
填充:20px
}
.侧边栏{
位置:固定;
顶部:20px;
左:20px;
宽度:200px;
背景:一枝黄花;
颜色:白色;
高度:50vh;
}
梅因先生{
左边距:220px;
背景:中蓝色;
颜色:白色;
高度:200vh;
}
@介质(最小宽度:1050px){
梅因先生{
余量:0 220px 0 220px;
}
}

边栏
主要

您知道重叠将在多大的视口宽度开始出现,因此在这种情况下,请使用媒体查询应用不同的格式。@CBroe谢谢!出于某种原因,我不知道CSS媒体查询。似乎是我现在应该从某个地方学到的东西。你知道重叠将在多大的视口宽度开始出现,所以在这种情况下,使用媒体查询应用不同的格式。@CBroe谢谢!出于某种原因,我不知道CSS媒体查询。似乎是我现在应该从某个地方学到的东西。