BookStack/resources/assets/sass/_text.scss
Dan Brown 2dfe6c2d56
Fixed failing test and added more accessibility improvements
- Updated linked images to have obvious focus styles
- Added proper role to notifications
- Made dropdown list focus styles a bit nicer.
- Updated book list chapter child slide down to be keyboard activatable.

Related to #1320
2019-08-25 17:21:25 +01:00

372 lines
5.3 KiB
SCSS

/**
* Fonts
*/
body, button, input, select, label, textarea {
font-family: $text;
}
.Codemirror, pre, #markdown-editor-input, .editor-toolbar, .code-base {
font-family: $mono;
}
/*
* Header Styles
*/
h1 {
font-size: 3.425em;
line-height: 1.22222222em;
margin-top: 0.48888889em;
margin-bottom: 0.48888889em;
}
h2 {
font-size: 2.8275em;
line-height: 1.294117647em;
margin-top: 0.8627451em;
margin-bottom: 0.43137255em;
}
h3 {
font-size: 2.333em;
line-height: 1.221428572em;
margin-top: 0.78571429em;
margin-bottom: 0.43137255em;
}
h4 {
font-size: 1.666em;
line-height: 1.375em;
margin-top: 0.78571429em;
margin-bottom: 0.43137255em;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 400;
position: relative;
display: block;
color: #222;
.subheader {
font-size: 0.5em;
line-height: 1em;
color: lighten($text-dark, 32%);
}
}
h5 {
font-size: 1.4em;
}
h5, h6 {
line-height: 1.2em;
margin-top: 0.78571429em;
margin-bottom: 0.66em;
}
@include smaller-than($s) {
h1 {
font-size: 2.8275em;
}
h2 {
font-size: 2.333em;
}
h3 {
font-size: 1.666em;
}
h4 {
font-size: 1.333em;
}
h5 {
font-size: 1.161616em;
}
}
.list-heading {
font-size: 2rem;
}
h2.list-heading {
font-size: 1.333rem;
}
/*
* Link styling
*/
a {
color: var(--color-primary);
fill: var(--color-primary);
cursor: pointer;
text-decoration: none;
transition: filter ease-in-out 80ms;
line-height: 1.6;
&:hover {
text-decoration: underline;
}
&.icon {
display: inline-block;
}
svg {
position: relative;
display: inline-block;
}
&:focus img:only-child {
outline: 2px dashed var(--color-primary);
outline-offset: 2px;
}
}
.blended-links a {
color: inherit;
svg {
fill: currentColor;
}
}
/*
* Other HTML Text Elements
*/
p, ul, ol, pre, table, blockquote {
margin-top: 0.3em;
margin-bottom: 1.375em;
}
hr {
border: 0;
height: 1px;
background: #EAEAEA;
margin-bottom: $-l;
&.faded {
background-image: linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF);
}
&.margin-top, &.even {
margin-top: $-l;
}
}
strong, b, .bold, .strong {
font-weight: bold;
> strong, > b, > .bold, > .strong {
font-weight: bolder;
}
}
em, i, .italic {
font-style: italic;
}
small, p.small, span.small, .text-small {
font-size: 0.75rem;
color: lighten($text-dark, 10%);
}
sup, .superscript {
vertical-align: super;
font-size: 0.8em;
}
sub, .subscript {
vertical-align: sub;
font-size: 0.8em;
}
pre {
font-size: 12px;
background-color: #f5f5f5;
border: 1px solid #DDD;
padding-left: 31px;
position: relative;
padding-top: 3px;
padding-bottom: 3px;
&:after {
content: '';
display: block;
position: absolute;
top: 0;
width: 29px;
left: 0;
background-color: #f5f5f5;
height: 100%;
border-right: 1px solid #DDD;
}
}
@media print {
pre {
padding-left: 12px;
}
pre:after {
display: none;
}
}
blockquote {
display: block;
position: relative;
border-left: 4px solid var(--color-primary);
background-color: #F8F8F8;
padding: $-s $-m $-s $-xl;
&:before {
content: "\201C";
font-size: 2em;
font-weight: bold;
position: absolute;
top: $-s;
left: $-s;
color: lighten($text-dark, 20%);
}
}
.code-base {
background-color: #F8F8F8;
font-size: 0.80em;
border: 1px solid #DDD;
border-radius: 3px;
}
code {
@extend .code-base;
display: inline;
padding: 1px 3px;
white-space:pre;
line-height: 1.2em;
margin-bottom: 1.2em;
}
span.code {
@extend .code-base;
padding: 1px $-xs;
}
pre code {
background-color: transparent;
border: 0;
font-size: 1em;
display: block;
line-height: 1.6;
}
span.highlight {
font-weight: bold;
padding: 2px 4px;
}
/*
* Lists
*/
ul, ol {
overflow: hidden;
p {
margin: 0;
}
}
ul {
padding-left: $-m * 1.3;
padding-right: $-m * 1.3;
list-style: disc;
ul {
list-style: circle;
margin-top: 0;
margin-bottom: 0;
}
label {
margin: 0;
}
}
ol {
list-style: decimal;
padding-left: $-m * 2;
padding-right: $-m * 2;
}
li.checkbox-item, li.task-list-item {
list-style: none;
margin-left: - ($-m * 1.3);
input[type="checkbox"] {
margin-right: $-xs;
}
}
/*
* Generic text styling classes
*/
.underlined {
text-decoration: underline;
}
.text-center {
text-align: center;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
@each $sizeLetter, $size in $screen-sizes {
@include larger-than($size) {
.text-#{$sizeLetter}-center {
text-align: center;
}
.text-#{$sizeLetter}-left {
text-align: left;
}
.text-#{$sizeLetter}-right {
text-align: right;
}
}
}
.text-bigger {
font-size: 1.1em;
}
.text-large {
font-size: 1.6666em;
}
.no-color {
color: inherit;
}
.break-text {
word-wrap: break-word;
overflow-wrap: break-word;
}
.limit-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/**
* Grouping
*/
.header-group {
margin: $-m 0;
h1, h2, h3, h4, h5, h6 {
margin: 0;
}
}
span.sep {
color: #BBB;
padding: 0 $-xs;
}
.list > * {
display: block;
}
/**
* Icons
*/
.svg-icon {
width: 1em;
height: 1em;
display: inline-block;
position: relative;
bottom: -0.105em;
margin-right: $-xs;
pointer-events: none;
}