Changes for page Academy

Last modified by Erik Bakker on 2024/09/24 16:12

From version 32.1
edited by Erik Bakker
on 2022/04/21 15:50
Change comment: Added object
To version 28.1
edited by Erik Bakker
on 2022/04/21 15:44
Change comment: Added object

Summary

Details

XWiki.GadgetClass[1]
content
... ... @@ -1,51 +1,198 @@
1 -{{html}}
2 -<!DOCTYPE html>
3 -<html>
4 -<head>
5 -<meta name="viewport" content="width=device-width, initial-scale=1">
6 -<style>
1 +{{code}}
2 +@import url('https://fonts.googleapis.com/css?family=Heebo:400,700|Open+Sans:400,700');
3 +
4 +:root {
5 + --color: #3c3163;
6 + --transition-time: 0.5s;
7 +}
8 +
7 7  * {
8 8   box-sizing: border-box;
9 9  }
10 10  
11 -/* Create two equal columns that floats next to each other */
12 -.column {
13 - float: left;
14 - width: 50%;
15 - padding: 10px;
16 - height: 300px; /* Should be removed. Only for demonstration */
13 +body {
14 + margin: 0;
15 + min-height: 100vh;
16 + font-family: 'Open Sans';
17 + background: #fafafa;
17 17  }
18 18  
19 -/* Clear floats after the columns */
20 -.row:after {
21 - content: "";
22 - display: table;
23 - clear: both;
20 +a {
21 + color: inherit;
24 24  }
25 25  
26 -/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
27 -@media screen and (max-width: 600px) {
28 - .column {
29 - width: 100%;
24 +.cards-wrapper {
25 + display: grid;
26 + justify-content: center;
27 + align-items: center;
28 + grid-template-columns: 1fr 1fr 1fr;
29 + grid-gap: 4rem;
30 + padding: 4rem;
31 + margin: 0 auto;
32 + width: max-content;
33 +}
34 +
35 +.card {
36 + font-family: 'Heebo';
37 + --bg-filter-opacity: 0.5;
38 + background-image: linear-gradient(rgba(0,0,0,var(--bg-filter-opacity)),rgba(0,0,0,var(--bg-filter-opacity))), var(--bg-img);
39 + height: 20em;
40 + width: 15em;
41 + font-size: 1.5em;
42 + color: white;
43 + border-radius: 1em;
44 + padding: 1em;
45 + /*margin: 2em;*/
46 + display: flex;
47 + align-items: flex-end;
48 + background-size: cover;
49 + background-position: center;
50 + box-shadow: 0 0 5em -1em black;
51 + transition: all, var(--transition-time);
52 + position: relative;
53 + overflow: hidden;
54 + border: 10px solid #ccc;
55 + text-decoration: none;
56 +}
57 +
58 +.card:hover {
59 + transform: rotate(0);
60 +}
61 +
62 +.card h1 {
63 + margin: 0;
64 + font-size: 1.5em;
65 + line-height: 1.2em;
66 +}
67 +
68 +.card p {
69 + font-size: 0.75em;
70 + font-family: 'Open Sans';
71 + margin-top: 0.5em;
72 + line-height: 2em;
73 +}
74 +
75 +.card .tags {
76 + display: flex;
77 +}
78 +
79 +.card .tags .tag {
80 + font-size: 0.75em;
81 + background: rgba(255,255,255,0.5);
82 + border-radius: 0.3rem;
83 + padding: 0 0.5em;
84 + margin-right: 0.5em;
85 + line-height: 1.5em;
86 + transition: all, var(--transition-time);
87 +}
88 +
89 +.card:hover .tags .tag {
90 + background: var(--color);
91 + color: white;
92 +}
93 +
94 +.card .date {
95 + position: absolute;
96 + top: 0;
97 + right: 0;
98 + font-size: 0.75em;
99 + padding: 1em;
100 + line-height: 1em;
101 + opacity: .8;
102 +}
103 +
104 +.card:before, .card:after {
105 + content: '';
106 + transform: scale(0);
107 + transform-origin: top left;
108 + border-radius: 50%;
109 + position: absolute;
110 + left: -50%;
111 + top: -50%;
112 + z-index: -5;
113 + transition: all, var(--transition-time);
114 + transition-timing-function: ease-in-out;
115 +}
116 +
117 +.card:before {
118 + background: #ddd;
119 + width: 250%;
120 + height: 250%;
121 +}
122 +
123 +.card:after {
124 + background: white;
125 + width: 200%;
126 + height: 200%;
127 +}
128 +
129 +.card:hover {
130 + color: var(--color);
131 +}
132 +
133 +.card:hover:before, .card:hover:after {
134 + transform: scale(1);
135 +}
136 +
137 +.card-grid-space .num {
138 + font-size: 3em;
139 + margin-bottom: 1.2rem;
140 + margin-left: 1rem;
141 +}
142 +
143 +.info {
144 + font-size: 1.2em;
145 + display: flex;
146 + padding: 1em 3em;
147 + height: 3em;
148 +}
149 +
150 +.info img {
151 + height: 3em;
152 + margin-right: 0.5em;
153 +}
154 +
155 +.info h1 {
156 + font-size: 1em;
157 + font-weight: normal;
158 +}
159 +
160 +/* MEDIA QUERIES */
161 +@media screen and (max-width: 1285px) {
162 + .cards-wrapper {
163 + grid-template-columns: 1fr 1fr;
30 30   }
31 31  }
32 -</style>
33 -</head>
34 -<body>
35 35  
36 -<h2>Responsive Two Column Layout</h2>
37 -<p>Resize the browser window to see the responsive effect (the columns will stack on top of each other instead of floating next to each other, when the screen is less than 600px wide).</p>
167 +@media screen and (max-width: 900px) {
168 + .cards-wrapper {
169 + grid-template-columns: 1fr;
170 + }
171 + .info {
172 + justify-content: center;
173 + }
174 + .card-grid-space .num {
175 + /margin-left: 0;
176 + /text-align: center;
177 + }
178 +}
38 38  
39 -<div class="row">
40 - <div class="column" style="background-color:#aaa;">
41 - <h2>Column 1</h2>
42 - <p>Some text..</p>
43 - </div>
44 - <div class="column" style="background-color:#bbb;">
45 - <h2>Column 2</h2>
46 - <p>Some text..</p>
47 - </div>
48 -</div>
49 -</body>
50 -</html>
51 -{{/html}}
180 +@media screen and (max-width: 500px) {
181 + .cards-wrapper {
182 + padding: 4rem 2rem;
183 + }
184 + .card {
185 + max-width: calc(100vw - 4rem);
186 + }
187 +}
188 +
189 +@media screen and (max-width: 450px) {
190 + .info {
191 + display: block;
192 + text-align: center;
193 + }
194 + .info h1 {
195 + margin: 0;
196 + }
197 +}
198 +{{/code}}
title
... ... @@ -1,1 +1,1 @@
1 -$services.localization.render('rendering.macro.html.name')
1 +$services.localization.render('rendering.macro.code.name')