使流体大小的块粘在顶角并允许内容在其周围流动,但在某些断点处保持在内容下方。

Make fluid-sized block stick to top corner and allow content flow around it, but remain below content at certain breakpoints.

我创建了一个代码笔来演示效果和我想要实现的目标。这不是一个复杂的问题,但我不确定如何更简洁直接。

http://codepen.io/anon/pen/KwoeqR

我想要的是有一个可变宽度的文本块,当正常流动时,它位于内容块的下方。但是,通过断点和媒体查询,卡在内容的右上角,并允许内容围绕它流动。

等式的二分之一或另一半很容易实现。我可以用这个实现浮动的右上对齐块:

CSS:

.floater {
  float: right;
}

HTML:

<div class="floater"></div>
<p>A bunch of content text.</p>

但是,当通过媒体查询时,浮动内容不再浮动,而是位于内容之上。它需要坐在下面。

为了让它坐在下面,我可以这样做:

HTML:

<p>A bunch of content text.</p>
<div class="floater"></div>

但现在它不会正确浮动 - 它不会粘在右上角。

我尝试过的解决方案:

我希望这是有道理的。这听起来非常特别和精确,但实际上并非如此。这是一个简单的布局问题,似乎没有简单的答案,除非我错过了!

您可以组合使用 floatflex 和媒体查询,如下所示:

.floater{
    float: right;
}

@media (max-width: 500px) {
    .wrapper{
        display: flex;
        flex-direction: column;
    }
    .main{
        order: 0;
    }
    .floater{
        order: 1;
    }  
}

http://jsfiddle.net/og8s0rvr/

在这里你可以看到 floater 一直浮动,直到 window 小于 500px。那时它切换到 flex 布局,其中元素的顺序通过 order.

更改