Html Chrome在页面首次加载或刷新时忽略div的高度

Html Chrome在页面首次加载或刷新时忽略div的高度,html,css,google-chrome,Html,Css,Google Chrome,网址: 我对Chrome有一个相当令人沮丧的问题。当我第一次用Chrome浏览器打开我的页面时,导航栏会忽略我的横幅栏并弹出到顶部,隐藏在横幅下。如果单击主页链接,此问题会自行修复,但如果刷新,此问题会重新出现。我曾尝试在检测到Chrome时强制重新加载(但这并不聪明,因为它只是做了一个循环)。我试着用 填充底部:1px; 但是,我得到了同样的问题,除了这次的横幅没有显示。我在这里读到一个有同样问题的人说这与Chrome想要的图像大小有关。但我无法定义图像大小,因为它们随页面宽度的变化而变化

网址:

我对Chrome有一个相当令人沮丧的问题。当我第一次用Chrome浏览器打开我的页面时,导航栏会忽略我的横幅栏并弹出到顶部,隐藏在横幅下。如果单击主页链接,此问题会自行修复,但如果刷新,此问题会重新出现。我曾尝试在检测到Chrome时强制重新加载(但这并不聪明,因为它只是做了一个循环)。我试着用

填充底部:1px;
但是,我得到了同样的问题,除了这次的横幅没有显示。我在这里读到一个有同样问题的人说这与Chrome想要的图像大小有关。但我无法定义图像大小,因为它们随页面宽度的变化而变化

HTML

哦,我忘了提到,由于以下原因,窗口重新调整的问题也得到了解决:

    <script language="javascript" type="text/javascript">
        function Reload(){
            window.location.href = window.location.href
        }
        window.onresize = Reload;
    </script>

函数重载(){
window.location.href=window.location.href
}
window.onresize=重新加载;

您可以添加CSS属性
溢出:隐藏到包含横幅的div

.slideshow{overflow:hidden;}

您可以添加CSS属性
overflow:hidden到包含横幅的div

.slideshow{overflow:hidden;}

由于
.slideshow
.banner
子项应用了绝对位置,可能是您使用的cycle插件,因此这些元素不构成文档流的一部分-也就是说,这些div和子图像不会赋予
.slideshow
容器任何高度

相对定位的图元仍被视为处于 文档中元素的正常流动。相反,是一个元素 被绝对定位的物体被从流中取出,因此被移除 放置其他元素时,请不要留出空间

如果查看所选的开发人员工具,您将看到
.slideshow
div的高度为零像素。如果浮动
.banner
div,也会发生同样的情况,这就是我问的原因。如果您在构建页面时没有使用任何开发人员工具来检查页面,我建议您参考您最喜欢的浏览器的文档,因为您会发现它们对于查看“引擎盖下”正在发生的事情是绝对宝贵的。Chrome尤其具有优秀的工具,Opera的dragonfly和Mozilla(内置的开发工具和优秀的Firebug扩展)获得了极高的荣誉


由于
.banner
元素不会拉伸父级
.slideshow
容器以赋予其高度,因此必须手动指定与内容匹配的高度。在这种情况下,
215px
,请根据我的评论注意单元的使用-简单地说明
215
将不起作用,或者至少不能跨浏览器正常工作

我建议您在外部CSS文件中执行此操作,我将对其进行编辑,如下所示-

#banner#u bar1{
边际上限:0;
宽度:100%;
背景色:#313131;
}
/*对2,3,4重复#banner_bar1,仅更改背景色*/
.幻灯片放映{
身高:215px;
边际:0px;
填充:0px;
}
.横幅{
显示:块;
最大宽度:1300px;
最小宽度:750px;
身高:100%;
宽度:90%;
保证金:0自动;
填充底部:0;
}
这还包括我在评论中提到的对您的保证金属性的更新


我要归功于defau1t,因为他为你指出了正确的答案方向。

作为
.banner
.slideshow
的孩子,他们有绝对的位置,大概是通过你使用的cycle插件,这些元素不构成文档流的一部分-也就是说,这些div和子图像不会赋予
.slideshow
容器任何高度

相对定位的图元仍被视为处于 文档中元素的正常流动。相反,是一个元素 被绝对定位的物体被从流中取出,因此被移除 放置其他元素时,请不要留出空间

如果查看所选的开发人员工具,您将看到
.slideshow
div的高度为零像素。如果浮动
.banner
div,也会发生同样的情况,这就是我问的原因。如果您在构建页面时没有使用任何开发人员工具来检查页面,我建议您参考您最喜欢的浏览器的文档,因为您会发现它们对于查看“引擎盖下”正在发生的事情是绝对宝贵的。Chrome尤其具有优秀的工具,Opera的dragonfly和Mozilla(内置的开发工具和优秀的Firebug扩展)获得了极高的荣誉


由于
.banner
元素不会拉伸父级
.slideshow
容器以赋予其高度,因此必须手动指定与内容匹配的高度。在这种情况下,
215px
,请根据我的评论注意单元的使用-简单地说明
215
将不起作用,或者至少不能跨浏览器正常工作

我建议您在外部CSS文件中执行此操作,我将对其进行编辑,如下所示-

#banner#u bar1{
边际上限:0;
宽度:100%;
背景色:#313131;
}
/*对2,3,4重复#banner_bar1,仅更改背景色*/
.幻灯片放映{
身高:215px;
边际:0px;
填充:0px;
}
.横幅{
显示:块;
最大宽度:1300px;
最小宽度:750px;
身高:100%;
宽度:90%;
保证金:0自动;
填充底部:0;
}
这还包括我在评论中提到的对您的保证金属性的更新


我要归功于德福,因为他为你指出了正确的答案方向。

添加溢出:隐藏;具有与填充底部相同的效果:1px。导航栏已显示,但它隐藏了标题栏。是否尝试过