BookStack/resources/sass/_text.scss
Mikey O'Toole 65c4985710
Resolve issue #1911 (Additional margin/padding present in nested lists)
Optionally we could consider removing the rule at line 274. This doesn't handle multiple layers of nested lists and would be better covered by the generic rule which checks for an `ol` or `ul` nested inside a `li` which is how MarkDown renders nested lists as HTML.
2020-02-20 14:25:23 +00:00

390 lines
5.6 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%);
}
}
.text-mono {
font-family: $mono;
}
.text-uppercase {
text-transform: uppercase;
}
.text-capitals {
text-transform: capitalize;
}
.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-wrap;
line-height: 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;
}
}
li > ol, li > ul {
margin-block-end: 0px;
margin-block-start: 0px;
padding-block-end: 0px;
padding-block-start: 0px;
}
/*
* 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;
}