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
on 2022/04/21 15:54
Change comment:
There is no comment for this version
Summary
-
Objects (1 modified, 0 added, 0 removed)
Details
- XWiki.GadgetClass[1]
-
- content
-
... ... @@ -1,20 +1,26 @@ 1 1 {{html}} 2 -<!DOCTYPE html> 3 3 <html> 4 4 <head> 5 -< linkrel="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: 5 0%;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}}