Различное масштабирование на iPhone / iPad

#php #iphone #css #ipad

#php #iPhone #css #iPad

Вопрос:

Я пытаюсь закончить сайт для брата моего друга, и все (почти) работает нормально.

Сайт построен с использованием контейнера по центру, занимающего примерно 15-20% пространства с левой стороны.

Проблема в том, что, когда вы открываете его на iPhone или iPad, сайт масштабируется так, что пространство с левой стороны удаляется, текст начинается именно там, где начинается экран. Надеюсь, я правильно это объясняю.

Есть ли простой способ изменить это только для мобильных устройств? Жаль, что у меня нет никакого опыта, когда дело доходит до проектирования для телефонов..

Заранее спасибо!

Комментарии:

1. как вы оставляете поле на html-странице? возможно, это не поддерживается на устройстве iPhone. Какую версию HTML вы используете? На каком iPhone вы его тестировали (3G, 4 или другом).

Ответ №1:

Вы используете проценты для перемещения контейнера влево?

Вы уверены, что не присвоили контейнеру фиксированное значение width и margin:0 auto; с помощью CSS? А затем поместите этот мета-тег в начало веб-страницы HTML, чтобы телефоны обрабатывали его правильно?

 <meta name="viewport" content="width=device-width; initial-scale=1.0;maximum-scale=1.0;" />
  

Потому что, насколько я знаю, вы используете margin:0 auto; метод центрирования.

Например, добавьте контейнеру некоторое дополнение padding:1em; , и все должно быть в порядке. 🙂

Комментарии:

1. Извините, я не перенес его с процентами, ширина установлена на 100% с помощью css, с 0 отступами и полями, необходимо ли автоматическое? Спасибо за вашу помощь! Поможет ли нам этот мета-тег?

2. мета-тег изменяет размер представления таким образом, что оно занимает только необходимое пространство на телефоне (я тестировал только с андроидами). Если его ширина равна 100%, то как вы получаете интервал слева?

3. Хм, я это еще не исправил. Друг смотрит на это прямо сейчас, но, похоже, это гораздо сложнее, чем я думал. URL-это seorapport.se (временное). На рабочем столе это отображается нормально, но на iphone пространство удалено.. Мы смотрим на это .. У вас есть какие-нибудь идеи? Спасибо, брат.

4. судя по всему, вам просто нужно добавить немного отступов. но вам нужно сделать это для каждого элемента, который касается сторон, например .port { padding:0 10px; } вы можете захотеть уменьшить ширину в соответствии с дополнительным заполнением, похоже, это большая работа, поэтому я посмотрю еще раз завтра.

5. Большое вам спасибо. Ну, я не знаю, требует ли это много работы, сайт работает с включением menu.php, main.php (индекс) и footer.php . Под ним около 30 страниц, но они управляются style.css, который является глобальным. Возможно, мне не нужно так сильно менять. Но было бы намного проще, если бы был мета-тег или что-то еще, что могло бы изменять размер сайта при доступе с iphone 🙂 Спасибо @YuriKolovsky

Ответ №2:

Вы можете включить css в заголовок страницы, посмотрев на его параметр устройства

 <style type="text/css" media="screen and (max-device-width: 480px)">
    /*for iphone only*/
</style>
  

ИЛИ другой способ — создать css-файл mobile.css только для мобильных устройств и включить этот css с помощью javascript, приведенного ниже:-

 <script type="text/javascript">
    // checking if the device is iphone, ipod or ipad
    if ((navigator.userAgent.indexOf("iPad") > 0)
        || (navigator.userAgent.indexOf("iPod") > 0)
        || (navigator.userAgent.indexOf("iPhone") > 0)) {
        // including the css file
        document.write("<link href='mobile.css' rel='stylesheet' type='text/css' />");
    }
</script>
  

Комментарии:

1. Я попробовал первый опубликованный вами код, и я думаю, что он сработает. Я просто не знаю, как изменить размер сайта для iphone, чтобы он добавил немного места. Как на apple.com это дает пространство размером 5-10 пикселей, которое мне бы отлично подошло.