2014-08-28 72 views
0

我有一个流体布局的WP博客,主要内容是一个居中的div,大约1000px宽。如何在流体布局中使用固定位置

现在我想在每边放置一个广告横幅区域,并且我希望使用固定位置,以便在用户向下滚动博客时留下这些广告。

我已经看到了类似广告的博客,但他们没有流体布局,而是可以使用position:fixed和width:Ypx left:-Ypx这使得他们的广告始终固定在左侧。

虽然流体布局看起来这是不可能的吗?

这是我试图模仿,看看双方都不向下滚动的效果......

http://radarmagazine.se错误的站点

---更新---------

我把错误的示例站点..这是一个固定的位置:

这是示例站点: http://freshnet.com

+1

我相信你的意思是 “塔” 的广告,而不是 “旗帜” 的广告。横幅广告是风景,塔式广告是肖像。 – Jason 2014-08-28 14:39:02

+0

您在示例网站上没有给出其他导航栏的固定元素。 – GifCo 2014-08-28 14:40:30

+0

如果您添加一些代码和JSFiddle,则其他人可以更轻松地了解问题并提供帮助。 – GentlePurpleRain 2014-08-28 14:40:30

回答

3

这是可能的,而不JS。这是我的方法。

基本上,你要设置你的包含分区,然后克隆它,并致力于position: fixed;这种方式,固定div中克隆的容器将共享相同的样式,您的实际包含股利和按比例调整div内设置。

<div class="ads"> <!-- Dedicated position: fixed; --> 
    <div class="wrap"> <!-- Cloned container for positioning of Ads --> 
     <img src="http://placehold.it/100x750&text=Ad1" /> 
     <img src="http://placehold.it/100x750&text=Ad2" /> 
    </div> 
</div> 

<div class="wrap"> <!-- Main container with a z-index of 1 --> 
    <img class="main" src="http://placehold.it/960x300" /> 
</div> 

一旦这项工作到位,你可以相应的固定格内放置你的“广告”,而他们的反应/固定容器的突出位置,使他们坚持吧 - 给,他们正在坚持的幻觉你的实际包装。在达到max-width后,固定广告将被推出视口。

http://jsfiddle.net/m0v3vqcp/ - 小提琴

Full Screen/ With Their Ads

+0

尽可能保持不显眼和驯服 - 这样您就可以移除广告包装,而不会在消极边距等方面发生任何问题或依赖关系。 – Evan 2014-08-28 15:07:35

+0

谢谢,真棒解决方案。一个问题 - 在整体上放一个最大宽度会删除一些原始设计(标题图像用于跨越整个区域的边距,而不管其大小)。任何漂亮的方式来保持这一点(要么继续在广告的外面,要么只是在没有广告的时候显示。 – 2014-08-29 09:47:06

+0

你是不是在试图让广告扩大规模,包括标题?我看起来像忘了'height:auto; 'on'.main'这是标题图片广告http://jsfiddle.net/6xqbq0nt/ – Evan 2014-08-29 13:14:32

0

可以使用一些JavaScript,获取window.resize事件上的内容宽度,然后根据该值在x轴上更新广告位置。我做了一个JSFiddle来说明如何实现这一点。

http://jsfiddle.net/r86r6j1f/

0

我不相信你需要使用Javascript吧。你应该可以用一对相对定位的浮标来完成,并且位置固定。

http://jsfiddle.net/9ov32nkd/1/

body, html { 
    margin: 0; 
    padding: 0; 
} 

#wrapper { 
    min-width: 960px; 
    position: relative; 
    margin: 0 auto; 
} 

#inner { 
    position: absolute; 
    width: 960px; 
    left: 50%; 
    margin-left: -480px; 
} 

.content { 
    width: 720px; 
    padding: 20px; 
    background-color: #CCC; 
    margin: 0 auto; 
    float: left; 
} 

.banner { 
    width: 100px; 
    height: 100px; 
    position: relative; 
} 

.banner1 { 
    float: left; 
} 

.banner1 .inner, 
.banner2 .inner { 
    background-color: #EFEFEF; 
    height: 300px; 
    width: 100px; 
    position: fixed; 
    top: 0; 
} 

.banner2 { 
    float: right; 
} 
+0

Evan的解决方案比我提供的解决方案更好。 – Jason 2014-08-28 14:59:51