我的网站的固定宽度为1024px
,以便更轻松地实现较小的屏幕,显示的页眉和页脚位于固定位置。
但是,当用户的宽度小于1024px
时,页眉和页脚会被切断,这很好。但是,您无法水平滚动以查看其余部分。
我想要解决这个问题,它与CSS
有关,但我不确定要更改/使用的属性。
页面的构造如下:
<body>
<div class='header'>
<div class='headerbar'>
<div class='headerleft'><h1>BMRA Web Client</h1></div>
<div class='headerright'><!--image here--></div>
</div>
</div>
<div class='footer'>
<div class='headerbar'>
<div class='footerleft'></div><div class='footermiddle'></div><div class='footerright'></div>
</div>
</div>
</body>
答案 0 :(得分:2)
这就像在标题中放置overflow-x: auto
一样简单,宽度为100%。
.header {
overflow: auto;
}
通过这种模式,你将拥有一个100%宽度的标题,在小屏幕中你会看到它如何缩小。使用标题内部元素的硬像素定义(1024px),您的内容将具有此宽度,并且父级中的溢出允许您水平滚动它。
如果这不符合您的要求,也许您需要一个全局滚动解决方案,只需使用javascript即可。
正如我们在评论中所说,您的解决方案是处理全局水平滚动并使用内容移动固定标头,例如相对或绝对标头。要做到这一点,您需要使用javascript来读取移动固定标头所需的像素数。在这里,您是完整的代码:
// when scroll
$(window).on('scroll', function(e) {
//calculate left position
var left = $(this).scrollLeft();
//apply to header in negative
$('.header').css('left', -left);
});
你喜欢看它有效吗?试试这个小提琴:
至于你需要修复背景,你必须重新激活孩子并在javascript中定位它。所以你的最终代码将是:
CSS:
.headerbar {
position: relative;
}
使用Javascript:
$(window).on('scroll', function(e) {
var left = $(this).scrollLeft();
$('.headerbar').css('left', -left);
});
看到它正常工作:
答案 1 :(得分:0)
如果主包装器(设置为宽度:1024px的那个)没有overflow: hidden
作为属性,则应该能够水平滚动。尝试将其手动设置为overflow: auto
答案 2 :(得分:0)
您可以使用overflow: scroll
和固定位置设置包装器,并设置内部值或您想要的spesfic样式
答案 3 :(得分:0)
要在内容溢出容器(垂直和水平)并且具有固定维度时管理abehaviour,您可以使用CSS overflow property(有关详细信息,请参阅此链接):
在您的情况下,您必须将属性设置为滚动
.selector{overflow: scroll}
如果您只想管理水平溢出,可以设置 overflow-x CSS属性.selector{overflow-x: scroll}
对于垂直溢出,您可以设置 overflow-y ,.selector{overflow-y: scroll}
答案 4 :(得分:0)