Spec-Zone.ru › GTK 3.22

GTK+ CSS

GTK+ CSS — Свойства CSS GTK+

Поддерживаемые свойства CSS

GTK+ поддерживает свойства и сокращения CSS, насколько они могут быть применены к виджетам, и добавляет свои собственные свойства только при необходимости. Все специфичные для GTK+ свойства имеют префикс -gtk.

Все свойства поддерживают следующие ключевые слова: inherit, initial, unset, со значением, аналогичным значениям в CSS.

Всюду используются следующие базовые типы данных:

〈length〉 = 〈number〉 [ px | pt | em | ex |rem | pc | in | cm | mm ] | 〈calc expression〉
〈percentage〉 = 〈number〉 % | 〈calc expression〉
〈angle〉 = 〈number〉 [ deg | grad | turn ] | 〈calc expression〉
〈time〉 = 〈number〉 [ s | ms ] | 〈calc expression〉

Значения длины с единицами em или ex разрешаются с использованием значения размера шрифта, за исключением случаев задания размера шрифта, в этом случае используется унаследованное значение размера шрифта.

Единица rem разрешается с использованием начального значения размера шрифта, что немного отличается от определения rem в CSS.

В тех случаях, где разрешено число, GTK+ также принимает специфичные для Windows размеры темы:

〈win32 theme size〉 = 〈win32 size〉| 〈win32 part size〉
〈win32 size〉 = -gtk-win32-size ( 〈theme name〉, 〈metric id〉 )
〈win32 part size〉 = [ -gtk-win32-part-width | -gtk-win32-part-height |
                         -gtk-win32-part-border-top | -gtk-win32-part-border-right |
                         -gtk-win32-part-border-bottom | -gtk-win32-part-border-left ] ( 〈theme name〉 , 〈integer〉 , 〈integer〉 )

〈calc expression〉 = calc( 〈calc sum〉 )
〈calc sum〉 = 〈calc product〉 [ [ + | - ] 〈calc product〉 ]*
〈calc product〉 = 〈calc value〉 [ * 〈calc value〉 | / 〈number〉 ]*
〈calc value〉 = 〈number〉 | 〈length〉 | 〈percentage〉 | 〈angle〉 | 〈time〉 | ( 〈calc sum〉 )

Нотация calc() значительно расширяет возможности. Существуют ограничения на типы, которые могут быть объединены в таком выражении (например, бессмысленно складывать число и время). Для получения подробной информации см. спецификацию CSS3 Values and Units.

Общей особенностью сокращённых свойств (называемых «четыре стороны») является возможность указания от одного до четырёх значений, чтобы определить значение для каждой стороны области. В этом случае указанные значения интерпретируются следующим образом:

4 значения:

верхний правый нижний левый

3 значения:

верхний горизонтальный левый

2 значения:

вертикальный горизонтальный

1 значение:

все

Таблица 2. Свойства цвета

Имя Значение Начальное Н. А. Ссылка Примечания
color 〈color〉 rgba(1,1,1,1) ✓ ✓ CSS2, CSS3
opacity 〈alpha value〉 1 ✓ CSS3

Свойство color задаёт цвет для текста, значков и других элементов переднего плана. Свойство opacity задаёт непрозрачность виджета при композиции его с родительским виджетом.

Таблица 3. Свойства шрифта

Имя Значение Начальное Н. А. Ссылка Примечания
font‑family 〈family name〉 [ , 〈family name〉 ]* настройка gtk-font-name ✓ CSS2, CSS3
font‑size 〈absolute size〉 | 〈relative size〉 | 〈length〉 | 〈percentage〉 настройка gtk-font-name ✓ ✓ CSS2, CSS3
font‑style normal | oblique | italic normal ✓ CSS2, CSS3
font‑variant normal | small-caps normal ✓ CSS2, CSS3 поддерживаются только значения CSS2
font‑weight normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 normal ✓ ✓ CSS2, CSS3 normal эквивалентно 400, bold эквивалентно 700
font‑stretch ultra-condensed | extra-condensed | condensed | semi-condensed | normal | semi-expanded | expanded | extra-expanded | ultra-expanded normal ✓ CSS3
‑gtk‑dpi 〈number〉 разрешение экрана ✓ ✓
Сокращение Значение Начальное Ссылка Примечания
font [ 〈font-style〉 || 〈font-variant〉 || 〈font-weight〉 || 〈font-stretch〉 ]? 〈font-size〉 〈font-family〉 см. отдельные свойства CSS2, CSS3 CSS позволяет использовать line-height и т.д.

〈absolute size〉 = xx-small | x-small | small | medium | large | x-large | xx-large
〈relative size〉 = larger | smaller

Свойства шрифта определяют шрифт для рендеринга текста. Относительные размеры и веса шрифта разрешаются относительно унаследованного значения для этих свойств.

Таблица 4. Свойства курсора текста

Имя Значение Начальное Н. А. Ссылка Примечания
caret-color 〈color〉 currentColor ✓ ✓ CSS3 CSS позволяет использовать значение auto
-gtk-secondary-caret-color 〈color〉 currentColor ✓ ✓ Используется для вторичного курсора в тексте с двунаправленной ориентацией

Свойства курсора предоставляют способ изменения внешнего вида курсора ввода в редактируемом тексте.

Таблица 5. Свойства декораций текста

Имя Значение Начальное Н. А. Ссылка Примечания
letter‑spacing 〈length〉 0px ✓ ✓ CSS3
text‑decoration‑line none | underline | line-through none CSS2, CSS3 CSS допускает использование overline
text‑decoration‑color 〈color〉 currentColor ✓ CSS3
text‑decoration‑style solid | double | wavy solid CSS3 CSS допускает пунктирную и точечную линию
text‑shadow none | 〈shadow〉 none ✓ ✓ CSS3
Сокращение Значение Начальное Ссылка Примечания
text‑decoration 〈text-decoration-line〉 || 〈text-decoration-style〉 || 〈text-decoration-color〉 см. отдельные свойства CSS3

〈shadow〉 = 〈length〉 〈length〉 〈color〉?

Свойства декораций текста определяют, применять ли дополнительные декорации при рендеринге текста.

Таблица 6. Свойства иконок

Имя Значение Начальное Наследуется Анимация Ссылка Примечания
‑gtk‑icon‑source builtin | 〈image〉 | none builtin ✓
‑gtk‑icon‑transform none | 〈transform〉+ none ✓
‑gtk‑icon‑style requested | regular | symbolic requested ✓ Определяет предпочтительный стиль иконок, загруженных приложением
‑gtk‑icon‑theme 〈name〉 текущая тема иконок ✓ Тема иконок, используемая с -gtk-icontheme(). С версии 3.20
‑gtk‑icon‑palette 〈color palette〉 default ✓ ✓ Используется для изменения цвета символьных иконок (как загруженных приложением, так и из -gtk-icontheme()). С версии 3.20
‑gtk‑icon‑shadow none | 〈shadow〉 none ✓ ✓
‑gtk‑icon‑effect none | highlight | dim none ✓

〈transform〉 = matrix( 〈number〉 [ , 〈number〉 ]{5} ) | translate( 〈length〉, 〈length〉 ) | translateX( 〈length〉 ) | translateY( 〈length〉 ) |
                scale( 〈number〉[ , 〈number〉 ]? ) | scaleX( 〈number〉 ) | scaleY( 〈number〉 ) | rotate( 〈angle〉 ) | skew( 〈angle〉 [ , 〈angle〉 ]? ) |
                skewX( 〈angle〉 ) |  skewY( 〈angle〉 )
〈color palette〉 = default | 〈name〉 〈color〉 [ , 〈name〉 〈color〉 ]*

Свойство -gtk-icon-source используется виджетами, которые отображают «встроенные» иконки, такие как стрелки, раскрывающиеся элементы, спиннеры, галочки или переключатели.

Свойство -gtk-icon-style определяет предпочтительный стиль иконок, предоставленных приложением.

Свойства -gtk-icon-transform и -gtk-icon-shadow влияют на отображение как встроенных, так и предоставленных приложением иконок.

-gtk-icon-palette определяет цветовую палитру для изменения цвета символьных иконок. Признаваемые названия цветов в символьных иконках — error, warning и success. По умолчанию эта палитра сопоставляет эти три имени со своими символическими цветами @error_color, @warning_color и @error_color.

Таблица 7. Свойства блоков

Имя Значение Начальное Наследуется Анимация Ссылка Примечания
min‑width 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты
min‑height 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты
margin‑top 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты или auto
margin‑right 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты или auto
margin‑bottom 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты или auto
margin‑left 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты или auto
padding‑top 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты
padding‑right 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты
padding‑bottom 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты
padding‑left 〈length〉 0px ✓ CSS2, CSS3 CSS допускает проценты
Сокращенное Значение Начальное Ссылка Примечания
margin 〈length〉{1,4} см. отдельные свойства CSS2, CSS3 сокращенное для «четырёх сторон»
padding 〈length〉{1,4} см. отдельные свойства CSS2, CSS3 сокращенное для «четырёх сторон»

Таблица 8. Свойства границ

Имя Значение Исходное Наследуется Анимируется Ссылка Примечания
border‑top‑width 〈length〉 0px ✓ CSS2, CSS3 CSS допускает другие значения
border‑right‑width 〈length〉 0px ✓ CSS2, CSS3 CSS допускает другие значения
border‑bottom‑width 〈length〉 0px ✓ CSS2, CSS3 CSS допускает другие значения
border‑right‑width 〈length〉 0px ✓ CSS2, CSS3 CSS допускает другие значения
border‑top‑style 〈border style〉 none CSS2, CSS3
border‑right‑style 〈border style〉 none CSS2, CSS3
border‑bottom‑style 〈border style〉 none CSS2, CSS3
border‑left‑style 〈border style〉 none CSS2, CSS3
border‑top‑right‑radius 〈corner radius〉 0 ✓ CSS2, CSS3
border‑bottom‑right‑radius 〈corner radius〉 0 ✓ CSS2, CSS3
border‑bottom‑left‑radius 〈corner radius〉 0 ✓ CSS2, CSS3
border‑top‑left‑radius 〈corner radius〉 0 ✓ CSS2, CSS3
border‑top‑color 〈color〉 currentColor ✓ CSS2, CSS3
border‑right‑color 〈color〉 currentColor ✓ CSS2, CSS3
border‑bottom‑color 〈color〉 currentColor ✓ CSS2, CSS3
border‑left‑color 〈color〉 currentColor ✓ CSS2, CSS3
border‑image‑source 〈image〉 | none none ✓ CSS3
border‑image‑repeat 〈border repeat〉{1,2} stretch CSS3
border‑image‑slice [ 〈number〉 | 〈percentage〉 ]{1,4} && fill? 100% CSS3 краткая запись для четырёх сторон
border‑image‑width [ 〈length〉 | 〈number〉 | 〈percentage〉 | auto ]{1,4} 1 CSS3 краткая запись для четырёх сторон
Сокращённая запись Значение Исходное Ссылка Примечания
border‑width 〈length〉{1,4} см. отдельные свойства CSS2, CSS3 краткая запись для четырёх сторон
border‑style 〈border style〉{1,4} см. отдельные свойства CSS2, CSS3 краткая запись для четырёх сторон
border‑color 〈color〉{1,4} см. отдельные свойства CSS3 краткая запись для четырёх сторон
border‑top 〈length〉 || 〈border style〉 || 〈color〉 см. отдельные свойства CSS2, CSS3
border‑left 〈length〉 || 〈border style〉 || 〈color〉 см. отдельные свойства CSS2, CSS3
border‑bottom 〈length〉 || 〈border style〉 || 〈color〉 см. отдельные свойства CSS2, CSS3
border‑right 〈length〉 || 〈border style〉 || 〈color〉 см. отдельные свойства CSS2, CSS3
border 〈length〉 || 〈border style〉 || 〈color〉 см. отдельные свойства CSS2, CSS3
border‑radius [ 〈length〉 | 〈percentage〉 ]{1,4} [ / [ 〈length〉 | 〈percentage> ]{1,4} ]? см. отдельные свойства CSS3
border‑image 〈border-image-source〉 || 〈border-image-slice〉 [ / 〈border-image-width〉 | / 〈border-image-width〉? / 〈border-image-outset〉 ]? || 〈border-image-repeat〉 см. отдельные свойства CSS3

〈border style〉 = none | solid | inset | outset | hidden | dotted | dashed | double | groove | ridge
〈corner radius〉 = [ 〈length〉 | 〈percentage〉 ]{1,2}

Таблица 9. Свойства контура

Имя Значение Начальное Наследуется Анимируется Ссылка Примечания
outline‑style none | solid | inset | outset | hidden | dotted | dashed | double | groove | ridge none CSS2, CSS3
outline‑width 〈length〉 0px ✓ CSS2, CSS3
outline‑color 〈color〉 currentColor ✓ CSS2, CSS3
outline‑offset 〈length〉 0px CSS3
‑gtk‑outline‑top‑left‑radius 〈corner radius〉 0 ✓
‑gtk‑outline‑top‑right‑radius 〈corner radius〉 0 ✓
‑gtk‑outline‑bottom‑right‑radius 〈corner radius〉 0 ✓
‑gtk‑outline‑bottom‑left‑radius 〈corner radius〉 0 ✓
Сокращение Значение Начальное Ссылка Примечания
outline 〈outline-color〉 || 〈outline-style〉 || 〈outline-width〉 см. отдельные свойства CSS2, CSS3
‑gtk‑outline‑radius [ 〈length〉|〈percentage〉 ]{1,4} [ / [〈length〉 | 〈percentage> ]{1,4} ]? см. отдельные свойства

GTK+ использует свойства CSS outline для отрисовки «прямоугольника фокуса».

Таблица 10. Свойства фона

Имя Значение Начальное Наследуется Анимируется Ссылка Примечания
background‑color 〈color〉 rgba(0,0,0,0) ✓ CSS2, CSS3
background‑clip 〈box〉 [ , 〈box〉 ]* border-box CSS3
background‑origin 〈box〉 [ , 〈box〉 ]* padding-box CSS3
background‑size 〈bg-size〉 [ , 〈bg-size〉 ]* auto ✓ CSS3
background‑position 〈position〉 [ , 〈position〉 ]* 0 ✓ CSS2, CSS3
background‑repeat 〈bg-repeat 〉[ , 〈bg-repeat〉 ]* repeat CSS2, CSS3
background‑image 〈bg-image〉[ , 〈bg-image〉 ]* none ✓ CSS2, CSS3 не поддерживаются: URL без кавычек, радиальные градиенты CSS, цвета в переходах
background-blend-mode 〈blend-mode〉 [ , 〈blend-mode〉 ]* normal только влияет на несколько фонов
box‑shadow none | 〈box shadow〉 [ , 〈box shadow〉 ]* none ✓ CSS3
Сокращение Значение Начальное Ссылка Примечания

фон

[ 〈bg-layer〉 , ]* 〈final-bg-layer〉 см. отдельные свойства CSS2, CSS3

〈box〉 = border-box | padding-box | content-box
〈bg-size〉 = [ 〈length〉 | 〈percentage〉 | auto ]{1,2} | cover | contain
〈position〉 = [ left | right | center | top | bottom | 〈percentage〉 | 〈length〉 ]{1,2,3,4}
〈bg-repeat〉 = repeat-x | repeat-y | [ no-repeat | repeat | round | space ]{1,2}
〈bg-image〉 = 〈image〉 | none
〈bg-layer〉 = 〈bg-image〉 || 〈position〉 [ / 〈bg-size〉 ]? || 〈bg-repeat〉 || 〈box〉 || 〈box〉
〈final-bg-layer〉 = 〈bg-image〉 || 〈position〉 [ / 〈bg-size〉 ]? || 〈bg-repeat〉 || 〈box〉 || 〈box〉|| 〈color〉
〈blend-mode〉 = color || color-burn || color-dodge || darken || difference || exclusion || hard-light || hue || lighten || luminosity || multiply || normal || overlay || saturate || screen || soft-light
〈box shadow〉 = inset? && 〈length〉{2,4}? && 〈color〉?

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

В качестве альтернативы, несколько фонов можно смешать с помощью свойства background-blend-mode.

Таблица 11. Свойства анимации переходов

Имя Значение Начальное Наследуется Анимируется Ссылка Примечания
transition‑property none | all | 〈property name〉 [ , 〈property name〉 ]* all CSS3
transition‑duration 〈time〉 [ , 〈time〉 ]* 0s CSS3
transition‑timing‑function 〈single‑timing‑function〉[ , 〈single‑timing‑function〉 ]* ease CSS3
transition‑delay 〈time〉 [ , 〈time〉 ]* 0s CSS3
Сокращение Значение Начальное Ссылка Примечания
transition 〈single-transition〉 [ , 〈single-transition〉 ]* см. отдельные свойства CSS3

〈single-timing-function〉 = ease | linear | ease-in | ease-out | ease-in-out |
                             step-start | step-end | steps( 〈integer〉 [ , [ start | end ] ]? ) |
                             cubic-bezier( 〈number〉, 〈number〉, 〈number〉, 〈number〉 )
〈single-transition〉 = [ none | 〈property name〉 ] || 〈time〉 || 〈single-transition-timing-function〉 || 〈time〉

Таблица 12. Свойства анимации

Имя Значение Начальное Нслед. Аним. Ссылка Примечания
animation‑name 〈single-animation-name〉 [ , 〈single-animation-name〉 ]* none CSS3
animation‑duration 〈time〉 [ , 〈time〉 ]* 0s CSS3
animation‑timing‑function 〈single‑timing‑function〉 [ , 〈single‑timing‑function〉 ]* ease CSS3
animation‑iteration-count 〈single‑animation‑iteration‑count〉 [ , 〈single‑animation‑iteration‑count〉 ]* 1 CSS3
animation‑direction 〈single‑animation‑direction〉 [ , 〈single‑animation‑direction〉 ]* normal CSS3
animation‑play‑state 〈single‑animation‑play‑state〉 [ , 〈single‑animation‑play‑state〉 ]* running CSS3
animation‑delay 〈time〉 [ , 〈time〉 ]* 0s CSS3
animation‑fill‑mode 〈single‑animation‑fill‑mode〉 [ , 〈single‑animation‑fill‑mode〉 ]* none CSS3
Сокращенно Значение Начальное Ссылка Примечания
animation 〈single‑animation〉 [ , 〈single‑animation〉]* см. отдельные свойства CSS3

〈single-animation-name〉 = none | 〈property name〉
〈single-animation-iteration-count〉 = infinite | 〈number〉
〈single-animation-direction〉 = normal | reverse | alternate | alternate-reverse
〈single-animation-play-state〉 = running | paused
〈single-animation-fill-mode〉 = none | forwards | backwards | both
〈single-animation〉 = 〈single-animation-name〉 || 〈time〉 || 〈single-timing-function〉 || 〈time〉 ||
                       〈single-animation-iteration-count〉 || 〈single-animation-direction〉 || 〈single-animation-play-state〉 || 〈single-animation-fill-mode〉

Таблица 13. Свойства привязки к клавишам

Имя Значение Начальное Нслед. Аним. Ссылка Примечания
‑gtk‑key‑bindings none | 〈binding name〉 [ , 〈binding name〉 ]* none

〈имя_привязки〉 должно быть назначено на набор привязок с помощью правила @binding-set.

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/chap-css-properties.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API