Jquery 在自由横向空间中响应地将元素居中

Jquery 在自由横向空间中响应地将元素居中,jquery,flexbox,css-position,center,fixed,Jquery,Flexbox,Css Position,Center,Fixed,我想在我的网页主要内容的右侧和左侧的自由横向空间的水平中间保留一个固定的横向广告框,这与屏幕大小无关。这应该适用于大屏幕,因为在小屏幕上没有问题 你可以看到我的意思,如果你有一个大屏幕,我的亚马逊广告框在左边和右边不是水平居中的 解决方案可以是flexbox和属性“justify content:space around;”,这应该完全符合我的要求 但是今天我注意到flexbox与“位置:固定”不兼容,至少与我的目的不兼容。根据StackOverflow和Reddit线程关于“flex和fixe

我想在我的网页主要内容的右侧和左侧的自由横向空间的水平中间保留一个固定的横向广告框,这与屏幕大小无关。这应该适用于大屏幕,因为在小屏幕上没有问题

你可以看到我的意思,如果你有一个大屏幕,我的亚马逊广告框在左边和右边不是水平居中的

解决方案可以是flexbox和属性“justify content:space around;”,这应该完全符合我的要求

但是今天我注意到flexbox与“位置:固定”不兼容,至少与我的目的不兼容。根据StackOverflow和Reddit线程关于“flex和fixed”的说法,我曾多次尝试在父容器(body)中组合a)

b) 盒子里呢

position:fixed;
但如果我这样做,框就会位于窗口的中心(在主要内容上方) ... 我错了吗

你知道有没有另一种不同于flex+位置的方法:fixed(可能是javascript/jquery?),使fixed框在自由的横向空间中保持中间水平位置和“fixed”位置


谢谢大家!

问题在于规则的位置
webkit过滤器:灰度(100%)
过滤器:灰度(100%)
正文中
标记。从
body
中删除此it规则,并将这些规则添加到
html
标记中,如下所示:

html {
  webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
 #publatdx {
        position: fixed;
        top: 45%; /*add this it*/
        right: 1%;
        max-width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }

    #publatsx {
        position: fixed;
        top: 45%; /*add this it*/
        left: 1%;
        width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }
为了更好地对中块,您需要设置规则
top:45%
#publatdx
中,且
顶部:45%
#publatsx
中,如下所示:

html {
  webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
 #publatdx {
        position: fixed;
        top: 45%; /*add this it*/
        right: 1%;
        max-width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }

    #publatsx {
        position: fixed;
        top: 45%; /*add this it*/
        left: 1%;
        width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }

问题在于规则的位置
webkit过滤器:灰度(100%)
过滤器:灰度(100%)
正文中
标记。从
body
中删除此it规则,并将这些规则添加到
html
标记中,如下所示:

html {
  webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
 #publatdx {
        position: fixed;
        top: 45%; /*add this it*/
        right: 1%;
        max-width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }

    #publatsx {
        position: fixed;
        top: 45%; /*add this it*/
        left: 1%;
        width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }
为了更好地对中块,您需要设置规则
top:45%
#publatdx
中,且
顶部:45%
#publatsx
中,如下所示:

html {
  webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
 #publatdx {
        position: fixed;
        top: 45%; /*add this it*/
        right: 1%;
        max-width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }

    #publatsx {
        position: fixed;
        top: 45%; /*add this it*/
        left: 1%;
        width: 120px;
        margin-left: 2px;
        text-align: left;
        border-radius: 3px;
        box-shadow: 0 0 7px white;
    }

正如@sergey kuznetsov在他的评论中所建议的,sticky是答案,所以我找到了这个解决方案

body {margin:0; display: flex; flex-direction: row; justify-content: space-around;}  
#fixed, #fixedr {position: sticky; top: 10%; width: 120px; height: 400px; background: orange; color: white;}  
#main {max-width: 900px; margin-left: 1%; margin-right: 1%; padding: 1%;}
请注意,重要的是添加a)侧面框的高度,以及b)中央框的边距,否则所有操作都可能出错。而且,正如@sergey kuznetsov在一篇评论中非常有帮助地指出的那样,c)重要的是舞者包装成一个母舞者,以避免舞者在身体正下方出现奇怪的“舞蹈”

p{text align:justify;}
正文{margin:0;display:flex;flex direction:row;justify content:space around;}
#固定,#固定{位置:粘性;顶部:10%;宽度:120px;高度:100px;背景:橙色;颜色:白色;}
#主{最大宽度:900px;左边距:1%;右边距:1%;填充:1%;}

一些内容

Lorem ipsum dolor sit amet,是一位杰出的献身者。整数nec odio。自由女神。这是一个直径较大的曲线。塞德·尼西。nibh elementum的Nullaquis sem。同侧矢状肌。普拉森特·莫里斯。他告诉我们,这是奥古斯特·森佩尔·波尔塔。毛里斯·马萨。前庭短弧。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:

libero的Curabitur sodales ligula。拉齐尼亚·努克阁下。库拉比图侵权人。佩伦茨克笔尖。埃尼安·夸姆。在多洛的权杖扫描电镜中。梅塞纳斯·马蒂斯。Sed convallis tristique sem。在门的舌苔上。摩比·莱索斯、艾库利斯·维尔、苏西皮特·奎斯、卢克图斯·农、马萨。长舌苔。同侧毛里斯。我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们

奎斯克·沃里帕特调味品维利特。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。Nam nec ante。拉齐尼亚,马蒂斯,托托·内克·阿迪皮斯,一个前脚印。无便利。弗林利亚大学。潜力悬钩子。我的食物太多了。前庭智人。普罗因奎姆。艾蒂亚姆乌尔特里斯酒店。Suspendisse位于justo eu magna luctus suscipit。塞德·莱克托斯

整数euismod lacus luctus magna。奎斯克·库苏斯(Quisque cursus)、法雷特拉拍卖行(metus vitae pharetra auctor)、马萨·马蒂斯拍卖行(sem massa mattis sem)在奥古斯特钻石国际拍卖行(interdum magna augue eget diam)。虎口浮雕和肘部浮雕同侧前庭;莫比·拉齐尼亚·莫莱斯蒂酒后驾车。普拉森特·布兰迪特·多洛。我不知道。在我的世界里,有一种元素。同侧的Morbi坐在amet pede facilisis laoreet。Donec lacus nunc,viverra nec,blandit vel,egestas et,augue。马蹄莲前庭。Ut ultrices ultrices enim。库拉比图坐在阿梅特莫里斯。酒后驾车中的Morbi是ullamcorper

无便利。整粒紫罗兰。克拉斯·梅特斯。他是一个侵权人。整数id quam。莫比·米。奎斯克·尼斯·费利斯,威尼斯人特里斯蒂克,德高望重,奥古斯都,奥古斯都。在sodales libero eget ante。纳拉奎姆。埃尼安·拉奥里特。鼻前庭、commodo ac、facilisis ac、ultricies eu、pede

奥奇·里苏斯,阿库姆桑·波特托,库苏斯·奎斯,阿利奎特·埃吉特,胡斯托。塞德·普莱蒂姆·布兰迪·奥奇。在pede suscipit sodales的Ut eu直径。艾尼安·莱克特斯精英,无酵素,无酵素,无酵素,无酵素,无酵素,无酵素。纳拉姆·莫里斯·奥奇、阿利奎特·艾库利斯·艾库利斯、维韦拉·维塔伊、利古拉。在purus aliquam饮食中的nullautfelis。梅塞纳斯·阿利奎特·莫利斯·莱克图斯。责任和侵权人的生活。Lorem ipsum dolor sit amet,是一位杰出的献身者。整数nec odio。自由女神。这是一个直径较大的曲线。塞德·尼西

nibh elementum的Nullaquis sem。同侧矢状肌。普拉森特·莫里斯。他告诉我们,这是奥古斯特·森佩尔·波尔塔。毛里斯·马萨。前庭