Центр Div, выровненный между двумя поплавками, не работает в Safari после медиазапроса.

0

У меня есть левый и правый плавающий div. У меня есть квадрат посередине, который не плавает, и устанавливается как центрированный между двумя поплавками. Если окно слишком маленькое, я хочу сбросить правый div под всем.

Это отлично работает в firefox, но в сафари это работает изначально, но не удается после изменения размера.

Есть идеи? http://jsfiddle.net/bzr49/

<div class="wrapper">
<div class="left">hey</div>
<div class="middle">hey</div>
<div class="right">hey</div>

.wrapper {
    text-align: center;    
}

.left {
    float: left;
    width: 100px;
    margin-right: 16px;
    background: yellow;
}

.middle {
    display: inline-block;
    margin: 0 auto;
    width: 200px;
    background: red;
}

.right {
    clear: both;
    float: none;
    margin-left: 0;
    width: 150px;
    background: green;
}

@media screen and (min-width: 472px) {
    .middle {float: none;margin: 0 auto;}
    .right {clear: none;float: right;margin-left: 16px;}
}
  • 0
    в скрипке, когда я изменяю размер, зеленая коробка опускается ниже красной и желтой. Можете ли вы опубликовать скриншот того, как выглядит ваш и как вы хотите, чтобы он выглядел?
  • 0
    та же проблема, кажется, возникает в Chrome. Зеленое поле падает, когда вы уменьшаете масштаб, но не перемещается обратно вверх при увеличении. Это снова хорошо, когда вы перезагрузите. По моему опыту, браузеры webkit могут немного глючить в своих медиа-запросах при изменении размера. Не забывайте, что только мы, разработчики, делаем это для тестирования, ни один реальный пользователь не играет с его размером области просмотра, как мы. Я бы не стал кодировать ошибки браузера!
Показать ещё 1 комментарий
Теги:
safari

1 ответ

0
Лучший ответ
.wrapper {
    text-align: center;    
}

.left {
    float: left;
    width: 100px;
    margin-right: 16px;
    background: yellow;
}

.middle {
    display: inline-block;
    margin: 0 auto;
    width: 200px;
    background: red;
}

.right {
    clear: both;
    display: inline-block;
    float: left;
    margin-left: 0;
    width: 150px;
    background: green;
}

@media screen and (min-width: 472px) {
    .middle {float: none;margin: 0 auto;}
    .right {clear: none;float: right;margin-left: 16px;}
}

Установка правого div для display: inline-block и float:left фиксировал его для меня. http://jsfiddle.net/bzr49/7/

  • 0
    Спасибо Вам за это!
Сообщество Overcoder
Наверх
Меню