Style overhaul / added box layout
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / style / layout / box.scss
CommitLineData
bb6ef47e
MW
1/* default styling for all boxes */
2.box {
3 box-sizing: border-box;
4}
5
6.boxImage {
7 img {
8 max-width: 100%;
9 }
10}
11
12.boxTitle {
13 @extend .wcfFontHeadline;
14
15 & + .boxContent {
16 margin-top: 10px;
17 }
18}
19
20.boxContent {
21 & + .boxContent,
22 & + .boxTitle {
23 margin-top: 20px;
24 }
25}
26
27/* styling for boxes in <hero> position */
28.boxesHero {
29 .box {
30 padding: 40px;
31 text-align: center;
32 }
33
34 .boxTitle {
35 @extend .wcfFontTitle;
36
37 & + .boxContent {
38 margin-top: 20px;
39 }
40 }
41
42 .boxWithImage {
43 display: flex;
44 flex-wrap: wrap;
45
46 .boxImage,
47 .boxTitle,
48 .boxContent {
49 flex: 0 0 100%;
50 }
51
52 .boxImage {
53 order: 3;
54 margin-top: 40px;
55 }
56 }
57}
58
59/* styling for boxes in <headerBoxes> position */
60.boxesHeaderBoxes {
61 background-color: rgb(247, 248, 250); // @todo
62
63 .layoutBoundary {
64 display: flex;
65 flex-wrap: wrap;
66 padding: 40px 0;
67 }
68
69 .box {
70 flex: 0 0 25%;
71 padding-right: 10px;
72 padding-left: 10px;
73
74 &:nth-child(4n+1):not(:first-child) {
75 margin-top: 20px;
76 }
77
78 /* one item */
79 &:first-child:nth-last-child(1) {
80 flex-basis: 100%;
81 }
82
83 /* two items */
84 &:first-child:nth-last-child(2),
85 &:first-child:nth-last-child(2) ~ .box {
86 flex-basis: 50%;
87 }
88
89 /* three items */
90 &:first-child:nth-last-child(3),
91 &:first-child:nth-last-child(3) ~ .box {
92 flex-basis: 33.3333%;
93 }
94 }
95
96 .boxImage {
97 margin-bottom: 10px;
98 text-align: center;
99 }
100}
101
102/* styling for boxes in <top>/<bottom> position */
103.boxesTop,
104.boxesBottom {
105 border-bottom: 1px solid $wcfContentBorderInner;
106
107 .layoutBoundary {
108 padding: 40px 0;
109 }
110
111 .box {
112 &:not(:first-child) {
113 margin-top: 40px;
114 }
115 }
116
117 .boxWithImage {
118 @extend .clearfix;
119
120 .boxTitle,
121 .boxContent {
122 margin-left: calc(20% + 30px);
123 }
124 }
125
126 .boxImage {
127 float: left;
128 width: 20%;
129 }
130}
131
132.boxesTop {
133 border-bottom: 1px solid $wcfContentBorderInner;
134}
135
136.boxesBottom {
137 border-top: 1px solid $wcfContentBorderInner;
138}
139
140/* styling for boxes in <sidebarLeft>/<sidebarRight> position */
141.boxesSidebarLeft,
142.boxesSidebarRight {
143 color: $wcfSidebarText;
144
145 a {
146 color: $wcfSidebarLink;
147
148 > .icon {
149 color: $wcfSidebarLink;
150 }
151
152 &:hover {
153 color: $wcfSidebarLinkActive;
154
155 > .icon {
156 color: $wcfSidebarLinkActive;
157 }
158 }
159 }
160
161 small,
162 .dimmed {
163 color: $wcfSidebarDimmedText;
164
165 a {
166 color: $wcfSidebarDimmedLink;
167
168 &:hover {
169 color: $wcfSidebarDimmedLinkActive;
170 }
171 }
172 }
173
174 .box {
175 background-color: $wcfSidebarBackground;
176 padding: 20px;
177
178 &:not(:first-child) {
179 margin-top: 20px;
180 }
181 }
182
183 .boxWithImage {
184 @extend .clearfix;
185
186 .boxTitle,
187 .boxContent {
188 margin-left: calc(20% + 10px);
189 }
190 }
191
192 .boxImage {
193 float: left;
194 width: 20%;
195 }
196}
197
198/* styling for boxes in <contentTop>/<contentBottom> position */
199.boxesContentTop,
200.boxesContentBottom {
201 .boxTitle {
202 color: $wcfContentHeadlineText;
203
204 a {
205 color: $wcfContentHeadlineLink;
206
207 &:hover {
208 color: $wcfContentHeadlineLinkActive;
209 }
210 }
211 }
212
213 .box {
214 &:not(:first-child) {
215 margin-top: 30px;
216 }
217 }
218
219 .boxWithImage {
220 @extend .clearfix;
221
222 .boxTitle,
223 .boxContent {
224 margin-left: calc(20% + 20px);
225 }
226 }
227
228 .boxImage {
229 float: left;
230 width: 20%;
231 }
232}
233
234.boxesContentTop {
235 margin-bottom: 40px;
236}
237
238.boxesContentBottom {
239 margin-top: 40px;
240}
241
242/* styling for boxes in <footerBoxes> position */
243.boxesFooterBoxes {
244 background-color: $wcfFooterBoxBackground;
245 color: $wcfFooterBoxText;
246 flex: 0 0 auto;
247 z-index: 40;
248
249 a {
250 color: $wcfFooterBoxLink;
251
252 .icon {
253 color: $wcfFooterBoxLink;
254 }
255
256 &:hover {
257 color: $wcfFooterBoxLinkActive;
258
259 .icon {
260 color: $wcfFooterBoxLinkActive;
261 }
262 }
263 }
264
265 .icon {
266 color: $wcfFooterBoxText;
267 }
268
269 .layoutBoundary {
270 display: flex;
271 flex-wrap: wrap;
272 padding: 40px 0;
273 }
274
275 .box {
276 flex: 0 0 50%;
277
278 &:nth-child(n+3) {
279 margin-top: 40px;
280 }
281
282 &:nth-child(even) {
283 padding-left: 10px;
284 }
285
286 &:nth-child(odd) {
287 padding-right: 10px;
288 }
289 }
290
291 .boxImage {
292 margin-bottom: 10px;
293 text-align: center;
294 }
295}
296
297/* styling for boxes in <footer> position */
298.boxesFooter {
299 margin-bottom: 40px;
300
301 .box {
302 &:not(:first-child) {
303 margin-top: 40px;
304 }
305 }
306
307 .boxWithImage {
308 @extend .clearfix;
309
310 .boxTitle,
311 .boxContent {
312 margin-left: calc(20% + 30px);
313 }
314 }
315
316 .boxImage {
317 float: left;
318 width: 20%;
319 }
320}