html - 媒体查询和 float /中断跨度

标签 html css layout media-queries

span {
    display: block;
}

@media (min-width: 500px) {
    span {
        display: inline;
        float: right;
    }
}

<p>Some text. <span>Some occasionally-floated text.</span></p>

在此Fiddle ,如果结果窗口大于 500 像素,则两行文本位于同一行。

当窗口变小时,跨度会打断线条,但再次将窗口变大不会逆转该行为。换行符仍然存在,跨度 float 在下一行。 这是正确的行为吗?有没有办法绕过它:一种方法可以让 span 再次与其他文本内联?

更新:这是 Webkit(和 Blink?)中的错误 https://bugs.webkit.org/show_bug.cgi?id=53166

最佳答案

正如@thirtydot 在评论中指出的那样,这是一个 webkit 错误,这个问题中的更多信息:Webkit float and display

要实现期望的布局,您可以这样做:

FIDDLE

HTML:

<p><span class="left">Some text. </span><span class="right">Some occasionally-floated text.</span></p>

CSS:

.left{
    float:left;
}
.right {
    clear:left;
    float:left;
}

@media (min-width: 500px) {
    .right {
        float: right;
        clear:none;
    }
}

关于html - 媒体查询和 float /中断跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541633/

相关文章:

html - 为什么我的图像背景在 float : left? 上消失

android - 如何在android中使用jsoup从html中提取特殊数据

HTML5 Canvas 调整大小

javascript - 使div仅在悬停时滚动

css - 带有拆分器的 HTML、CSS 布局问题

javascript - Pluralsight-AngularJS : Get Started

html - 下拉菜单: whole menu comes down

html - 如何使用样式标签在我的 css 中使用 ruby​​ on rails?

ios - Bounds 和 Frame 在 iOS 中提供了错误的值

jquery - 在布局方面需要帮助 (jQuery)