Changes for page Academy

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

From version 38.1
edited by Erik Bakker
on 2022/04/21 15:54
Change comment: There is no comment for this version
To version 30.1
edited by Erik Bakker
on 2022/04/21 15:48
Change comment: Added object

Summary

Details

XWiki.GadgetClass[1]
content
... ... @@ -1,20 +1,26 @@
1 1  {{html}}
2 -<!DOCTYPE html>
3 3  <html>
4 4  <head>
5 -<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
4 +<meta name="viewport" content="width=device-width, initial-scale=1">
6 6  <style>
7 7  * {
8 8   box-sizing: border-box;
9 9  }
10 10  
11 -/* Create two equal columns that floats next to each other */
10 +body {
11 + font-family: Arial, Helvetica, sans-serif;
12 +}
13 +
14 +/* Float four columns side by side */
12 12  .column {
13 13   float: left;
14 - width: 50%;
15 - padding: 10px;
17 + width: 25%;
18 + padding: 0 10px;
16 16  }
17 17  
21 +/* Remove extra left and right margins, due to padding */
22 +.row {margin: 0 -5px;}
23 +
18 18  /* Clear floats after the columns */
19 19  .row:after {
20 20   content: "";
... ... @@ -21,93 +21,63 @@
21 21   display: table;
22 22   clear: both;
23 23  }
24 -/* Style the buttons */
25 -.btn {
26 - border: none;
27 - outline: none;
28 - padding: 12px 16px;
29 - background-color: #f1f1f1;
30 - cursor: pointer;
31 -}
32 32  
33 -.btn:hover {
34 - background-color: #ddd;
31 +/* Responsive columns */
32 +@media screen and (max-width: 600px) {
33 + .column {
34 + width: 100%;
35 + display: block;
36 + margin-bottom: 20px;
37 + }
35 35  }
36 36  
37 -.btn.active {
38 - background-color: #666;
39 - color: white;
40 +/* Style the counter cards */
41 +.card {
42 + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
43 + padding: 16px;
44 + text-align: center;
45 + background-color: #f1f1f1;
40 40  }
41 41  </style>
42 42  </head>
43 43  <body>
44 44  
45 -<h2>List View or Grid View</h2>
51 +<h2>Responsive Column Cards</h2>
52 +<p>Resize the browser window to see the effect.</p>
46 46  
47 -<p>Click on a button to choose list view or grid view.</p>
48 -
49 -<div id="btnContainer">
50 - <button class="btn" onclick="listView()"><i class="fa fa-bars"></i> List</button>
51 - <button class="btn active" onclick="gridView()"><i class="fa fa-th-large"></i> Grid</button>
52 -</div>
53 -<br>
54 -
55 55  <div class="row">
56 - <div class="column" style="background-color:#aaa;">
57 - <h2>Column 1</h2>
58 - <p>Some text..</p>
55 + <div class="column">
56 + <div class="card">
57 + <h3>Card 1</h3>
58 + <p>Some text</p>
59 + <p>Some text</p>
60 + </div>
59 59   </div>
60 - <div class="column" style="background-color:#bbb;">
61 - <h2>Column 2</h2>
62 - <p>Some text..</p>
63 - </div>
64 -</div>
65 65  
66 -<div class="row">
67 - <div class="column" style="background-color:#ccc;">
68 - <h2>Column 3</h2>
69 - <p>Some text..</p>
63 + <div class="column">
64 + <div class="card">
65 + <h3>Card 2</h3>
66 + <p>Some text</p>
67 + <p>Some text</p>
68 + </div>
70 70   </div>
71 - <div class="column" style="background-color:#ddd;">
72 - <h2>Column 4</h2>
73 - <p>Some text..</p>
70 +
71 + <div class="column">
72 + <div class="card">
73 + <h3>Card 3</h3>
74 + <p>Some text</p>
75 + <p>Some text</p>
76 + </div>
74 74   </div>
78 +
79 + <div class="column">
80 + <div class="card">
81 + <h3>Card 4</h3>
82 + <p>Some text</p>
83 + <p>Some text</p>
84 + </div>
85 + </div>
75 75  </div>
76 -
77 -<script>
78 -// Get the elements with class="column"
79 -var elements = document.getElementsByClassName("column");
80 -
81 -// Declare a loop variable
82 -var i;
83 -
84 -// List View
85 -function listView() {
86 - for (i = 0; i < elements.length; i++) {
87 - elements[i].style.width = "100%";
88 - }
89 -}
90 -
91 -// Grid View
92 -function gridView() {
93 - for (i = 0; i < elements.length; i++) {
94 - elements[i].style.width = "50%";
95 - }
96 -}
97 -
98 -/* Optional: Add active class to the current button (highlight it) */
99 -var container = document.getElementById("btnContainer");
100 -var btns = container.getElementsByClassName("btn");
101 -for (var i = 0; i < btns.length; i++) {
102 - btns[i].addEventListener("click", function() {
103 - var current = document.getElementsByClassName("active");
104 - current[0].className = current[0].className.replace(" active", "");
105 - this.className += " active";
106 - });
107 -}
108 -</script>
109 -
110 110  </body>
111 111  </html>
112 -
113 113  {{/html}}