响应网格中的图像

时间:2017-11-18 15:09:29

标签: html css

我在尝试创建网格菜单时遇到了问题,但我想添加图片图标而不是网格方格中的文字。

我创建了以下网格:enter image description here

以下是我使用的html和CSS:



.wrapper {
  display: grid;
  grid-template-columns: 150px 150px 150px;
  grid-template-rows: 150px 150px 150px;
  grid-gap: 50px;
  color: #444;
}

img {
  float: inherit;
  padding: 10px;
  height: inherit;
  width: inherit;
}

.box {
  background-color: #444;
  color: #fff;
  border-radius: 10px;
  padding: 20px;
  font-size: 150%;
}

<div class="wrapper">
  <div class="box a"><img src="https://lorempixel.com/400/400" /></div>
  <div class="box b">B</div>
  <div class="box c">C</div>
  <div class="box d">D</div>
  <div class="box e">E</div>
  <div class="box f">F</div>
</div>
&#13;
&#13;
&#13;

如上图所示,添加带图片的图像不会让图标位于网格框中。

我不太了解CSS。请协助。

2 个答案:

答案 0 :(得分:2)

您需要在CSS中执行此操作...

.box img {
    max-width: 100%;
    width: auto;
    height: auto;
    /* @VxP stated this: */
    display: block;
}

...对于这个HTML:

<div class="box">
    <img src="" alt="">
</div>

我创造了一个小提琴来证明这一点:

.wrapper {
display: grid;
grid-template-columns: 150px 150px 150px;
grid-template-rows: 150px 150px 150px;
grid-gap: 50px;

color: #444;
}

img {
    float:inherit;
    padding:10px;
    height: inherit;
    width: inherit;
}

.box {
    background-color: #444;
    color: #fff;
    border-radius: 10px;
    padding: 20px;
    font-size: 150%;

}

/* My code */


.box img {
    max-width: 100%;
    width: auto;
    height: auto;
    /* @VxP stated this: */
    display: block;
}

* {
  box-sizing: border-box;
}
<div class="wrapper">
<div class="box a"><img src="http://lorempixel.com/400/400/" /></div>
<div class="box b">B</div>
<div class="box c">C</div>
<div class="box d">D</div>
<div class="box e">E</div>
<div class="box f">F</div>
</div>

PS:也许您需要box-sizing: border-box才能使此工作100%正确。我将其添加到上面的代码段中。

答案 1 :(得分:1)

图片的以下css代码就足够了。

img {
    width: 100%;
    height: 100%;
}