You are here

button.pcss.css in Drupal 9

Buttons.

File

core/themes/olivero/css/components/button.pcss.css
View source
  1. /**
  2. * @file
  3. * Buttons.
  4. */
  5. @import "../base/variables.pcss.css";
  6. .button {
  7. display: inline-block;
  8. height: var(--sp3);
  9. margin-block: var(--sp1);
  10. margin-inline-start: 0;
  11. margin-inline-end: var(--sp1);
  12. padding-block: calc((var(--sp3) - var(--line-height-s)) / 2);
  13. padding-inline: var(--sp1-5);
  14. cursor: pointer;
  15. text-align: center;
  16. text-decoration: none;
  17. color: var(--color--blue-20);
  18. border: solid 2px var(--color--blue-20);
  19. border-radius: var(--border-radius);
  20. background-color: var(--color--white);
  21. font-family: inherit;
  22. font-size: var(--font-size-l);
  23. font-weight: 700;
  24. appearance: none;
  25. -webkit-font-smoothing: antialiased;
  26. &:hover,
  27. &:focus {
  28. text-decoration: none;
  29. color: var(--color--blue-50);
  30. border-color: var(--color--blue-50);
  31. }
  32. &:focus {
  33. outline: 2px solid var(--color--blue-70);
  34. outline-offset: 2px;
  35. }
  36. &:active {
  37. color: var(--color--blue-20);
  38. border-color: var(--color--blue-20);
  39. }
  40. &:disabled,
  41. &.is-disabled {
  42. cursor: default;
  43. color: var(--color--gray-70);
  44. border-color: var(--color--gray-70);
  45. }
  46. /*
  47. IE11 doesn't work properly on button elements so we only do
  48. inline-flex on modern browsers.
  49. */
  50. @supports (display: inline-flex) {
  51. display: inline-flex;
  52. align-items: center;
  53. /* Top padding accounts for font not being vertically centered within line-height. */
  54. padding-block: 1px 0;
  55. padding-inline: var(--sp1-5);
  56. line-height: var(--line-height-s);
  57. }
  58. }
  59. /* No margin if is part of a menu. */
  60. .menu .button {
  61. margin-block: 0;
  62. margin-inline-start: 0;
  63. margin-inline-end: 0;
  64. }
  65. .button--small {
  66. height: var(--sp2-5);
  67. padding-block: calc((var(--sp2-5) - var(--line-height-s)) / 2);
  68. padding-inline: var(--sp);
  69. font-size: var(--font-size-base);
  70. line-height: normal;
  71. }
  72. .button--primary {
  73. color: var(--color--white);
  74. background-color: var(--color--blue-20);
  75. &:hover,
  76. &:focus {
  77. color: var(--color--white);
  78. border-color: var(--color--blue-10);
  79. background-color: var(--color--blue-10);
  80. }
  81. &:active {
  82. color: var(--color--white);
  83. background-color: var(--color--blue-20);
  84. }
  85. &:disabled,
  86. &.is-disabled {
  87. color: var(--color--white);
  88. background-color: var(--color--gray-70);
  89. }
  90. }
  91. .button--icon-back {
  92. display: inline-flex;
  93. align-items: center;
  94. &:before {
  95. display: block;
  96. width: 0.5em;
  97. height: 0.5em;
  98. margin-inline-end: 0.5em;
  99. content: "";
  100. transform: rotate(45deg); /* LTR */
  101. border-block-end: solid 2px currentColor;
  102. border-inline-start: solid 2px currentColor;
  103. }
  104. }
  105. [dir="rtl"] .button--icon-back:before {
  106. transform: rotate(-45deg);
  107. }