Как задавать размеры шрифта в вёрстке — Журнал «Код»
Продолжаем говорить о размерах в CSS. Мы уже разбирали пиксели, проценты и зависимость от окна браузера, а теперь посмотрим на особенности размеров шрифтов.
Коротко о том, что уже было: пиксели и высота экрана
Самый простой способ задать размер чего-нибудь на веб-странице — указать его в пикселях:
font-size: 16px;
Также можно указать размер в виде пропорций от ширины или высоты браузера. Например, чтобы размер шрифта был 1/10 от высоты окна. Необычно, но может быть интересно:
font-size: 10vh;
Проценты и шрифты
Ещё есть проценты, но с ними сложнее: нужно знать размеры родительского элемента, чтобы процентам было от чего отталкиваться. Например, если мы просто напишем font-size: 50%;, то браузер сделает так:
- Поищет в стилях, есть ли где-то точное указание размеров шрифта для этого или родительского элемента.
- Если есть — возьмёт 50 процентов от них.
- Если нет — возьмёт стандартный размер шрифта для этого элемента из своих настроек и уже от них посчитает 50%.
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Размеры шрифтов</title> <style type="text/css"> /*задаём общие параметры для всей страницы*/ body { text-align: center; margin: 10; font-family: Verdana, Arial, sans-serif; font-size: 40px; } </style> </head> <body> <p>Привет, это журнал «Код»!</p> </body> </html>Браузер взял размер шрифта 40 пикселей из общих настроек для всей страницы.
p {
font-size: 50%;
}
А вот что будет, если мы удалим размер в пикселях из стиля body{} и дадим браузеру самому разобраться с размером:
Так как мы не задали точные размеры, то браузер взял какой-то свой размер абзаца по умолчанию и посчитал 50% от этого стандартного размера. Получилось мелко и нечитаемо.
Em — относительный размер шрифта
Если неохота считать проценты или нужно, чтобы шрифт точно был в 2 раза больше или в 0,7 раз меньше обычного шрифта, используют em. Это то же самое, что проценты: font-size: 100%
— это как font-size:1em
.
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Размеры шрифтов</title> <style type="text/css"> /*задаём общие параметры для всей страницы*/ body { text-align: center; margin: 10; font-family: Verdana, Arial, sans-serif; font-size: 20px; } </style> </head> <body> <!-- текст с основным размером шрифта --> <p>Привет, это журнал «Код»!</p> <!-- эта строка будет иметь шрифт в 2 раза больше --> <p>А это — статья про размеры шрифтов</p> <!-- а эта — в 0,7 раза меньше, чем основной шрифт--> <p>И здесь всё постоянно меняется</p> </body> </html>
Так же, как и с процентами, em — это относительные значения. Всё зависит от родительского элемента. В этом примере родительским элементом был общий размер для всей страницы, заданный в body{}. Но что, если мы вложим с помощью блоков абзацы друг в друга?
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Размеры шрифтов</title> <style type="text/css"> /*задаём общие параметры для всей страницы*/ body { text-align: center; margin: 10; font-family: Verdana, Arial, sans-serif; font-size: 20px; } </style> </head> <body> <div> <!-- текст с основным размером шрифта --> <p>Привет, это журнал «Код»!</p> <!-- меняем размер текста относительно предыдущего блока --> <div> <!-- эта строка будет иметь шрифт в 2 раза больше предыдущего блока --> <p>Делаем шрифт побольше предыдущего</p> <!-- снова меняем размер текста, но уже относительно предыдущего блока --> <div > <!-- эта строка будет в 0,7 раза меньше, чем в предыдущем блоке--> <p>А этот — поменьше своего предыдущего</p> </div> </div> </div> </body> </html>
Размеры в эмах удобно использовать для вёрстки разных иерархических элементов, где каждый вложенный уровень должен по размеру быть меньше предыдущего.
Чтобы каждый раз не считать размеры вручную, можно использовать одно и то же значение в em — а браузер сам уменьшит шрифт пропорционально вложенности.👉 Em считается относительно текущего размера шрифта и пересчитывается при изменении размеров родительского шрифта. Это можно использовать для адаптивной вёрстки.
Кроме em есть ещё rem — она считает размеры шрифта только относительно тех, которые заданы в блоке стилей html{}. Если этого блока нет или в нём ничего не написано — rem посчитает размер шрифта от стандартного значения в браузере. Отличие от em в том, что даже при вложенности друг в друга все значения будут считаться не относительно предыдущего блока, а относительно значения в html{}.
Межстрочный интервал
Помимо размера самих букв у текста есть параметр межстрочного интервала — это расстояние между нижними краями текста на каждой строке.
Стандартное значение межстрочного интервала — normal. Это значит, что браузер спросит у шрифта, какое межстрочное расстояние тот предпочитает. Вам ни о чём думать не нужно:
p {font-size: 1em; line-height: normal}
Интересно, что вся строка выше в целом бессмысленна, потому что она говорит браузеру «у текста абзацев должен быть стандартный размер и стандартный межстрочный интервал». На что браузер справедливо скажет: «Да я и так бы их сделал стандартными, не учи меня жить».
Иногда мы используем нестандартные шрифты, в которых браузер не знает стандартного межстрочного интервала. Или он его знает, но нас этот интервал не устраивает. Тогда интервал можно задать во всех тех же единицах: пикселях, емах, процентах.
p {line-height: 22px;}
p {line-height: 1.3em;}
p {line-height: 130%;}
Как адаптировать размер текста под размер экрана
Допустим, дизайнер поручил нам сделать так, чтобы заголовки на странице меняли размер в зависимости от ширины экрана. Если экран широкий, то и заголовок должен быть большим.
Делаем сами: адаптивный сайт
Самый прямолинейный способ это сделать — задать размер в единицах vw. Например, 1vw — это 1% ширины экрана; 10vw — 10% ширины экрана. Если экран шириной 1000 пикселей, то 20vw — это 200 пикселей.
Звучит неплохо, но может плохо выглядеть: смартфоны обычно очень узкие, а экраны компьютеров очень широкие, и разница в размере шрифта будет в 5–6 раз. И если, например, основной текст фиксированного размера, а заголовки должны менять размер, то на широких экранах заголовки будут мельче, чем основной текст.
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Размеры шрифтов</title> <style type="text/css"> /*задаём общие параметры для всей страницы*/ body { text-align: center; margin: 10; font-family: Verdana, Arial, sans-serif; } h3 { /*заголовок будет фиксированного размера*/ font-size: 40px; } p { /*а размер текста будет зависеть от ширины экрана*/ font-size: 5vw; } </style> </head>` <body> <div> <!-- заголовок, размер которого зависит от размера экрана --> <h3>Привет, это журнал «Код»!</h3> <!-- основной текст, который не зависит от размера экрана --> <p>Этот текст зависит от ширины экрана. Чем больше ширина — тем больше размер этого текста</p> </body> </html>На телефоне с узким экраном всё выглядит нормально.А на широком экране компьютера текст стал больше заголовка.
Второй вариант — использовать медиазапросы. Мы расскажем о них подробно в другой статье, а пока кратко: это когда мы можем накатывать разные стили на документ в зависимости от того, как этот документ отображается. Можно сказать: «Если экран шире 500 пикселей, используй вот такой размер шрифта; если шире 1000 пикселей — сякой; а если это не веб-страница, а версия для печати — вообще используй другой шрифт и размер».
Тогда мы можем просто задать размеры стандартных экранов смартфонов и прописать нужные размеры текста для каждого, и всё будет выглядеть идеально.
@media screen and (min-width: 601px) { h3 {font-size: 110px;}}
@media screen and (max-width: 600px) { h3 {font-size: 40px;}}
Текст:
Михаил Полянин
Редактор:
Максим Ильяхов
Художник:
Даня Берковский
Корректор:
Ирина Михеева
Вёрстка:
Кирилл Климентьев
Соцсети:
Олег Вешкурцев
Страница, которую вы ищете, не найдена.
- Зарегистрироваться или Войти
€135,000 €138,000
2 1 35. 56 кв.м. Кондо
Metro Sky Prachachuen
Wong Sawang, Банг Суе, Бангкок, Таиланд
Favorite
€47,700 €114,000
1 1 26. 55 кв.м. Кондо
Arcadia Center Suites
Nong Prue, Паттая, Чонбури, Таиланд
Favorite Сравнить
€107,000 €114,000
2 1 45. 60 кв.м. Кондо
Dolce Lasalle
Bang Na, Банг На, Бангкок, Таиланд
Favorite Сравнить
€182,000 €227,000
1 1 60 кв. м. Кондо
Paradise Beach Residence
Патонг, Катху, Пхукет, Таиланд
Favorite Сравнить
€308,000 €314,000
1 1 51. 95 кв.м. Кондо
The Room Sukhumvit 38
Phra Khanong, Кхлонг Тоеи, Бангкок, Таиланд
Favorite Сравнить
€104,000 €116,000
1 1 25. 05 кв.м. Кондо
Groove Vibes Ladprao 18
Chomphon, Чатучак, Бангкок, Таиланд
Favorite Сравнить
€74,700 €115,000
2 2 43. 50 кв.м. Кондо
Su Condo
Nong Hoi, Mueang Chiang Mai, Чианг Маи, Таиланд
Favorite Сравнить
€73,000 €88,400
Студия 1 32 кв. м. Кондо
The Peak Towers
Nong Prue, Паттая, Чонбури, Таиланд
- Fazwaz Group Site
- Все страны
- www. fazwaz.cn
- www.fazwaz.fr
- www.fazwaz.de
- www.fazwaz.es
python — Как установить размер шрифта заголовка рисунка и меток осей?
Согласно официальному руководству, использование
pylab
больше не рекомендуется. Вместо этого следует использовать напрямуюmatplotlib.pyplot
.
Глобальная установка размеров шрифта с помощью rcParams
должна выполняться с помощью
import matplotlib. pyplot as plt plt.rcParams['axes.labelsize'] = 16 plt.rcParams['axes.titlesize'] = 16 # или params = {'axes.labelsize': 16, 'axes.titlesize': 16} plt.rcParams.update(параметры) # или импортировать matplotlib как mpl mpl.rc('оси', labelsize=16, titlesize=16) # или оси = {'размер метки': 16, 'титул': 16} mpl.rc('оси', **оси)
Значения по умолчанию можно восстановить с помощью
plt.rcParams.update(plt.rcParamsDefault)
Вы также можете сделать это, создав таблицу стилей в каталоге stylelib
в каталоге конфигурации matplotlib (вы можете получить каталог конфигурации из matplotlib.get_configdir()
). Формат таблицы стилей:
axes.labelsize: 16 оси.titlesize: 16
Если у вас есть таблица стилей по адресу /path/to/mpl_configdir/stylelib/mystyle.mplstyle
, тогда вы можете использовать его через
plt.style.use('mystyle') # или, для одного раздела с plt.style.context('mystyle'): # . ..
Вы также можете создать (или изменить) файл matplotlibrc, который имеет общий формат
axes.labelsize = 16 оси.titlesize = 16
В зависимости от того, какой файл matplotlibrc вы изменяете, эти изменения будут использоваться только для текущего рабочего каталога, для всех рабочих каталогов, в которых , а не , есть файл matplotlibrc, или для всех рабочих каталогов, в которых есть , а не имеют файл matplotlibrc и где не указан другой файл matplotlibrc. Подробнее см. в этом разделе страницы настройки matplotlib.
Полный список ключей rcParams
можно получить с помощью plt.rcParams.keys()
, но для настройки размеров шрифта у вас есть (курсив здесь)
-
axes.labelsize
— метки x и y -
axes.titlesize
— Размер шрифта заголовка осей -
figure.titlesize
— Размер заголовка рисунка (Figure. suptitle()
) -
xtick.labelsize
— Размер шрифта галочек -
ytick.labelsize
— Размер шрифта галочек -
legend.fontsize
— Размер шрифта для легенд (plt.legend()
,fig.legend()
) -
legend.title_fontsize
— Размер шрифта для названий легенд,Нет
устанавливает то же самое, что и оси по умолчанию. См. этот ответ для примера использования.
все из которых принимают размеры строк {'xx-small', 'x-small', 'smaller', 'small', 'medium', 'large', 'larger', 'x-large', 'xxlarge '}
или float
в pt
. Размеры строк определяются относительно размера шрифта по умолчанию, который определяется как
-
font.size
— размер шрифта по умолчанию для текста, указанный в пунктах. 10 pt – стандартное значение
Кроме того, можно указать толщину (хотя она отображается только по умолчанию) с помощью
-
font. weight
— Вес шрифта по умолчанию, используемыйtext.Text
. Принимает{100, 200, 300, 400, 500, 600, 700, 800, 900}
или«обычный»
(400),«жирный»
(700),«более светлый»
и 4 ‘смелее’
( по отношению к текущему весу ).
р — ggplot2, изменить размер заголовка
Я хочу, чтобы мой основной заголовок и заголовок оси имели тот же размер шрифта, что и аннотированный текст на моем графике.
Я использовал theme_get() и обнаружил, что размер текста равен 12, поэтому я сделал это в своем утверждении темы — это не сработало. Я также пытался отправить относительный размер в 1, и это не сработало
Я надеялся, что кто-нибудь может мне помочь.
Код ниже библиотеки
(ggplot2) library(gridExtra) # для настройки сетки графика library(stringr) #функции форматирования строк библиотека (plyr) #rbind.fill функция library(reshape2) #трансформация таблиц дата<-data. frame( оценка = с (2,75, 2,95,2,86,2,99), ucl=c(2,92,3,23,3,38,4,91), лкл=с(2,24,1,67,2,44,1,82), Орд=с(1,2,1,2) ) dat$varname<-c('Оценка','Прогноз','Оценка','Прогноз') dat$grp<-c('Кобальт','Кобальт','Хром','Хром') для (я в уникальном (dat $ grp)) { dat <- rbind.fill(dat, data.frame(grp = i, ord=0, строкиAsFactors = F)) } dat$grp_combo <- фактор(вставить(dat$grp, dat$ord, sep = ", ")) dat$grpN <- as.numeric(dat$grp_combo) ранг <- с(0,6) шкала.rng <-1 xstart=-(max(dat$grpN)+2) хенд=4 ThemeMain<-theme (legend.position = "none", plot.margin = unit (c (0,0,0, 0), "npc"), panel.margin = единица (c (0,0, 0, 0), "npc"), заголовок = element_text (размер = 12, лицо = 'полужирный'), ось.текст.у = element_blank(), axis.text.x = element_text (цвет = 'черный'), axis.ticks.y = element_blank(), axis.title.x = element_text (размер = 12, цвет = «черный», лицо = «полужирный») ) BlankSettings <- тема (legend. position = "none", заголовок = element_text (размер = 12, лицо = 'полужирный'), plot.margin = единица (c (0,0, 0, 0), "npc"), panel.margin = единица (c (0,0, 0, 0), "npc"), axis.text.x = element_text (цвет = 'белый'), ось.текст.у = element_blank(), axis.ticks.x = element_line (цвет = «белый»), axis.ticks.y=element_blank(), axis.title.x = element_text (размер = 12, цвет = «белый», лицо = «полужирный»), panel.grid = element_blank(),panel.grid.major = element_blank(),panel.background = element_blank() ) pd <- position_dodge (ширина = 0,7) ################################################### ################################################### ### #ГЛАВНЫЙ СЮЖЕТ ################################################### ################################################### ### основная часть <- ggplot(dat, aes(x=-grpN,y=est, ymin=lcl, ymax=ucl, group=1)) + scale_y_continuous (name = NULL, breaks = seq (rng [1], rng [2], scale. rng), limit = c (rng [1], rng [2]), expand = c (0,0)) + ylab('Концентрация ионов') + ggtitle('Среднее с 95% ИЧР')+ #geom_segment(aes(x=xstart, xend=0, y=0, yend=0), тип линии=3, альфа=0,01) + geom_linerange(aes(linetype="1"),position=pd) + geom_point(aes(shape="1"), fill="white",position=pd) + координата_флип () + scale_x_continuous (ограничения = c (xstart, xend), расширение = c (0,0)) + xlab (NULL) + ТемаОсновная ################################################### ################################################### ### #varnameS ################################################### ################################################### ### # ystart и yend произвольны. [0, 1] есть # удобно задавать относительные координаты # столбца yстарт = 0 выход = 1 р1 <- ggplot(dat, aes(x = -varnameN, y = 0)) + координата_флип () + scale_y_continuous (пределы = c (ystart, yend)) + Пустые настройки+ scale_x_continuous (пределы = c (xstart, xend), расширение = c (0, 0)) + кслаб (НУЛЬ) + ylab('') + ggtitle('') список исследований<- р1 + with(unique(dat[is.