好的,所以我正在尝试制作一个水平站点,但是当我尝试获取导航的 offsetWidth 时,它返回的值远高于真实宽度。有问题的设计可以在这里找到。页面的 CSS 在这里,JS在这里。
非常感谢任何可以解决这个问题的人:)
这是您的页面在应用 CSS 之前的样子:http: //img571.imageshack.us/img571/1047/shotjt.png。在那一刻,#projects nav 的宽度是客户端屏幕的宽度。
你有两个解决方案:
令人惊讶的是,它在 IE 中运行良好 :)
另一种解决方案是将 body margin 设置为 0,通常在未设置宽度且未触及 body margin 的情况下,渲染可能会偏离 16 个像素,即 body 标签的每边(左右)各占 8 个像素。
罗德里戈。
这是因为边距创建的空间是计算出来的,最后一篇文章有右边距。这是固定的脚本。
domready(function() {
var projectsContainer = qwery('#projects')[0];
var projects = qwery('.project');
var projectsNav = qwery('#projects nav')[0];
var pMargin = 40;
var pnW = projectsNav.offsetWidth+cMargin;
for(p in projects) {
projects[p].style.marginRight = pMargin+'px';
}
projectsContainer.style.width = (projects.length*(projects[0].offsetWidth+pMargin))+pnW+'px';
});