【发布时间】:2015-11-18 14:37:59
【问题描述】:
我正在为两个 div 使用以下 CSS 样式,这会将摩天大楼广告放置在我的网站上主体的左侧和右侧。
/*-----Sky Scraper ad----*/
#SkyAdLeft{
width: 160px;
display: block;
position: fixed;
top: 100px;
left: 10px;
height: 600px;
z-index: 7;
}
#SkyAdRight{
width: 160px;
display: block;
position: fixed;
top: 100px;
right: 10px;
height: 600px;
z-index: 7;
}
我希望每个 DIV 保持固定,但是我想动态计算左侧广告中的左侧位置和右侧广告中的右侧位置,以便能够位于身体左侧或右侧 10 像素。
由于我的身体始终为 980 像素并居中,因此我根据浏览器宽度计算出了执行此操作的数学方法。我的广告宽度为 160 像素。
左侧广告的宽度计算:
(浏览器宽度 - 980) / 2 = X
(浏览器宽度 - (160 + X + 980)) -10
右侧广告的宽度计算:
(浏览器宽度 - 980) / 2 = X
(浏览器宽度 - X)+10
计算解释:我从动态浏览器宽度中减去 980 的主体宽度,然后除以 2 以获得浏览器末端和主体末端之间的空白区域的值。这就是广告所在的位置。
每个相应广告的第二个计算然后计算广告应放置在浏览器屏幕中的位置。
正确的广告很简单。它是浏览器宽度减去 X,这是第一次计算的空白空间值。然后添加 10px。这会将广告设置在正文右侧 10 倍。
左侧广告的第二次计算更复杂,但也会将左侧广告设置在正文左侧 10px 处。
如何使用 jquery 或 javascript 进行这些计算以及在哪里运行 jquery?在 css 样式文件或我的 footer.php 文件中,其中 div 位于代码中?
另外,如果有人知道这个问题的更快解决方案,可以让我的 div 位于身体左侧或右侧 10 像素处。请告诉我。
【问题讨论】:
-
我不明白你为什么要计算浏览器/窗口的宽度!对于
position:fixed元素,设置left:10px或right:10px就足以放置它。这不是你想要的吗? -
当它被固定时,左右位置由浏览器窗口移动。因此,如果有不同的分辨率或不同的缩放比例,或者如果有人在页面中调整浏览器的大小,则广告将停留在边缘,或者如果他们将其调整为非常小,则广告将位于正文后面。这一切看起来非常不专业和草率。无论如何,我希望广告始终与正文保持 10 像素。
标签: javascript jquery css wordpress position