将文本附加到Div扩展除了初始CSS网格之外的Div

时间:2018-01-15 19:04:26

标签: html css css3 css-grid

我创建了一个基本的CSS网格,并将所有内容放在我想要的位置。当我运行我的JS(将API调用中的信息追加到div)时,div的维度超出了视口的边界。有没有办法防止整体身体元素发生变化,只是让div动态增加高度?

pics:TAG URI

我尝试了很多不同的事情,似乎无法解决这个问题。我的后备将只是覆盖div而不是附加到它。代码如下。



//Set initial latitute and longitude variables, to be used later
var lat = 0;
var long = 0;

//Google Geocode API to find the latitude and longitude of the txtAddress
$("#submit").on("click", function() {
  var userInput = $("#txtAddress").val();
  //trim the user input to the form needed for the api
  var userSearchTerm = userInput.split(' ').join('+');

  //call the google geocode api
  var queryURLGeocode = "https://maps.googleapis.com/maps/api/geocode/json?address=" + userSearchTerm + "&key=AIzaSyCSAYHZn9fz13c3bsl_RcS13HJu8wDJXCU"
  $.ajax({
      url: queryURLGeocode,
      method: "GET"
    })
    .done(function(response) {
      //Set latitude and longitude from the returned object
      lat = response.results[0].geometry.location.lat;
      //limit decimal points to 4 (xx.xxxx) - form needed for hiking api
      lat = lat.toFixed(4);

      long = response.results[0].geometry.location.lng;
      long = long.toFixed(4);

      //Call the hiking project api
      var queryURL = "https://www.hikingproject.com/data/get-trails?lat=" + lat + "&lon=" + long + "&maxDistance=10&key=200206461-4fa8ac1aa85295888ce833cca1b5929f"

      $.ajax({
          url: queryURL,
          method: "GET"
        })
        .done(function(response) {
          // loop through the response trails and add info to the site
          for (i = 0; i < response.trails.length; i++) {
            var contentDivTitle = $("<div> class='newTrailTitle'");
            var contentDivMain = $("<div> class='newTrailDescription'");
            contentDivTitle.text("Name: " + response.trails[i].name + "     Location: " + response.trails[i].location);
            contentDivMain.text("Summary: " + response.trails[i].summary);
            $("#search-results").append(contentDivTitle);
            $("#search-results").append(contentDivMain);
          }
        });
    });
});
&#13;
html,
body {
  background-color: black;
  margin: 10px;
}

h1,
h3 {
  color: white;
  text-align: center;
  padding: 5px;
  line-height: 1px;
}

h1 {
  /* automatically changes lowercase to uppercase text; */
  text-transform: uppercase;
}

sub {
  color: white;
  text-align: center;
  line-height: 1px;
  font-size: 15px;
  font-weight: lighter;
}

.container {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: 800px 500px 200px 50px 100px;
  grid-gap: 3px;
}

.container>div {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1em;
}

.container>div:nth-child(1n) {
  background-color: black;
}

.container>div:nth-child(2n) {
  background-color: blue;
}

.container>div:nth-child(3n) {
  background-color: red;
}

.container>div:nth-child(4n) {
  background-color: yellow;
}

.container>div:nth-child(5n) {
  background-color: green;
}

label {
  color: white;
}

#main {
  background-image: url("assets/images/etienne-bosiger-367964.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}

#au,
#cr {
  display: block;
  margin: auto;
}

#groupPic {
  padding: 10px;
}
&#13;
<html>

<head>
  <link rel="stylesheet" href="test.css">

</head>

<body>
  <div class="container">
    <div id="main">
      <div id="title">

        <h1>kairns<sub>&reg;</sub></h1>
        <h3>"find your trail"</h3>
        <div class="search-div">
          <label for="txtAddress">Enter Address: </label>
          <input type="text" name="txtAddress" id="txtAddress">
          <button type="button" id="submit">Search</button>
        </div>
      </div>

    </div>



    <div class="search-results" id="search-results">2</div>

    <div>
      <p id="au">About Us</p>
      <img id="groupPic" src="http://via.placeholder.com/150x150" alt="placeholder image">
      <p id="cr">Copyright 2018.</p>
    </div>
    <div>4</div>
    <div>
      <p>Powered by
        <a href="https://developers.google.com/maps/">Google Maps</a>,
        <a href="https://openweathermap.org/api">Open Weather Map</a>, and <a href="https://www.hikingproject.com/data">Hiking Project</a>
      </p>
    </div>
  </div>

  <!-- JAVASCRIPT -->
  <!-- jQuery -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <!-- custom javaScript -->
  <script type='text/javascript' src='assets/javascript/logic.js'></script>

</body>

</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

如果您申请,#search-results元素的所有流入子元素将垂直对齐:

#search-results {
     display: flex;
     flex-direction: column;
}