css 均匀地间隔图像库

oprakyz7  于 2023-05-02  发布在  其他
关注(0)|答案(3)|浏览(133)

我有一个图片库,每个图片都有相同的宽度和高度,比如10 px。我希望他们的间隔,使有5行,他们每个5 px分开,在所有方面。容器div有5 px的填充。有多行!
我的问题是,如果我给予每个图像5 px的左边距,那么:
a)容器div的大小适合,因此只有4个图像适合一行,因为第五个边距将其分流到下一行。
B)容器div的大小增加了5 px,导致每行末尾都有一个额外的间隙。
我应该如何设计我的图片,使它们都适合正确的行,没有任何丑陋的差距不改变容器填充

njthzxwz

njthzxwz1#

您希望在图像div上有右边距和下边距,在容器div上有上边距和左边距。
CSS:

.container {
    padding: 5px 0 0 5px;
    background-color: green;
    width: 75px;
    position: relative;
    overflow: hidden;
}

.image {
    margin-right: 5px;
    margin-bottom: 5px;
    float:left;
    width:10px;
    height:10px;
    background-color: red;
}

HTML:

<div class="container">
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
    <div class="image"></div>
</div>​

查看实际操作:http://jsfiddle.net/RP9Cg/
我只是重新阅读了你的问题,我看到了“不改变容器的填充”位。如果你绝对必须在容器的所有侧面都有5px的填充(不知道为什么,也许你可以说),你将需要一些额外的样式为你的图像是最后在每一行和所有图像在最后一行的画廊。查看一个可能的解决方案:http://jsfiddle.net/T3HrJ/

t30tvxxf

t30tvxxf2#

我自己对html和css还是相当陌生的,尽管当我想做这件事的时候,我包括了

text-align:center;

在那个div的css文件中,这似乎起作用了。值得一试!

lvjbypge

lvjbypge3#

无论您使用什么代码循环来生成图像标记,都可以使用模运算符为每个图像分配一个列索引的CSS类。然后在你的样式中,你可以做一些事情,比如关闭第一列中每个图像的左边距。
循环输出的伪代码:

for ( $i=0; $i<gallerySize; $i++ ) {
    echo '<img class="galleryimage gridcolumn' . ($i%5) . '" src="blahblah.gif">';
}

然后,你可以使用这样的CSS规则来更改每行中的第一项:

img.galleryimage { margin: 5px; }
img.gridcolumn0 { margin-left: 0px; }

相关问题