如何无需设置前兄弟元素样式,实现元素与前兄弟并排布局?
侧边注释的结构优化需求
要创建侧边注释(aside),常规做法是将元素脱离正常文档流,设置position: absolute并放置在左侧,即可实现边注效果:

现有实现代码
CSS 样式
div.content {margin-left: 15em;} aside {position: absolute; left: 0;}
HTML 结构
<div class="content"> <p>Ut accumsan posuere leo non tempor. Maecenas ac metus luctus, imperdiet dui vitae, vehicula dui.</p> <aside>This is a marginal note.</aside> <p>Sed nisi ante, lacinia ut augue nec, eleifend venenatis quam. Etiam vel lacus aliquam, ornare ligula ut, tincidunt eros.</p> <p>Vivamus vestibulum sem et porttitor tristique. Nullam eu laoreet eros. Fusce lobortis luctus ligula. Vivamus eget elit ipsum.</p> </div>
在这个示例中,要让注释对应第二段内容,必须将注释放在该段落的前面,但从逻辑上来说,注释应该紧跟在被注释的内容之后。
现在需要解决的问题是:有没有办法让aside元素与其前一个兄弟元素并排显示(而非默认的和后一个兄弟元素并排),并且无需为前一个兄弟元素设置特殊样式?(类似问题《Can I float an element next to the previous element?》的解决方案不适用,因为它们需要为两个元素或至少为它们的容器设置样式。)
背景说明:我正在使用Sphinx/rST进行开发,通过额外包裹主文本实现该效果会非常麻烦,希望避免这种操作。
内容的提问来源于stack exchange,提问作者Daniele Procida
相关产品推荐
相关产品推荐

