【问题标题】:float next sibling left of previous sibling在上一个兄弟的左边浮动下一个兄弟
【发布时间】:2012-04-26 06:07:15
【问题描述】:

我不知道如何使用 Internet Explorer 6 或是否可以做到这一点。

我正在尝试将下一个兄弟浮动到前一个兄弟的左侧

这就是我正在做的事情,它可以在 chrome 6、opera 9 和 firefox 1+ 上正确显示。

IE6 的问题是previous (2) 浮动到最右侧(最好在页面左侧的next (1) 旁边。

 .wrap{float:left;}
 .prev {float:right;}
 .next {float:left;}


 <div class="wrap">
 <div class="prev">previous (2)</div><div class="next">next (1)</div>
 </div>

如果能做到并且你知道怎么做,我将给予 250 分的赏金

【问题讨论】:

  • 你试过吗!重要的包装类...
  • @lakshmipriya,谢谢它对我不起作用

标签: html css internet-explorer-6 css-float


【解决方案1】:

给你:http://result.dabblet.com/gist/2489753

你不能在那里使用浮动,因为 IE 有一个讨厌的错误,如果它包含 float: right;,它会将浮动到左侧的容器(或者是 inline-block)拉伸。

但是,有一个很少使用的属性direction,可用于此类布局:它完全跨浏览器,您可以将其与inline-blocks 一起使用以获得最佳效果。

所以,对于你的情况,代码是这样的:

.wrap{
    display: inline-block;
    direction: rtl;
    }
.prev,
.next {
    display: inline-block;
    direction: ltr;
    }

display: inline-block 不适用于 IE,因此您需要通过使其内联但使用 hasLayout 来破解它,因此仅在条件 cmets 中将其添加到 IE:

.wrap,
.prev,
.next {
    display: inline;
    zoom: 1;
    }

就是这样!

一步一步:

  1. 将所有内容都设为内联块,以便在内联流中工作。
  2. 在包装器上反转流。
  3. 在子级中将流返回到正常的 ltr 模式。
  4. 完成了:)

【讨论】:

  • 几年前我很想知道该怎么做。谢谢!
  • 大卫:如果答案正确,请点击“打勾”使其变为绿色,否则问题会显示在“未回答”类别下
  • 这太棒了! (并且不要忘记为真正的 RTL 语言反转一切!)
【解决方案2】:

我不记得这个技巧是否适用于 IE6。

.wrap{float:left;}
.next {float:left;}
.prev {overflow:hidden}

我认为你不需要.wrap{float:left;}

<div class="wrap">
    <div class="next">next (1)</div>
    <div class="prev">previous (2)</div>
</div>

这样.prev 会在.left 被浮动后得到左边的宽度。

演示:

带环绕浮动:http://jsbin.com/exevis

不带环绕浮动:http://jsbin.com/opehig

【讨论】:

  • 谢谢安德烈亚斯! AL 为您的回复,但内容需要作为我的示例 next (1) 必须在文档标记中的 previous (2) 之后。
【解决方案3】:

请记住,direction 属性旨在指示希伯来语等语言的文本方向,而不是布局内容。虽然 kizu 的回答在处理 ie6 的怪物时非常聪明,但我建议您将其包装在一个条件中并确保记录该 hack,即使您是页面上唯一的开发人员。只需要几个月的时间,也许还有一些马提尼酒就可以启动,而且这种实现看起来很荒谬。

【讨论】:

  • 这应该作为对 kizu 答案的评论输入,而不是作为单独的答案。
  • 非常正确,但我没有直接回复答案的选项。我猜这是某种获得的功能。通常,有人将我的 cmets 移动到适当的位置。
  • 哦,我没有意识到必须获得添加 cmets。好吧,希望你能尽快获得这个特权!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-25
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
  • 2014-07-12
相关资源
最近更新 更多