Alok Y Alok Y - 1 day ago 4
CSS Question

Unable to align boxes of texts (css borders) of div tags in a straight line

I have pasted below the HTML snippet which has a div with a container class comprising of four sub div's with a class named 'city'.

I'm trying to align them in one row by applying bootstrap.

I have pasted my style sheet below the HTML.I have been trying this for over an hour by increasing and decreasing the right/left margin but can't get it right.



<!DOCTYPE html>
<html lang="en-us">
<head>
<link rel="stylesheet" type="text/css" href="./index.css">
<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">
</head>
<body>

<div class="container">
<h1 id="cities">Cities Of The World</h1>
<div class="city">
<h2>London</h2>
<p>London is the capital city of England.</p>
<p>It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
</div>

<div class="city">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
<p>The Paris area is one of the largest population centers in Europe, with more than 12 million inhabitants.</p>
</div>

<div class="city">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
<p>It is the center of the Greater Tokyo Area, and the most populous metropolitan area in the world.</p>
</div>

<div class="city">
<h2>New York</h2>
<p>The City of New York is the most populous city in the United States.</p>
<p>New York is an important center for international diplomacy and has been described as the cultural and financial capital of the world.</p>
</div>
</div>
</body>
</html>





#cities {
text-align: center;
padding: 20px;
}
.city {
display: inline-block;
margin: 10px;
padding: 15px;
max-width: 250px;
height: 300px;
border: 1px solid black;
}

Answer

Use CSS Flexbox:

Wrap your .city into a parent <div> (in my case .city-holder) a flex container. Like:

.city-holder {
  display: flex;
}

Have a look at the snippet below:

.city-holder {
  display: flex;
}
<!DOCTYPE html>
<html lang="en-us">
<head>
  <link rel="stylesheet" type="text/css" href="./index.css">
  <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">
</head>
<body>

<div class="container">
  <h1 id="cities">Cities Of The World</h1>
  <div class="city-holder">
  <div class="city">
    <h2>London</h2>
    <p>London is the capital city of England.</p>
    <p>It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
  </div>

  <div class="city">
    <h2>Paris</h2>
    <p>Paris is the capital of France.</p>
    <p>The Paris area is one of the largest population centers in Europe, with more than 12 million inhabitants.</p>
  </div>

  <div class="city">
    <h2>Tokyo</h2>
    <p>Tokyo is the capital of Japan.</p>
    <p>It is the center of the Greater Tokyo Area,  and the most populous metropolitan area in the world.</p>
  </div>

  <div class="city">
    <h2>New York</h2>
    <p>The City of New York is the most populous city in the United States.</p>
    <p>New York is an important center for international diplomacy and has been described as the cultural and financial capital of the world.</p>
  </div>
  </div>
</div>
</body>
</html>

Or use Bootstrap Grids:

Use col-xs-*, look at the snippet below:

<!DOCTYPE html>
<html lang="en-us">
<head>
  <link rel="stylesheet" type="text/css" href="./index.css">
  <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>

<div class="container">
  <h1 id="cities">Cities Of The World</h1>
  <div class="row">
  <div class="col-sm-3 city">
    <h2>London</h2>
    <p>London is the capital city of England.</p>
    <p>It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
  </div>

  <div class="col-sm-3 city">
    <h2>Paris</h2>
    <p>Paris is the capital of France.</p>
    <p>The Paris area is one of the largest population centers in Europe, with more than 12 million inhabitants.</p>
  </div>

  <div class="col-sm-3 city">
    <h2>Tokyo</h2>
    <p>Tokyo is the capital of Japan.</p>
    <p>It is the center of the Greater Tokyo Area,  and the most populous metropolitan area in the world.</p>
  </div>

  <div class="col-sm-3 city">
    <h2>New York</h2>
    <p>The City of New York is the most populous city in the United States.</p>
    <p>New York is an important center for international diplomacy and has been described as the cultural and financial capital of the world.</p>
  </div>
    </div>
</div>
</body>
</html>

Hope this helps!

Comments