Проста сторінка Bootstrap не реагує на iPhone


84

Я завантажив приклад Twitter Bootstrap і створив з ним простий проект рейок. Я скопіював css, де це було потрібно, і він відображається нормально. Я також скопіював js, і все на моєму робочому столі чудово працює: він реорганізує сторінку, коли я зміню розмір свого браузера. Використовуючи деякі «інструменти тестування адаптивного дизайну» з різними розмірами, це чудово працює.

Проблема у мене на моєму iPhone: він відображається справедливо, як на моєму робочому столі.

Коли я спробую сторінку з прикладом Bootstrap Hero (саме з неї я почав), це чудово працює на моєму iPhone.

Що може піти не так? Я майже не торкався жодного CSS, я просто додав відступ до нижнього колонтитула.

FYI, CSS, який я змінив, полягає в тому, що я пов'язую свій додаток application.cssіз таким вмістом:

/* Application stylesheet */

@import url(bootstrap.css);
@import url(bootstrap-responsive.css);

/* Body */
body {
    padding-top: 60px;
    padding-bottom: 40px;   
}   

/* Footer */
footer {
    padding: 20px 0;
}

Чи можете ви опублікувати тестову сторінку чи якийсь код?
Андрес Іліч

Це чуйне для мене. Чому, на вашу думку, він не реагує?
Джессі Вольгамотт

@RaySF, я не бачу причини, чому це не повинно працювати, хоча у мене є певні сумніви щодо @importправила, яке ти використовуєш, але це особисте. Чи можете ви опублікувати тест?
Андрес Іліч

@JesseWolgamott це не реагує на моєму iphone, коли я відкриваю дві сторінки, згадані вище, офіційні приклади працюють нормально (наприклад, меню не відображається однаково, наприклад), але моя сторінка відображається так само, як на робочому столі.
RaySF

1
@RaySF Через характер моєї роботи мені довелося дослідити шляхи підвищення сумісності та підвищення продуктивності дуже великих таблиць стилів, складених за допомогою @importметоду позначень. По дорозі я виявив, що багато проблем було у зв'язку з цією технікою, і виявив, що сталося враження продуктивності biiig (а також багато помилок, які неможливо пояснити), які пізніше були виправлені додаванням таблиць стилів за допомогою <link>тегу html . Сумніви , які були пізніше підтримали такі питання , як це тут так.
Андрес Іліч

Відповіді:


184

Обов’язково додайте:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

до вашого <head>.

У мене була подібна проблема, і я помилково вважав, що це просто питання ширини області перегляду.

Оновлення : перегляньте відповідь @NicolasBADIA, щоб отримати більш повну версію.


8
і це, щоб працювати як портретний, так і альбомний вигляд: <meta name = "viewport" content = "width = device-width; початковий масштаб = 1.0; максимальний масштаб = 1.0; масштабований користувачем = 0;" />
virtualeyes

@virtualeyes, дякую за підказку! Будь-яка ідея, як дозволити масштабування користувача та отримати належний вигляд lanscape?
Андрій

Ні, я використовую мобільний телефон JQuery, який не дуже вірить у чуйний дизайн. Нехай мобільний буде мобільним, а планшети та новіші - настільними. Що-небудь між ними, байдуже ;-)
virtualeyes

111

Код, запропонований frntk, не працює, коли ви перетворюєте пристрій в альбомному режимі, і рішення, надане virtualeyes, є неправильним, оскільки замість коми використовується крапка з комою. Ось правильний код:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

Джерело: https://developer.mozilla.org/en/Mobile/Viewport_meta_tag


4
Приклади на офіційному сайті Twitter Bootstrap слід оновити, щоб використовувати це.
wenbert

1
Чудове повідомлення, дякую! Мав подібну проблему з поворотом екрану, тепер це працює як шарм.
Mark Vital

8
Це повинна бути прийнята відповідь!
Шехаряр

6

Звичайно, дуже маленький футляр, але про який варто згадати.

Якщо ви використовуєте переадресацію доменів через вашого постачальника DNS, ваш сайт може закінчитися загорнутим у внутрішній кадр. Наприклад, GoDaddy використовує цю техніку, якщо ви маскуєте свій домен і переадресовуєте.


2
Я годинами намагався вирішити цю проблему і врешті натрапив на цей коментар. Дякую!
Ед Ши

Цей коментар зробить крихітну групу людей дуже дуже щасливою.
Ніколас Рохо

Я не бачу обгорнутого iframe, але маючи проблему з правильними метатегами, чи можуть вони як-небудь приховати iframe?
helle

3

Я застряг у цій проблемі кілька годин.

Не забудьте також розмістити вміст усередині <div class="container-fluid">...</div>


container-fluidЗробив трюк для мене!
Паула
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.