gitlab-org--gitlab-foss/app/assets/stylesheets/framework/typography.scss

434 lines
6.5 KiB
SCSS

@mixin md-typography {
color: $gl-text-color;
word-wrap: break-word;
[dir="auto"] {
text-align: initial;
}
a {
color: $md-link-color;
}
img:not(.emoji) {
margin: 0 0 8px;
}
img.lazy {
min-width: 200px;
min-height: 100px;
background-color: $gray-lightest;
}
img.js-lazy-loaded,
img.emoji {
min-width: inherit;
min-height: inherit;
background-color: inherit;
max-width: 100%;
}
p a:not(.no-attachment-icon) img {
// Remove bottom padding because
// <p> already has $gl-padding bottom
margin-bottom: 0;
}
*:first-child:not(.katex-display) {
margin-top: 0;
}
> :last-child {
margin-bottom: 0;
}
// Single code lines should wrap
code {
font-family: $monospace_font;
white-space: pre-wrap;
word-wrap: normal;
}
// Multi-line code blocks should scroll horizontally
pre {
code {
white-space: pre;
}
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: $kdb-color;
vertical-align: middle;
background-color: $kdb-bg;
border-width: 1px;
border-style: solid;
border-color: $kdb-border $kdb-border $kdb-border-bottom;
border-image: none;
border-radius: 3px;
box-shadow: 0 -1px 0 $kdb-shadow inset;
}
h1 {
font-size: 1.75em;
font-weight: $gl-font-weight-bold;
margin: 24px 0 16px;
padding-bottom: 0.3em;
border-bottom: 1px solid $white-dark;
color: $gl-text-color;
&:first-child {
margin-top: 0;
}
}
h2 {
font-size: 1.5em;
font-weight: $gl-font-weight-bold;
margin: 24px 0 16px;
padding-bottom: 0.3em;
border-bottom: 1px solid $white-dark;
color: $gl-text-color;
}
h3 {
margin: 24px 0 16px;
font-size: 1.3em;
}
h4 {
margin: 24px 0 16px;
font-size: 1.2em;
}
h5 {
margin: 24px 0 16px;
font-size: 1em;
}
h6 {
margin: 24px 0 16px;
font-size: 0.95em;
}
blockquote {
color: $gl-grayish-blue;
font-size: inherit;
padding: 8px 24px;
margin: 16px 0;
border-left: 3px solid $white-dark;
}
blockquote:dir(rtl) {
border-left: 0;
border-right: 3px solid $white-dark;
}
blockquote p {
color: $gl-grayish-blue !important;
font-size: inherit;
line-height: 1.5;
&:last-child {
margin: 0;
}
}
p {
color: $gl-text-color;
margin: 0 0 16px;
}
table {
@extend .table;
@extend .table-bordered;
margin: 16px 0;
color: $gl-text-color;
th {
background: $label-gray-bg;
}
}
table:dir(rtl) th {
text-align: right;
}
pre {
margin-bottom: 16px;
font-size: 13px;
line-height: 1.6em;
overflow-x: auto;
border-radius: 2px;
&.plain-readme {
background: none;
border: 0;
padding: 0;
margin: 0;
font-size: 14px;
}
}
p > code {
font-weight: inherit;
}
dd {
margin-left: $gl-padding;
}
ul,
ol {
padding: 0;
margin: 0 0 16px;
}
ul:dir(rtl),
ol:dir(rtl) {
margin: 3px 28px 3px 0 !important;
}
li {
line-height: 1.6em;
margin-left: 25px;
padding-left: 3px;
/* Normalize the bullet position on webkit. */
@include on-webkit-only {
margin-left: 28px;
padding-left: 0;
}
}
ul.task-list {
> li.task-list-item {
list-style-type: none;
position: relative;
min-height: 22px;
padding-left: 28px;
margin-left: 0 !important;
> input.task-list-item-checkbox {
position: absolute;
left: 8px;
top: 5px;
}
}
}
a[href*="/uploads/"],
a[href*="storage.googleapis.com/google-code-attachments/"] {
&::before {
margin-right: 4px;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
content: "\f0c6";
}
&:hover::before {
text-decoration: none;
}
}
a.no-attachment-icon {
&::before {
display: none;
}
}
/* Link to current header. */
h1,
h2,
h3,
h4,
h5,
h6 {
position: relative;
a.anchor {
left: -16px;
position: absolute;
text-decoration: none;
outline: none;
&::after {
content: image-url('icon_anchor.svg');
visibility: hidden;
}
}
&:hover > a.anchor::after {
visibility: visible;
}
}
}
/**
* Headers
*
*/
body {
-webkit-text-shadow: $body-text-shadow 0 0 1px;
}
.page-title {
margin-top: $gl-padding;
line-height: 1.3;
font-size: 1.25em;
font-weight: $gl-font-weight-bold;
&:last-child {
margin-bottom: 0;
}
&.with-button {
line-height: 34px;
}
}
.page-title-empty {
margin-top: 0;
line-height: 1.3;
font-size: 1.25em;
font-weight: $gl-font-weight-bold;
margin: 12px 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: $gl-text-color;
font-weight: $gl-font-weight-bold;
}
.light-header {
font-weight: $gl-font-weight-bold;
}
/** CODE **/
pre {
font-family: $monospace_font;
}
code {
&.key-fingerprint {
background: $body-bg;
color: $text-color;
}
}
a > code {
color: $link-color;
}
.monospace {
font-family: $monospace_font;
}
.weight-normal {
font-weight: $gl-font-weight-normal;
}
.commit-sha,
.ref-name {
@extend .monospace;
font-size: 95%;
}
.git-revision-dropdown-toggle {
@extend .monospace;
}
.git-revision-dropdown .dropdown-content ul li a {
@extend .ref-name;
}
/**
* Apply Markdown typography
*
*/
.wiki {
@include md-typography;
}
.md {
@include md-typography;
}
/**
* Textareas intended for GFM
*
*/
textarea.js-gfm-input {
font-family: $monospace_font;
font-size: 13px;
}
.strikethrough {
text-decoration: line-through;
}
h1,
h2,
h3,
h4 {
small {
color: $gl-text-color;
}
}
.text-right-lg {
@media (min-width: $screen-lg-min) {
text-align: right;
}
}
.idiff.deletion {
background: $line-removed-dark;
}
.idiff.addition {
background: $line-added-dark;
}
/**
* form text input i.e. search bar, comments, forms, etc.
*/
input,
textarea {
&::-webkit-input-placeholder {
color: $placeholder-text-color;
}
// support firefox 19+ vendor prefix
&::-moz-placeholder {
color: $placeholder-text-color;
opacity: 1; // FF defaults to 0.54
}
// scss-lint:disable PseudoElement
// support Edge vendor prefix
&::-ms-input-placeholder {
color: $placeholder-text-color;
}
// scss-lint:disable PseudoElement
// support IE vendor prefix
&:-ms-input-placeholder {
color: $placeholder-text-color;
}
}