2014-05-08 4 views
2
span { 
    display: block; 
} 

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

<p>Some text. <span>Some occasionally-floated text.</span></p>медиазапросы и Плавающие/Ломая Пролеты

В этом Fiddle, если окно результата больше, чем 500px обе строки текста находятся на одной и той же линии.

Когда размер окна меньше, пролет разбивает линию, но изменение размера окна больше не отменяет поведения. Разрыв строки остается, и диапазон плавает на следующей строке. Это правильное поведение? И есть ли способ обойти это: способ, которым промежуток может снова стать встроенным в другой текст?

Update: (? И Blink) Это ошибка в Webkit https://bugs.webkit.org/show_bug.cgi?id=53166

+0

Вы бы изменить порядок элементов в разметке? –

+1

Предполагая, что вы тестируете в Chrome, может быть схож с этим: http://stackoverflow.com/questions/6560629/webkit-float-and-display – thirtydot

+0

можно также обмотать первый бит текста - http: // jsfiddle .net/peteng/7Us62/1/ – Pete

ответ

1

Как отметил @thirtydot в комментарии, это WebKit ошибка, мор Информация в этом вопросе: Webkit float and display

Для достижения disired макета, вы можете сделать это:

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; 
    } 
} 
Смежные вопросы