Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Image fitting in css grid

I am not really familiar with HTML and CSS and I am having some problems with fixing my problem.

I am trying to fit the picture excatly on the grid and the grid to be visible in the center of the page which actually it is.

I saw that there are a lot of questions about this and I tried to look at the answers the questions got and try to fix my problem but it was actually not working. So I hope anyone can help me with this.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Thank you in advance for your time.

 <!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="index.css">
</head>
<body>
    <div class="grid-container">
        <div class="grid-item"><img src="6.png" class="img"></div>
        <div class="grid-item"></div>
        <div class="grid-item"><img src="3.png" class="img"> </div>
        <div class="grid-item"></div>  
        <div class="grid-item"><img src="3.png" class="img"></div>
        <div class="grid-item"></div>
        <div class="grid-item"><img src="7.png" class="img"></div>  
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"></div>  
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"></div>  
        <div class="grid-item"></div>
        <div class="grid-item"><img src="2.png" class="img"></div>
        <div class="grid-item"></div> 
        <div class="grid-item"><img src="2.png" class="img"></div>
        <div class="grid-item"></div>  
        <div class="grid-item"><img src="3.png" class="img"></div>
        <div class="grid-item"></div>
        <div class="grid-item"><img src="4.png" class="img"></div>  
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"></div>  
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"></div> 
        <div class="grid-item"></div>
        <div class="grid-item"><img src="2.png" class="img"></div>
        <div class="grid-item"></div> 
        <div class="grid-item"><img src="5.png" class="img"></div>
        <div class="grid-item"></div>  
        <div class="grid-item"><img src="4.png" class="img"></div>
        <div class="grid-item"></div>
        <div class="grid-item"><img src="4.png" class="img"></div>  
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"></div>  
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"></div>
        <div class="grid-item"><img src="8.png" class="img"></div>
        <div class="grid-item"></div> 
        <div class="grid-item"><img src="5.png" class="img"></div>
        <div class="grid-item"></div>  
        <div class="grid-item"><img src="5.png" class="img"></div>
        <div class="grid-item"></div>
        <div class="grid-item"><img src="9.png" class="img"></div>  
      </div>
</body>
</html>

CSS

.grid-container {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background-color: #8B38BE;
  padding: 70px;
  margin: auto;
  width: 700px;

}
.grid-item {
  background-color: #E0E7FF;
  border: 1px solid black;
  padding: 40px;
  text-align: center;
}
.grid-item > img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

>Solution :

Okay you can do it like this:

.grid-container {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background-color: #8B38BE;
  padding: 70px;
  margin: auto;
  width: 700px;

}
.grid-item {
  background-color: #E0E7FF;
  border: 1px solid black;
  padding: 40px;
  text-align: center;
  position:relative;
}
.grid-item > img {
  width: 100%;
  object-fit: cover;
  display: block;
  object-fit: cover;
  position:absolute;
  left: 0;
  top: 0;
  height: 100%;
}

So in this case, you are placing img to be absolute and to have height and width same as grid-item. But then you will add object-fit which will make image fit nicely inside grid-item.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading