Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html中元素之间的间距_Html_Css - Fatal编程技术网

html中元素之间的间距

html中元素之间的间距,html,css,Html,Css,假设我在一个html页面中有9个IMG。当浏览器的视口更改时,它们将按任意数量的行或单元格重新排列。我想要的是,它们之间的空间是5,但在最后一行或最后一列之后没有边距 边距不合适,因为它也给出了最后一行或最后一列的边距。在CSS中使用:last child或:first child指令。 例如: #images { padding-left: 10px; padding-right: 10px; } #images:last-child, #images:first-child {

假设我在一个html页面中有9个IMG。当浏览器的视口更改时,它们将按任意数量的行或单元格重新排列。我想要的是,它们之间的空间是5,但在最后一行或最后一列之后没有边距


边距不合适,因为它也给出了最后一行或最后一列的边距。

在CSS中使用:last child或:first child指令。 例如:

#images
{
  padding-left: 10px;
  padding-right: 10px;
}
#images:last-child, #images:first-child
{
  padding: 0px;
}
如果使用PHP或其他服务器端脚本语言生成HTML输出,则最好将ID(或类)分配给第一个和最后一个元素,而不是使用伪选择器

如果您真的愿意,也可以将两者结合起来。

.images{
填充:0;
保证金:0;
边界:0;
}
我知道您可能使用了Firebug并发现没有边框,但我遇到了相同的问题,添加了
边框:0完全消除了所有间距,而无需从代码中删除回车符


希望它能帮助别人

您可以编写代码来显示具有所需页边距的某些图像行,然后在不希望应用页边距的图像上链接一个类并提供不同的样式。您还可以使用
:not
伪元素

HTML

<div class="image-margin">
<img src="whatyouwant">
<img src="whatyouwant">
<img src="whatyouwant">
<img src="whatyouwant" class="image-no-margin">
</div>
此代码意味着您将边距0px应用于具有类image no margin的图像,并将您定义的其他样式(底部和右侧为5px边距)应用于所有其他图像(非图像no margin)

伪元素
:not
仅受Internet Explorer 9+、最新版本的Firefox、Chrome、Safari和Opera支持。您可以使用名为的javascript库添加对Internet Explorer 6+的支持

您只需下载该库并将其包含在网页的
标题中即可:

<script type="text/javascript" src="[JS library]"></script>
<!--[if (gte IE 6)&(lte IE 8)]>
  <script type="text/javascript" src="selectivizr.js"></script>
  <noscript><link rel="stylesheet" href="[fallback css]" /></noscript>
<![endif]-->


您必须在最后一张图像中添加一个类以覆盖边距。这可以跨浏览器使用。你能提供你的HTML代码吗?但它在主要浏览器中受支持:@user603003不,它不是:(虽然它是最符合标准的解决方案)@user603003如果w3schoolzzz是生命、宇宙和一切的答案,那么它是受支持的。;)那不行。考虑有3行,3科尔。3最后一行的img不得有底部边距。最后一列的3 img不能有右边距。视口更改时,情况会变得更糟。可能是2列和5行,最后一行只有一个元素。这样,第n个元素也不会起作用。@Ali:是的,我在发布后意识到;)但是在CSS中有什么方法可以做到这一点吗?
<script type="text/javascript" src="[JS library]"></script>
<!--[if (gte IE 6)&(lte IE 8)]>
  <script type="text/javascript" src="selectivizr.js"></script>
  <noscript><link rel="stylesheet" href="[fallback css]" /></noscript>
<![endif]-->