1 / 1 / 0
Регистрация: 20.10.2012
Сообщений: 11
|
|||||||||||
1 | |||||||||||
Почему такое поведение у float-элемента, и как исправить?05.10.2015, 18:15. Показов 740. Ответов 5
Метки нет (Все метки)
Здравствуйте, коллеги.
Наткнулся на странное поведение у float-элемента, после диагностики рабочий код сократился до вот такого фиддла:
У меня проблема проявляется в chrome 45.0.2454.101 m Суть проблемы. Если при загрузке страницы (или нажатии Run, само собой) ширина рабочей области > 320px (зелёный bg), то элементы становятся так, как ожидается — two уплывает влево, получаем twoone. Но если отресайзить экран до < 320px (красного bg), а потом вернуть обратно, two почему-то не поднимается в первую строку, а остаётся во второй. Вопрос, который гложет меня последние полдня — какого чёрта? Как от этого избавиться, не меняя функциональности?
0
|
05.10.2015, 18:15 | |
Ответы с готовыми решениями:
5
почему сбрасывается background родителя, когда в нем 3 элемента с float:left? cannot convert `float' to `float*. Почему так происходит? [Error] expected primary-expression before 'float' ребята, как исправить Почему точность Double такая же как у Float ? |
29 / 29 / 22
Регистрация: 27.12.2013
Сообщений: 368
|
||||||||||||||||
05.10.2015, 18:25 | 2 | |||||||||||||||
эмм... Если я тебя правильно понял, то проблема в том, что
Добавлено через 4 минуты https://jsfiddle.net/5s9k41wn/
Ты так хотел сделать?
0
|
1 / 1 / 0
Регистрация: 20.10.2012
Сообщений: 11
|
|
05.10.2015, 20:15 [ТС] | 3 |
Спасибо за ответ, но нет. Видимо, я недостаточно внятно описал, в чём заключается проблема.
Проблема в том, что из такого состояния: в результате ресайзов страницы вёрстка принимает такой вид: и никакими средствами, кроме перезагрузки страницы или, например, отключением и включением float в инструментах разработчика, в изначальное состояние не возвращается.
0
|
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 22
|
|
06.10.2015, 10:09 | 4 |
Может потому, что в 11й строке ты их делаешь блочными - блочный элемент занимает 100% ширины страницы. Вот они не вмещаясь и скачут.
Измени в 5й строке (two) на (one), красивее будет
0
|
1 / 1 / 0
Регистрация: 20.10.2012
Сообщений: 11
|
|
06.10.2015, 14:51 [ТС] | 5 |
Да нет же! Они должны "скакать", в этом и идея.
Например, при ширине окна < 320px блоки выстраиваются вертикально, мобильное меню. При ширине 320px и больше становятся в ряд, при этом один из пунктов становится кнопкой и должен занять крайнее левое положение. В этом мой кейс. Из примера я убрал всё это, потому что оно не играет роли. Осталось только то, что влияет на непонятное поведение, + цвет фона, для наглядности.
0
|
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 22
|
||||||
11.10.2015, 11:08 | 6 | |||||
Это может быть проблема ресурса - где вы тестируете код (ошибки изменения экрана).
Сделайте документ и протестируйте:
0
|
11.10.2015, 11:08 | |
11.10.2015, 11:08 | |
Помогаю со студенческими работами здесь
6
Вычислить значение функции (неожиданное поведение программы - как исправить?) Поведение ::after как блочного элемента Как исправить? warning C4244: 'initializing' : conversion from 'int' to 'float' [Код внутри] Непонятное поведение div при float Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |