对于我们网站的主页,我们有一个主要的介绍内容区域和一个右侧边栏。
当主要内容超出侧边栏的高度(其本身基于内容扩展)时,我希望主要内容文本“环绕”右侧边栏。
下面是我用来完成此操作的 css 和标记(我提前为Lorum ipsum道歉,我用它来展示主要内容文本如何“环绕”右侧边栏):
#container { width:100%; position:relative; padding:0; }
#maintext {}
#sidebar { float:right; width:200px }
<div id="container">
<div id="sidebar">
<ul>
<li>Secondary</li>
<li>Secondary</li>
<li>Secondary</li>
</ul>
</div>
<div id="maintext">
<p>More important intro text appearing AFTER sidebar in HTML flow: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas bibendum pharetra est eu aliquet. In lacinia est non augue egestas, nec sodales felis euismod. Curabitur lacus enim, egestas quis pharetra non, molestie ut nisi.</p>
<p>Cras eleifend, ante non elementum rhoncus, odio metus dapibus quam, eget aliquam risus odio et lorem. Suspendisse euismod urna cursus ligula commodo ultrices. Integer vulputate ante eu lectus consequat mattis. Donec tristique massa at lectus viverra congue. Maecenas elementum justo vel pretium pulvinar. Phasellus at tortor metus. Quisque at ligula metus. Nulla euismod ipsum sit amet ullamcorper sollicitudin. Sed accumsan libero vitae magna fermentum aliquam. Nunc nec nisi diam. Morbi iaculis bibendum rhoncus. Pellentesque sagittis bibendum felis in gravida.</p>
</div>
</div>
上面的小提琴:http: //jsfiddle.net/Ezbd9/1/
这个标记的问题是侧边栏出现在主要内容之前。我尝试移动#sidebar
div 以使其跟随#maintext
div,但结果是侧边栏仅出现在主要内容下方,自行浮动到右侧。如此处所示:http: //jsfiddle.net/Fct8F/1/
最初我并不担心这一点,但考虑到 SEO 以及我对我的网站的新响应式设计,我试图找到一种方法来获得相同的文本换行效果,但在适当的流程中(即主要内容后跟边栏)。
简而言之,我希望获得与上述代码相同的视觉结果,但在 HTML 中的#maintext
div 之前使用#sidebar
div。