2015-08-10 4 views
3

На странице our website мы имеем следующее явление: при рендеринге веб-сайта в браузере рабочего стола (Firefox, IE, Chrome) все шрифты, в частности те, которые встроены в теги <td>, отображаются в такого же размера.Как предотвратить масштабирование размера мобильных устройств

Однако при рендеринге веб-сайта на мобильном устройстве размер шрифта текстов в тегах <td> сжимается. Смотри ниже. Мы попытались установить

html { 
    -webkit-text-size-adjust: none; 
} 

но это только помогает с проблемой в браузере для мобильных сафари и оперы. Используя советы от this website, мы добавили

@media (max-width: 960px) { 
    td { 
     font-size: 20pt; 
    } 
} 

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

example picture

ответ

1

Может быть, если вы также добавить тело в CSS, как это:

html,body { -webkit-text-size-adjust:none; } 

Ресурс: iPhone/iPod - prevent font-size-changing

+0

Извините, возможно, я не указал это достаточно ясно: если работает в iPhone и Opera, но мы хотели бы, чтобы он работал в Chrome и IE mobile. – Skrodde

+0

Другая возможность заключается в написании шрифтов в px, а не в pt. Таким образом, шрифт всегда будет поддерживать свой размер. – Olli

+0

Эй, см. Ответ Клара. Мы попробовали это, но все же в браузерах браузера Firefox и Chrome размер шрифта ячейки таблицы уменьшен ниже других размеров текста. – Skrodde

1

Прежде всего, размер шрифта должен быть установлен по отношению к default- значение, которое определяется селектором html, в случае повторного форматирования.

Например:

html { 
    font-size: 100%; 
} 
h1 { 
    font-size: 2em; 
} 
td { 
    font-size: 1.25em; 
} 

Причина этого заключается в том, что различные платформы используют разные значения по умолчанию для 100%. Например. десктопы используют 16px, но мобильные браузеры часто используют 24px.

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

Лучшим решения этой проблема: использовать относительные размеры шрифта с em, rem или даже % в качестве единицы, istead абсолютного размера шрифта с pt или px в качестве единицы.

Редактировать для более фона на различных умолчанию размера шрифта на различных платформах:

Поскольку каждая платформа имеет свой собственный потребительной случай, свой собственный средний размер экрана, среднее расстояние для чтения до экрана, средняя DPI-значение для его экрана и (что наиболее важно) различной ширины окна просмотра, размер шрифта на каждой из этих платформ не одинаково разборчив, если установлен фиксированный размер. Вот почему браузеры определяют размер по умолчанию для чего-то другого, чтобы оптимизировать опыт для пользователя на этой конкретной платформе.

Несомненно, вы можете игнорировать это и постоянно устанавливать все размеры шрифта на что-то фиксированное, но это противоречит потоку и нарушает работу пользователя. Вместо этого постарайтесь примириться с этим фактом и быть уверенным, что все это правильно масштабируется.

Edit2: Чтобы предупредить вас об использовании em против rem: используя em наследуют родительское значение и умножить его на значении размера шрифта вы определяете в текущем элементе, при использовании rem воли всегда будет основываться на значении, которое устанавливается в корневом элементе вместо родительского элемента. Таким образом, следующий код будет приводить к следующим абсолютным значениям:

HTML:

<html> 
    <...> 
    <body> 
    <div> 
     <p>..</p> 
    </div> 
    </body> 
</html> 

CSS:

html { 
    font-size: 100%; /* we agree on 16px for this example */ 
} 
div { 
    font-size: 1.25em; /* add a quarter of 16, so 20px is the actual value */ 
} 
p { 
    font-size: 0.8em; /* subtract a fifth of the value of the parent element: 20 * 0.8 = 16 again */ 
    font-size: 0.8rem; /* subtract a fifth of the value of the root element: 16 * 0.8 = 13.8 (will be rounded by browser to 14) pixels */ 
} 
+0

Это, по-видимому, не помогает. При переключении всех размеров шрифта в значения «em» по-прежнему отображается меньший шрифт в ячейках таблицы, чем во время просмотра страницы с помощью мобильного телефона Chrome или Firefox на малой ширине экрана. – Skrodde

+0

Вы указали размер шрифта как 100% для тега html? Это важно для правильной работы. – colonelclick

1

Вы были, скорее всего, искали это:

Включить следующие <meta> в документе <head> раздел:

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

Это помогло мне с той же проблемой.

1

Я знаю, что это старый пост, но я наткнулся на него и нашел ответ, который работал для меня, просто расширение для Олли. Есть несколько стилей CSS, которые вы должны добавить поддержку других браузеров:

-webkit-text-size-adjust: none; 
-moz-text-size-adjust: none; 
-ms-text-size-adjust: none; 

Я первоначально положил все в ячейках таблицы, которые работали на моем связующем, но мой Самсунг телефон еще случайно решить, какой текст в масштабе, и для сохраните заданный размер. Я установил 13px ко всему на странице, и это был единственный размер шрифта, который я сделал. Это был единственный способ, которым я смог исправить это на всех устройствах, которые у меня есть.

Смежные вопросы