GTK+ CSS
GTK+ CSS — Свойства CSS GTK+
Поддерживаемые свойства CSS
GTK+ поддерживает свойства CSS и сокращенные записи, насколько это возможно в контексте виджетов, и добавляет собственные свойства только по необходимости. Все GTK+-специфичные свойства имеют префикс -gtk.
Все свойства поддерживают следующие ключевые слова: inherit, initial, unset.
Всюду используются следующие базовые типы данных:
〈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 Значения и единицы.
Общим шаблоном для сокращенных свойств (называемых «четырьмя сторонами») является ситуация, когда можно указать от одного до четырех значений для определения значения каждой стороны области. В этом случае заданные значения интерпретируются следующим образом:
4 значения: | верхний правый нижний левый |
3 значения: | верхний горизонтальный левый |
2 значения: | вертикальный горизонтальный |
1 значение: | все |
Таблица 2. Свойства цвета
Свойство цвет определяет цвет, используемый для текста, значков и других элементов переднего плана. Свойство непрозрачность задает непрозрачность, используемую для композиции виджета на его родительском виджете.
Таблица 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 допускает межстрочный интервал и т.д |
〈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 допускает надчеркивание | ||
| 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} ]? | см. отдельные свойства |
Таблица 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 радиальные градиенты, цвета в переходах | |
| 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〉
〈box shadow〉 = inset? && 〈length〉{2,4}? && 〈color〉? Таблица 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.20/chap-css-properties.html