Запретить Chrome изменять размер шрифта

Рассмотрим следующий фрагмент кода. Я установил размер шрифта всего документа на 16 пикселей. Однако когда я открываю эту страницу на Galaxy S9+, удаленная отладка показывает, что вычисленный стиль размера шрифта абзаца во втором разделе составляет 17,6 пикселей. Кажется, -webkit-text-size-adjust: none не работает. Я также использовал правильный метатег для ширины.

Я использую Chrome 127.0.6533.103 на Android. Есть ли способ предотвратить изменение размера шрифта Chrome в этой ситуации?

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width=device-width, initial-scale=1">
    <title>Webpage</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            height: 100%;
            -webkit-text-size-adjust: none;
        }

        body {
            height: 100%;
            font-size: 16px;
            color: black;
            background-color: whitesmoke;
        }

        section {
            background-color: lightgray;
            margin: 1rem 0;
            padding: 1rem 2rem;
        }

        .flex-container {
            display: flex;
            justify-content: space-between;
        }
    </style>
</head>
<body>
    <main>
        <section>
            <div class = "flex-container">
                <div>
                    <p>Some sample text in original font size.</p>
                </div>
                <div>
                    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
                </div>
            </div>
        </section>
        <section>
            <p>
                Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum magni eligendi
                officia velit corporis dolorum reiciendis autem aperiam veniam, voluptatum illum 
                cum est. Accusamus deleniti numquam corporis mollitia libero tempora?
            </p>
    </section>
  </main>
</body>
</html>

Вот результат вывода.

Вы пробовали без —webkit? И что происходит в наборе контейнеров меньшей ширины?

A Haworth 26.08.2024 12:55

@AHaworth: Я тоже пробовал text-size-adjust: none, но безрезультатно. Я попытался поместить текст в контейнер. Удивительно, но установка display: flex или display: inline-block для контейнера предотвращает изменение размера Chrome. Причина, по которой первый раздел имеет исходный размер шрифта, заключается в том, что это гибкий контейнер! Я не понимаю, почему хром так делает! Им следует просто оставить такие вопросы на усмотрение дизайнера веб-сайта.

Hosein Rahnama 26.08.2024 19:23

Попробуйте text-size-adjust: 100%;.

htor 28.08.2024 22:24

@htor: Это тоже не работает!

Hosein Rahnama 28.08.2024 22:27
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
4
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я попытался поместить текст в контейнер. Удивительно, но установка display: flex или display: inline-block для контейнера не позволяет Chrome изменять размер шрифта. Причина, по которой первый раздел имеет исходный размер шрифта, заключается в том, что это гибкий контейнер! Я не понимаю, почему хром так делает! Им следует просто оставить такие вопросы на усмотрение дизайнера веб-сайта. Этот хак также работает, если установить max-height: 1000000px в настройках сброса или для контейнера. Вот модифицированная версия приведенного выше кода.

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width=device-width, initial-scale=1">
    <title>Webpage</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            height: 100%;
            -webkit-text-size-adjust: none;
        }

        body {
            height: 100%;
            font-size: 16px;
            color: black;
            background-color: whitesmoke;
        }

        section {
            background-color: lightgray;
            margin: 1rem 0;
            padding: 1rem 2rem;
        }

        .flex-container {
            display: flex;
            justify-content: space-between;
        }

        .section-content {
            display: inline-block;
        }
    </style>
</head>
<body>
    <main>
        <section>
            <div class = "flex-container">
                <div>
                    <p>Some sample text in original font size.</p>
                </div>
                <div>
                    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
                </div>
            </div>
        </section>
        <section>
            <div class = "section-content">
                <p>
                    Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum magni eligendi
                    officia velit corporis dolorum reiciendis autem aperiam veniam, voluptatum illum 
                    cum est. Accusamus deleniti numquam corporis mollitia libero tempora?
                </p>
            </div>
        </section>
  </main>
</body>
</html>

и выход

Другие вопросы по теме