]> BookStack Code Mirror - bookstack/blob - resources/assets/sass/_blocks.scss
Finished migrated from icon-font to SVG
[bookstack] / resources / assets / sass / _blocks.scss
1
2 /*
3 * This file container all block styling including background shading,
4 * margins, paddings & borders.
5 */
6
7
8 /*
9 * Background Shading
10 */
11 .shaded {
12   background-color: #f1f1f1;
13   &.pos {
14     background-color: lighten($positive, 40%);
15   }
16   &.neg {
17     background-color: lighten($negative, 20%);
18   }
19   &.primary {
20     background-color: lighten($primary, 40%);
21   }
22   &.secondary {
23     background-color: lighten($secondary, 30%);
24   }
25 }
26
27 /*
28 * Bordering
29 */
30 .bordered {
31   border: 1px solid #BBB;
32   &.pos {
33     border-color: $positive;
34   }
35   &.neg {
36     border-color: $negative;
37   }
38   &.primary {
39     border-color: $primary;
40   }
41   &.secondary {
42     border-color: $secondary;
43   }
44   &.thick {
45     border-width: 2px;
46   }
47 }
48 .rounded {
49   border-radius: 3px;
50 }
51
52 /*
53 * Padding
54 */
55 .nopadding {
56   padding: 0;
57 }
58 .padded {
59   padding: $-l;
60   &.large {
61     padding: $-xl;
62   }
63   >h1, >h2, >h3, >h4 {
64     &:first-child {
65       margin-top: 0.1em;
66     }
67   }
68 }
69 .padded-vertical, .padded-top {
70   padding-top: $-m;
71   &.large {
72     padding-top: $-xl;
73   }
74 }
75
76 .padded-vertical, .padded-bottom {
77   padding-bottom: $-m;
78   &.large {
79     padding-bottom: $-xl;
80   }
81 }
82 .padded-horizontal, .padded-left {
83   padding-left: $-m;
84   &.large {
85     padding-left: $-xl;
86   }
87 }
88 .padded-horizontal, .padded-right {
89   padding-right: $-m;
90   &.large {
91     padding-right: $-xl;
92   }
93 }
94
95 /*
96 * Margins
97 */
98 .margins {
99   margin: $-l;
100   &.large {
101     margin: $-xl;
102   }
103 }
104 .margins-vertical, .margin-top {
105   margin-top: $-m;
106   &.large {
107     margin-top: $-xl;
108   }
109 }
110 .margins-vertical, .margin-bottom {
111   margin-bottom: $-m;
112   &.large {
113     margin-bottom: $-xl;
114   }
115 }
116 .margins-horizontal, .margin-left {
117   margin-left: $-m;
118   &.large {
119     margin-left: $-xl;
120   }
121 }
122 .margins-horizontal, .margin-right {
123   margin-right: $-m;
124   &.large {
125     margin-right: $-xl;
126   }
127 }
128
129
130 /**
131  * Callouts
132  */
133
134 .callout {
135   border-left: 3px solid #BBB;
136   background-color: #EEE;
137   padding: $-s $-s $-s $-xl;
138   display: block;
139   position: relative;
140   &:before {
141     background-image: url("/icon/info-filled.svg?color=015380");
142     background-repeat: no-repeat;
143     content: '';
144     width: 1.2em;
145     height: 1.2em;
146     left: $-xs + 1px;
147     top: 50%;
148     margin-top: -9px;
149     display: inline-block;
150     position: absolute;
151     line-height: 1;
152     opacity: 0.8;
153   }
154   &.success {
155     border-left-color: $positive;
156     background-color: lighten($positive, 45%);
157     color: darken($positive, 16%);
158   }
159   &.success:before {
160     background-image: url("/icon/check-circle.svg?color=376c39");
161   }
162   &.danger {
163     border-left-color: $negative;
164     background-color: lighten($negative, 34%);
165     color: darken($negative, 20%);
166   }
167   &.danger:before {
168     background-image: url("/icon/danger.svg?color=b91818");
169   }
170   &.info {
171     border-left-color: $info;
172     background-color: lighten($info, 50%);
173     color: darken($info, 16%);
174   }
175   &.warning {
176     border-left-color: $warning;
177     background-color: lighten($warning, 36%);
178     color: darken($warning, 16%);
179   }
180   &.warning:before {
181     background-image: url("/icon/warning.svg?color=b6531c");
182   }
183 }
184
185 .card {
186   margin: $-m;
187   background-color: #FFF;
188   box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2);
189   h3 {
190     padding: $-m;
191     border-bottom: 1px solid #E8E8E8;
192     margin: 0;
193     font-size: $fs-s;
194     color: #888;
195     fill: #888;
196     font-weight: 400;
197     text-transform: uppercase;
198   }
199   h3 a {
200     line-height: 1;
201   }
202   .body, p.empty-text {
203     padding: $-m;
204   }
205   a, p {
206     word-wrap: break-word;
207     word-break: break-word;
208   }
209 }
210
211 .card.drag-card {
212   border: 1px solid #DDD;
213   border-radius: 4px;
214   display: flex;
215   padding: 0;
216   padding-left: $-s + 28px;
217   margin: $-s 0;
218   position: relative;
219   .drag-card-action {
220     cursor: pointer;
221   }
222   .handle, .drag-card-action {
223     display: flex;
224     padding: 0;
225     align-items: center;
226     text-align: center;
227     width: 28px;
228     padding-left: $-xs;
229     padding-right: $-xs;
230     &:hover {
231       background-color: #EEE;
232     }
233     i {
234       flex: 1;
235       padding: 0;
236     }
237   }
238   > div .outline input {
239     margin: $-s 0;
240   }
241   > div.padded {
242     padding: $-s 0 !important;
243   }
244   .handle {
245     background-color: #EEE;
246     left: 0;
247     position: absolute;
248     top: 0;
249     bottom: 0;
250   }
251   > div {
252     padding: 0 $-s;
253     max-width: 80%;
254   }
255 }
256
257 .well {
258   background-color: #F8F8F8;
259   padding: $-m;
260   border: 1px solid #DDD;
261 }