mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-11-27 02:33:43 +08:00
0c4dd7874c
Old all-caps button design made them a bit angry, and kinda odd and outdated. This updates them to use their original source text casing (which may help for translation variations) while being a bit rounder with a better defined shadow for outline buttons.
150 lines
2.9 KiB
SCSS
150 lines
2.9 KiB
SCSS
button {
|
|
background-color: transparent;
|
|
border: 0;
|
|
font-size: 100%;
|
|
}
|
|
|
|
.button {
|
|
text-decoration: none;
|
|
font-size: 0.85rem;
|
|
line-height: 1.4em;
|
|
padding: $-xs*1.3 $-m;
|
|
margin-top: $-xs;
|
|
margin-bottom: $-xs;
|
|
display: inline-block;
|
|
font-weight: 400;
|
|
outline: 0;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: background-color ease-in-out 120ms,
|
|
filter ease-in-out 120ms,
|
|
box-shadow ease-in-out 120ms;
|
|
box-shadow: none;
|
|
background-color: var(--color-primary);
|
|
color: #FFF;
|
|
border: 1px solid var(--color-primary);
|
|
vertical-align: top;
|
|
&:hover, &:focus, &:active {
|
|
background-color: var(--color-primary);
|
|
text-decoration: none;
|
|
color: #FFFFFF;
|
|
}
|
|
&:hover {
|
|
@include lightDark(box-shadow, $bs-light, $bs-dark);
|
|
filter: brightness(110%);
|
|
}
|
|
&:focus {
|
|
outline: 1px dotted currentColor;
|
|
outline-offset: -$-xs;
|
|
box-shadow: none;
|
|
filter: brightness(90%);
|
|
}
|
|
&:active {
|
|
outline: 0;
|
|
}
|
|
}
|
|
|
|
.button.outline {
|
|
background-color: transparent;
|
|
@include lightDark(color, #666, #AAA);
|
|
fill: currentColor;
|
|
border: 1px solid;
|
|
@include lightDark(border-color, #CCC, #666);
|
|
&:hover, &:focus, &:active {
|
|
@include lightDark(color, #444, #BBB);
|
|
border: 1px solid #CCC;
|
|
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
|
|
background-color: #F2F2F2;
|
|
@include lightDark(background-color, #f8f8f8, #444);
|
|
filter: none;
|
|
}
|
|
&:active {
|
|
border-color: #BBB;
|
|
background-color: #DDD;
|
|
color: #666;
|
|
box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
|
|
}
|
|
}
|
|
|
|
.button + .button {
|
|
margin-inline-start: $-s;
|
|
}
|
|
|
|
.button.small {
|
|
font-size: 0.75rem;
|
|
padding: $-xs*1.2 $-s;
|
|
}
|
|
|
|
.text-button {
|
|
cursor: pointer;
|
|
background-color: transparent;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: none;
|
|
user-select: none;
|
|
font-size: 0.75rem;
|
|
line-height: 1.4em;
|
|
color: var(--color-link);
|
|
&:active {
|
|
outline: 0;
|
|
}
|
|
&:hover {
|
|
text-decoration: none;
|
|
}
|
|
&:hover, &:focus {
|
|
color: var(--color-link);
|
|
fill: var(--color-link);
|
|
}
|
|
}
|
|
.text-button.hover-underline:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.button.block {
|
|
width: 100%;
|
|
text-align: start;
|
|
display: block;
|
|
}
|
|
|
|
.button.icon, .icon-button, .text-button.icon {
|
|
.svg-icon {
|
|
margin-inline-end: 0;
|
|
}
|
|
}
|
|
|
|
.icon-button {
|
|
text-align: center;
|
|
border: 1px solid transparent;
|
|
}
|
|
.icon-button:hover {
|
|
background-color: rgba(0, 0, 0, 0.05);
|
|
border-radius: 4px;
|
|
@include lightDark(border-color, #DDD, #444);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.button.svg {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: $-s $-m;
|
|
padding-bottom: ($-s - 2px);
|
|
width: 100%;
|
|
svg {
|
|
display: inline-block;
|
|
width: 24px;
|
|
height: 24px;
|
|
bottom: auto;
|
|
margin-inline-end: $-m;
|
|
}
|
|
}
|
|
|
|
.button[disabled] {
|
|
background-color: #BBB;
|
|
cursor: default;
|
|
border-color: #CCC;
|
|
&:hover {
|
|
background-color: #BBB;
|
|
cursor: default;
|
|
box-shadow: none;
|
|
}
|
|
} |