【发布时间】:2019-08-10 05:20:26
【问题描述】:
我需要做一个带有这样标题的简单网站:
(来源:x-br.com)
我的图片可能不完全准确,但包装纸必须正好是 960 像素,居中。
而菜单栏...必须有无限宽度到RIGHT,不管客户端屏幕的大小。
对于双方来说,我们都知道 width: 100% 可以快速而清晰地解决它。但只是一方面?
到目前为止,我已经设法通过混合 css 使其以一种变通方式工作:
.wrapper {
max-width: 960px;
margin: 0 auto;
position: relative;
width: 960px;
}
#top_menu {
margin-top: 48px;
height: 40px;
width: 582px;
display: block;
float: right;
}
#top_menu .leftborder {
width: 7px;
height: 40px;
background: url('images/menuborder.jpg') no-repeat;
display: block;
float: left;
}
#top_menu .content {
width: 543px;
height: 20px;
background-color: #231f20;
display: block;
float: left;
padding: 10px 16px;
}
#top_menu_scrapper {
position: absolute;
display: block;
height: 40px;
background-color: #231f20;
height: 40px;
top: 48px;
left:960px;
width: 0px;
margin: 0;
}
有了这个 JS 代码:
function AutoDivScrapper () {
var ScrapperDiv = document.getElementById('top_menu_scrapper');
var UserWindow = parseInt(document.body.clientWidth);
var NewScrapperWidth = ( UserWindow - 960 ) / 2
if (NewScrapperWidth < 0) {
NewScrapperWidth = 0;
}
ScrapperDiv.style.width = parseInt(NewScrapperWidth) + "px";
}
我创建的是:
首先,一个名为 top_menu 的 div 位于包装器内,它创建了菜单的一部分,我将在其中编写链接并放置精美的圆形边框、小房子等。 p>
另一个 div,称为 top_menu_scrapper,它是绝对的,基本上只有高度、上下对齐和背景颜色。
JS 捕获用户屏幕的宽度,将 960(包装器的大小)从包装器的两侧取出。因为我只想要一种尺寸,所以我将值分成两半,然后 BAM,我们得到了我想要填充的屏幕部分的正确尺寸(以像素为单位)。
这对我来说似乎很完美,但你猜怎么着,我的老板说这有点“错误”,因为如果客户端在一个小屏幕上加载页面,然后在不重新加载的情况下最大化它,我们会看到一个右边有个大洞。
是的,我的朋友们,这听起来更奇怪,这正是他所抱怨的。
无论如何,我在这里,请求你的一些知识来帮助我的提议。
如果你们知道做这个菜单的更好方法...或让我的 JS 实时工作,我将非常感谢您的支持:D
【问题讨论】:
标签: javascript css html width