Как уменьшить размер шрифта при изменении размера браузера

13

Я делаю сайт с html5 и css. Я пытаюсь сделать этот сайт отзывчивым, но я не знаю, почему размер шрифта остается неизменным при изменении размера окна браузера, даже когда я использую em или percentage, например: font-size: XXem или font-size: XX%.

Как изменить размер шрифта?

Теги:
fonts

9 ответов

33

Для веб-страниц HTML5 я настоятельно рекомендую использовать значения ширины и высоты точки. Они функционируют аналогично%, но имеют размер шрифта, размер которого изменяется с помощью окна.

Например...

.some-paragraph{
    font-size: 5vw;
}

Это установило бы размер шрифта всегда на 5% от текущей ширины видового экрана, даже при повторной калибровке!

Подробнее здесь: http://www.w3.org/TR/css3-values/#viewport-relative-lengths

Примечание. Возможно, вам нужно иметь это в своей голове:

 <meta name="viewport" content="initial-scale=1">
  • 2
    Очень хороший трюк @victor3y victor3y Я использовал его в своем проекте, и он работает как шарм. Я должен был разработать стол для просмотра на разных мобильных телефонах. И используя VH измерение для шрифтов, я смог обработать все эти экраны с помощью всего лишь одного медиазапроса для этой конкретной таблицы.
  • 0
    Сначала я слышал об этом, но на самом деле это работает в моей таблице. Я сказал нашему редактору HTML html, что не очень рекомендую его, потому что переносы строк - это нормальное поведение, когда вы уменьшаете свой браузер. Но если она думает, что это какой-то магический трюк, тогда я могу перейти к следующей жалобе.
5

Он называется Отзывчивый

@media screen and (max-width: 1024px) {
your font  style goes here

}

@media screen and (max-width: 950px) {
 your font  style goes here

}


@media screen and (max-width: 650px) {
 your font  style goes here


}

@media screen and (max-width: 480px) {
 your font  style goes here

}
2

Вы должны определенно использовать мультимедийные запросы CSS в стиле, основанном на диапазоне коэффициентов экрана и спецификаций, но здесь приведен пример использования как rem единиц, так и jQuery, чтобы уменьшить размер шрифта при изменении размера браузера. Заклинание здесь.

CSS

html { font-size: 90.5%; }
body { font-size: 1.4rem;}
h1 { font-size: 2.4rem; }

JavaScript/JQuery

$(document).ready(function () {
    var holdWidth = $(window).width();
    $(window).on('resize', function () {
        newPercentage = (($(window).width() / holdWidth) * 100) + "%";
        $("html").css("font-size", newPercentage)
    });
});

и здесь пример, усредняющий как ширину, так и высоту для нового процентного размера шрифта:

$(document).ready(function () {
    var holdWidth = $(window).width();
    var holdHeight = $(window).height();
    var holdAverageSize = (holdWidth + holdHeight) / 2;
    $(window).on('resize', function () {
        newAverageSize = ($(window).width() + $(window).height()) / 2;
        newPercentage = ((newAverageSize / holdAverageSize) * 100) + "%";
        $("html").css("font-size", newPercentage)
        console.log(newPercentage);
    });
});
2

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

Пример кода поможет.

Сделайте снимок. Работает лучше, чем% или em.

http://snook.ca/archives/html_and_css/font-size-with-rem

1

ОК... Я думаю, это старый вопрос... но здесь крутая работа вокруг меня натолкнулась. этот парень CSS корректирует размер текста в соответствии с размером окна, но сохраняет его достаточно большим для обеспечения совместимости с мобильными устройствами http://typecast.com/blog/a-more-modern-scale-for-web-typography

1

вы можете исправить это, используя запрос @media и окно просмотра в своем css, и добавьте этот метатег в свой html:

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

а с помощью запроса и просмотра @media вы объявляете, какой размер у вас есть на ширине экрана, используя этот медиа-запрос + viewport в css:

 @media screen and (min-width: 820px) and (max-width: 920px) {
  @viewport { width: 820px; }   

            // your css for screens between 820 and 920 pixels in width goes here

  }

i в основном используют значение: от 20 до 600, 600-700, 700-820, 820 - 920, 920 - 1200, экран @media и (минимальная ширина: 1200 пикселей) {@viewport {width: 1200px; } (этот последний установит размер для любого экрана шириной более 1200 пикселей, поэтому ваш код для самой большой версии будет идти здесь}

Итак, это означает, что у вас будет 6-кратный код, который будет адаптирован к размеру.

Это называется адаптивным или отзывчивым дизайном и довольно легко сделать

Для получения дополнительной информации вы можете проверить это http://css-tricks.com/snippets/css/media-queries-for-standard-devices/

0

font-size: 25vmin;

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

0
.text {
    font-size: 50px;
}


@media only screen 
and (min-width : 300px)
and (max-width : 500px) {

   .text {
    font-size: 20px;
   }

}

    @media only screen 
    and (min-width : 500px)
    and (max-width : 800px) {

       .text {
        font-size: 30px;
       }

    }

</style>


<div class="text">Test Text</div>
0

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

Наиболее распространенный подход к созданию сайтов с реагированием - это сделать "первый мобильный" подход, при котором ваша таблица стилей по умолчанию обрабатывает базовый стиль для вашего сайта на небольшом экране, а затем использует мультимедийные запросы в CSS для настройки стилей в качестве размера экрана увеличивается. Используете ли вы какие-либо медиа-запросы/контрольные точки в настоящее время?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню