/
githubmirror
/
tabler
Обзор
Документация
Войти
/
githubmirror
/
tabler
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
core/scss/ui/_ribbons.scss
169 строк
4 KB
Bartosz-Do
Fix leftover physical CSS properties that break RTL layout (#2846)
11 авг 2026, 22:00
Не верифицирован
11 авг 2026, 22:00
509639c
Код
Авторство
О чём код?
// stylelint-disable declaration-no-important @use '../config' as *; .ribbon { --ribbon-margin: #{$card-ribbon-margin}; --ribbon-border-radius: #{$card-ribbon-border-radius}; --ribbon-font-size: #{$card-ribbon-font-size}; --ribbon-icon-size: #{$card-ribbon-icon-size}; --ribbon-offset: #{$ribbon-offset}; --ribbon-padding-y: #{$ribbon-padding-y}; --ribbon-padding-x: #{$ribbon-padding-x}; --ribbon-min-size: #{$ribbon-min-size}; --ribbon-top-width: #{$ribbon-top-width}; --ribbon-top-padding-y: #{$ribbon-top-padding-y}; --ribbon-bookmark-border-size: #{$ribbon-bookmark-border-size}; --ribbon-bookmark-notch-width: #{$ribbon-bookmark-notch-width}; position: absolute; inset-inline-end: calc(-1 * var(--ribbon-margin)); top: var(--ribbon-offset); z-index: 1; display: inline-flex; align-items: center; justify-content: center; min-width: var(--ribbon-min-size); min-height: var(--ribbon-min-size); padding: var(--ribbon-padding-y) var(--ribbon-padding-x); font-size: var(--ribbon-font-size); font-weight: var(--font-weight-semibold); line-height: 1; color: $white; text-align: center; text-transform: uppercase; background: var(--primary); border-color: var(--primary); @include border-radius(var(--ribbon-border-radius) 0 var(--ribbon-border-radius) var(--ribbon-border-radius)); &::before { position: absolute; inset-inline-end: 0; bottom: 100%; width: 0; height: 0; content: ''; filter: brightness(70%); border: calc(var(--ribbon-margin) * 0.5) var(--border-style); border-color: inherit; border-inline-end-color: transparent; border-top-color: transparent; } @if $enable-extra-colors { @each $color, $value in $extra-colors { &.bg-#{$color} { border-color: var(--#{$color}); } &.bg-#{$color}-lt { border-color: color-transparent(var(--#{$color}), 0.1) !important; } } } .icon { width: var(--ribbon-icon-size); height: var(--ribbon-icon-size); font-size: var(--ribbon-icon-size); } } .ribbon-top { inset-inline-end: var(--ribbon-offset); top: calc(-1 * var(--ribbon-margin)); width: var(--ribbon-top-width); padding: var(--ribbon-top-padding-y) 0; @include border-radius(0 var(--ribbon-border-radius) var(--ribbon-border-radius) var(--ribbon-border-radius)); &::before { inset-inline-end: 100%; top: 0; bottom: auto; border-color: inherit; border-inline-start-color: transparent; border-top-color: transparent; } &.ribbon-start { inset-inline-start: var(--ribbon-offset); inset-inline-end: auto; &::before { inset-inline-start: auto; inset-inline-end: 100%; top: 0; } } } .ribbon-start { inset-inline-start: calc(-1 * var(--ribbon-margin)); inset-inline-end: auto; @include border-radius(0 var(--ribbon-border-radius) var(--ribbon-border-radius) var(--ribbon-border-radius)); &::before { inset-inline-start: 0; top: auto; bottom: 100%; border-color: inherit; border-inline-start-color: transparent; border-top-color: transparent; } } .ribbon-bottom { top: auto; bottom: var(--ribbon-offset); } .ribbon-bookmark { padding-inline-start: var(--ribbon-padding-y); @include border-radius(0 0 var(--ribbon-border-radius) 0); &::after { position: absolute; inset-inline-end: 100%; top: 0; display: block; width: 0; height: 0; content: ''; border: var(--ribbon-bookmark-border-size) var(--border-style); border-color: inherit; border-inline-start-color: transparent; border-inline-start-width: var(--ribbon-bookmark-notch-width); border-inline-end-width: 0; } &.ribbon-start { padding-inline-end: var(--ribbon-bookmark-notch-width); &::after { inset-inline-start: 100%; inset-inline-end: auto; border-inline-start-width: 0; border-inline-end-color: transparent; border-inline-end-width: var(--ribbon-bookmark-notch-width); } } &.ribbon-top { padding-inline-start: 0; padding-inline-end: 0; padding-bottom: var(--ribbon-padding-y); @include border-radius(0 var(--ribbon-border-radius) 0 0); &::after { inset-inline-start: 0; inset-inline-end: 0; top: 100%; border-color: inherit; border-width: var(--ribbon-bookmark-border-size); border-top-width: 0; border-bottom-color: transparent; border-bottom-width: var(--ribbon-bookmark-notch-width); } } }