Quantcast
Channel: Active questions tagged flexbox - Stack Overflow
Viewing all articles
Browse latest Browse all 1318

CSS Grid, FlexBox - how to keep containers from overlapping?

$
0
0

I have a web page that draws cards and displays text. The text and images overlap.

I can't figure out how to make them not overlap with FlexBox, grid CSS.

var obj;$(document).ready(function() {  var url = "https://clearlightdoor.com/s3cards";  $("#save_file").css("visibility", "hidden");  // Use $.ajax instead of $.getJSON to handle asynchronous loading  $.ajax({    url: url,    dataType: 'json',    success: function(data) {      obj = data['AllData'];      for (var i = 0; i < obj.length; i++) {        if (i == 0) {          var td_data = obj[i]["img"];          $("#tenth-card").append(td_data);        } else if (i == 1) {          var td_data = obj[i]["img"];          $("#nineth-card").append(td_data);        } else if (i == 2) {          var td_data = obj[i]["img"];          $("#eighth-card").append(td_data);        } else if (i == 3) {          var td_data = obj[i]["img"];          $("#seventh-card").append(td_data);        } else if (i == 4) {          var td_data = obj[i]["img"];          $("#sixth-card").append(td_data);        } else if (i == 5) {          var td_data = obj[i]["img"];          $("#fifth-card").append(td_data);        } else if (i == 6) {          var td_data = obj[i]["img"];          $("#fourth-card").append(td_data);        } else if (i == 7) {          var td_data = obj[i]["img"];          $("#third-card").append(td_data);        } else if (i == 9) {          var td_data = obj[i]["img"];          $("#first-card").prepend(td_data);        }      }    }  });  var inc = 10;  $("#next_btn").click(function() {    inc = inc - 1;    if (inc == 9) {      $("#first-card").css("visibility", "visible");      $("#start_text").remove();      var first_text = obj[9]["line"];      $("#card_text").append(first_text);    } else if (inc == 8) {     // $("#second-card").css("visibility", "visible");      var second_data = obj[8]["img"];      $("#first-card").append(second_data);      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);    } else if (inc == 7) {      $("#third-card").css("visibility", "visible");      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);          } else if (inc == 6) {      $("#fourth-card").css("visibility", "visible");      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);          } else if (inc == 5) {      $("#fifth-card").css("visibility", "visible");      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);          } else if (inc == 4) {      $("#sixth-card").css("visibility", "visible");    } else if (inc == 3) {      $("#seventh-card").css("visibility", "visible");    } else if (inc == 2) {      $("#eighth-card").css("visibility", "visible");    } else if (inc == 1) {      $("#nineth-card").css("visibility", "visible");    } else if (inc == 0) {      $("#tenth-card").css("visibility", "visible");      $("#save_file").css("visibility", "visible");    }  });});$("#save_file").click(function() {  var html_save = "<html><body><table>";  for (var i = 0; i < obj.length; i++) {    html_save += "<tr style='height: 215px;'><td valign='top'>"+ obj[i]["line"] +"</td><td>"+ obj[i]["img"] +"</td></tr>";  }  html_save += "</table></body></html>";  var hiddenElement = document.createElement('a');  hiddenElement.href = 'data:attachment/text,'+ encodeURI(html_save);  hiddenElement.target = '_blank';  hiddenElement.download = 'tarot_reading.html';  hiddenElement.click();});
/* this page uses CSS grid and FlexBox to control layout */    body {      font-family: 'Old Standard TT', serif;      background-color: #1c1c1c;      color: #d4af37;      font-size: 1.2em;      background-image: url("https://tarotcardsstyles.s3.us-west-2.amazonaws.com/pattern8-pattern53b.jpg");      background-repeat: repeat;    }    #card, #absolute {      transition: all 0.3s ease;      border: 2px solid #d4af37;      border-radius: 10px;      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);    }    a {      color: #d4af37;      text-decoration: none;    }    a:hover, a:active {      color: #fff;    }    a:visited {      color: #d4af37;    }    .button {      color: #d4af37;      font-family: 'Old Standard TT', serif;      text-decoration: none;      border: 2px solid #d4af37;      padding: 5px 10px;      background-color: rgba(0, 0, 0, 0.7);      border-radius: 5px;    } /* the rotate id is on the image which comes from the json. generate_ai_tarot_reading.py makes the json. */    #rotate {       transition: all 0.3s ease;      border: 2px solid #d4af37;      border-radius: 10px;      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);      transform: rotate(270deg);      -webkit-transform: rotate(270deg);      -ms-transform: rotate(270deg);      margin-left: auto;      margin-right: auto;      z-index: 1;      position: relative;      left: -120px;    }    button {      text-decoration: none;      color: #d4af37;      background: rgba(0, 0, 0, 0.7);      padding: 7px 14px;      border: 2px solid #d4af37;      border-radius: 5px;      font-family: 'Old Standard TT', serif;      font-size: 1em;      margin-bottom: 20px;    }    .content-container {      display: flex;      flex-direction: column;      align-items: center;      margin-top: 0;    }    .start-text {      text-align: center;      margin-bottom: 20px;    }    .grid-container {      display: flex;      justify-content: center;      margin-top: 200px;    }    .grid-item {      padding: 10px;    }    .card-container {      display: flex;      justify-content: center;      margin-top: 20px;    }    .card-grid {      display: flex;      flex-wrap: wrap;      justify-content: center;      align-items: center;      gap: 20px;      position: relative;    }    .text-container {      margin-top: 20px;      text-align: center;    }    .reading-grid {      display: flex;      flex-direction: column;      gap: 10px;    }    .button-container {      display: flex;      flex-direction: column;      align-items: center;      margin-bottom: 20px;    }    #card_text {      top: 400%;      left: 100%;      display: flex;    }    #first-card {      position: relative;    }    #second-card, #third-card, #fourth-card, #fifth-card, #sixth-card,    #seventh-card, #eighth-card, #nineth-card, #tenth-card {      position: absolute;      visibility: collapse;      width: 100%;      height: 100%;    }    #second-card {      top: 50%;      left: 50%;    }    #third-card {      top: 100%;      left: 0;      display: flex;    }    #fourth-card {      top: 0;      left: -100%;    }    #fifth-card {      top: -100%;      left: 0;    }    #sixth-card {      top: 0;      left: 100%;    }    #seventh-card {      top: 200%;      left: 300%;    }    #eighth-card {      top: 100%;      left: 300%;    }    #nineth-card {      top: 0;      left: 300%;    }    #tenth-card {      top: -100%;      left: 300%;    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script><div class="button-container"><button id="next_btn" style="border:1px solid black;">Next</button><br><button id="save_file" style="visibility:collapse; border:1px solid black;">Save reading to file</button></div><div class="content-container"><div id="start_text" class="start-text">Think about a question you have or a situation you would like to know more about or just let yourself go still inside for a moment and click Next to begin and draw cards.</div><div class="grid-container"><div class="grid-item"><div class="card-grid"><div id="first-card" style="visibility: collapse"><div id="second-card" style="visibility: collapse"></div><div id="third-card" style="visibility: collapse"></div><div id="fourth-card" style="visibility: collapse"></div><div id="fifth-card" style="visibility: collapse"></div><div id="sixth-card" style="visibility: collapse"></div><div id="seventh-card" style="visibility: collapse"></div><div id="eighth-card" style="visibility: collapse"></div><div id="nineth-card" style="visibility: collapse"></div><div id="tenth-card" style="visibility: collapse"></div></div></div></div></div><div id="card_text"></div></div>

<div id="card_text"></div> is the text div that is overlapping with the images.

<html lang="en"><head><meta charset="UTF-8"><meta name="description" content="Tarot Card game featuring Celtic cross spread. The game text was partially generated by claude-3-opus-20240229"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><title>The Clear Light Door</title><link rel="icon" type="image/x-icon" href="https://tarotcardsstyles.s3.us-west-2.amazonaws.com/favicon.ico"><style>  /* this page uses CSS grid and FlexBox to control layout */    body {      font-family: 'Old Standard TT', serif;      background-color: #1c1c1c;      color: #d4af37;      font-size: 1.2em;      background-image: url("https://tarotcardsstyles.s3.us-west-2.amazonaws.com/pattern8-pattern53b.jpg");      background-repeat: repeat;    }    #card, #absolute {      transition: all 0.3s ease;      border: 2px solid #d4af37;      border-radius: 10px;      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);    }    a {      color: #d4af37;      text-decoration: none;    }    a:hover, a:active {      color: #fff;    }    a:visited {      color: #d4af37;    }    .button {      color: #d4af37;      font-family: 'Old Standard TT', serif;      text-decoration: none;      border: 2px solid #d4af37;      padding: 5px 10px;      background-color: rgba(0, 0, 0, 0.7);      border-radius: 5px;    } /* the rotate id is on the image which comes from the json. generate_ai_tarot_reading.py makes the json. */    #rotate {       transition: all 0.3s ease;      border: 2px solid #d4af37;      border-radius: 10px;      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);      transform: rotate(270deg);      -webkit-transform: rotate(270deg);      -ms-transform: rotate(270deg);      margin-left: auto;      margin-right: auto;      z-index: 1;      position: relative;      left: -120px;    }    button {      text-decoration: none;      color: #d4af37;      background: rgba(0, 0, 0, 0.7);      padding: 7px 14px;      border: 2px solid #d4af37;      border-radius: 5px;      font-family: 'Old Standard TT', serif;      font-size: 1em;      margin-bottom: 20px;    }    .content-container {      display: flex;      flex-direction: column;      align-items: center;      margin-top: 0;    }    .start-text {      text-align: center;      margin-bottom: 20px;    }    .grid-container {      display: flex;      justify-content: center;      margin-top: 200px;    }    .grid-item {      padding: 10px;    }    .card-container {      display: flex;      justify-content: center;      margin-top: 20px;    }    .card-grid {      display: flex;      flex-wrap: wrap;      justify-content: center;      align-items: center;      gap: 20px;      position: relative;    }    .text-container {      margin-top: 20px;      text-align: center;    }    .reading-grid {      display: flex;      flex-direction: column;      gap: 10px;    }    .button-container {      display: flex;      flex-direction: column;      align-items: center;      margin-bottom: 20px;    }    #card_text {      top: 400%;      left: 100%;      display: flex;    }    #first-card {      position: relative;    }    #second-card, #third-card, #fourth-card, #fifth-card, #sixth-card,    #seventh-card, #eighth-card, #nineth-card, #tenth-card {      position: absolute;      visibility: collapse;      width: 100%;      height: 100%;    }    #second-card {      top: 50%;      left: 50%;    }    #third-card {      top: 100%;      left: 0;      display: flex;    }    #fourth-card {      top: 0;      left: -100%;    }    #fifth-card {      top: -100%;      left: 0;    }    #sixth-card {      top: 0;      left: 100%;    }    #seventh-card {      top: 200%;      left: 300%;    }    #eighth-card {      top: 100%;      left: 300%;    }    #nineth-card {      top: 0;      left: 300%;    }    #tenth-card {      top: -100%;      left: 300%;    }</style></head><body><div class="button-container"><button id="next_btn" style="border:1px solid black;">Next</button><br><button id="save_file" style="visibility:collapse; border:1px solid black;">Save reading to file</button></div><div class="content-container"><div id="start_text" class="start-text">Think about a question you have or a situation you would like to know more about or just let yourself go still inside for a moment and click Next to begin and draw cards.</div><div class="grid-container"><div class="grid-item"><div class="card-grid"><div id="first-card" style="visibility: collapse"><div id="second-card" style="visibility: collapse"></div><div id="third-card" style="visibility: collapse"></div><div id="fourth-card" style="visibility: collapse"></div><div id="fifth-card" style="visibility: collapse"></div><div id="sixth-card" style="visibility: collapse"></div><div id="seventh-card" style="visibility: collapse"></div><div id="eighth-card" style="visibility: collapse"></div><div id="nineth-card" style="visibility: collapse"></div><div id="tenth-card" style="visibility: collapse"></div></div></div></div></div><div id="card_text"></div></div></body><script>/*global $*/var obj;$(document).ready(function() {  var url = "https://clearlightdoor.com/s3cards";  $("#save_file").css("visibility", "hidden");  // Use $.ajax instead of $.getJSON to handle asynchronous loading  $.ajax({    url: url,    dataType: 'json',    success: function(data) {      obj = data['AllData'];      for (var i = 0; i < obj.length; i++) {        if (i == 0) {          var td_data = obj[i]["img"];          $("#tenth-card").append(td_data);        } else if (i == 1) {          var td_data = obj[i]["img"];          $("#nineth-card").append(td_data);        } else if (i == 2) {          var td_data = obj[i]["img"];          $("#eighth-card").append(td_data);        } else if (i == 3) {          var td_data = obj[i]["img"];          $("#seventh-card").append(td_data);        } else if (i == 4) {          var td_data = obj[i]["img"];          $("#sixth-card").append(td_data);        } else if (i == 5) {          var td_data = obj[i]["img"];          $("#fifth-card").append(td_data);        } else if (i == 6) {          var td_data = obj[i]["img"];          $("#fourth-card").append(td_data);        } else if (i == 7) {          var td_data = obj[i]["img"];          $("#third-card").append(td_data);        } else if (i == 9) {          var td_data = obj[i]["img"];          $("#first-card").prepend(td_data);        }      }    }  });  var inc = 10;  $("#next_btn").click(function() {    inc = inc - 1;    if (inc == 9) {      $("#first-card").css("visibility", "visible");      $("#start_text").remove();      var first_text = obj[9]["line"];      $("#card_text").append(first_text);    } else if (inc == 8) {     // $("#second-card").css("visibility", "visible");      var second_data = obj[8]["img"];      $("#first-card").append(second_data);      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);    } else if (inc == 7) {      $("#third-card").css("visibility", "visible");      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);          } else if (inc == 6) {      $("#fourth-card").css("visibility", "visible");      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);          } else if (inc == 5) {      $("#fifth-card").css("visibility", "visible");      $("#card_text").text("");      $("#card_text").append(obj[inc]["line"]);          } else if (inc == 4) {      $("#sixth-card").css("visibility", "visible");    } else if (inc == 3) {      $("#seventh-card").css("visibility", "visible");    } else if (inc == 2) {      $("#eighth-card").css("visibility", "visible");    } else if (inc == 1) {      $("#nineth-card").css("visibility", "visible");    } else if (inc == 0) {      $("#tenth-card").css("visibility", "visible");      $("#save_file").css("visibility", "visible");    }  });});$("#save_file").click(function() {  var html_save = "<html><body><table>";  for (var i = 0; i < obj.length; i++) {    html_save += "<tr style='height: 215px;'><td valign='top'>" + obj[i]["line"] +"</td><td>" + obj[i]["img"] +"</td></tr>";  }  html_save += "</table></body></html>";  var hiddenElement = document.createElement('a');  hiddenElement.href = 'data:attachment/text,'+ encodeURI(html_save);  hiddenElement.target = '_blank';  hiddenElement.download = 'tarot_reading.html';  hiddenElement.click();});      </script></html>

Viewing all articles
Browse latest Browse all 1318

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>