我是新来的HTML和CSS。对于我的一个项目,我需要在网页上将16张图像放入4x4的网格中。这些瓷砖之间不能有间隙,他们需要拉伸以将浏览器从一边延伸到另一边。他们也应该只能垂直滚动。我们只允许使用JavaScript或JQuery,因此我只能使用HTML和CSS。如何正确放置图像瓷砖,而不使用只有CSS的间隙或行间隙?
我写了4个div元素,每个代表一行;在每个div里面,一个span元素包含4个图像 - 这就是我制作4x4网格的方式。一个代码片段看起来是这样的:
/* One row in a div*/
<div class="map">
<span>
<img src="map_images/1.png">
<img src="map_images/2.png">
<img src="map_images/3.png">
<img src="map_images/4.png">
</span>
</div>
我也写了一个导航栏应漂浮在背景图像右上角是:
/* 4 div elements of 4 rows before this code*/
<div id="nav">
<div><a href="foo.html">Foo</a></div>
<div><a href="boo.html">Boo</a></div>
</div>
上面的代码,我的样式表看起来像这样:
.map{
margin:0;
padding:0;
}
#nav {
position: absolute;
top: 0;
right: 0;
z-index: 10;
}
但是,在这一点上我遇到了几个问题。
首先,我仍然有所有16个图像之间的列间隙和行间隙。无论我将地图边距和填充设置为什么值,都不会改变。我甚至尝试过负面的价值观,仍然没有改变。有人能告诉我如何解决这个问题,消除所有的差距?
其次,我Google搜索了解到z-index可以用来使div浮动到背景之上;然而,这里没有工作,似乎div #nav停留在右上角作为一个单独的div,占用空间,而不是浮动上面。对此有何建议?
你不能把'img'代码的'span' – dave
'IMG内{显示:块;}'将删除每个图像下方的余量。图像默认为内联块。然后,你可以添加'float:left;'使它们彼此相邻。不要忘记使用clearfix,否则你的div的高度会崩溃。 – StephenWidom
@StephenWidom谢谢!立即解决了这个问题;我也做了body {margin:0;},所以背景是从一边到另一边。根据下面的第一个答案解决了第二个问题。 – HoneyWine