我有一个图像列表(不在列表中,但可能是可以解决问题),我想填充div的整个宽度。我已经尝试了底部的代码,虽然它确实证明了p标签中的任何文本,但它对图像没有做同样的事情。如何让它在div的整个宽度上均匀分布图像?
<div>
<p>
<img src="image1.png" alt="foo" />
<img src="image2.png" alt="foo" />
<img src="image3.png" alt="foo" />
<img src="image4.png" alt="foo" />
<img src="image5.png" alt="foo" />
</p>
</div>
我的CSS:
div { width: 30em; }
p { text-align: justify; }
答案 0 :(得分:18)
最简单的方法是:
<style>
.justify-image{ text-align: justify;}
.justify-image img{display:inline-block;}
.justify-image:after{content:""; display: inline-block; width: 100%; height: 0;}
</style>
<p class="justify-image">
<img src="/path/img.jpg" alt="my image">
<img src="/path/img.jpg" alt="my image">
<img src="/path/img.jpg" alt="my image">
<img src="/path/img.jpg" alt="my image">
<img src="/path/img.jpg" alt="my image">
<img src="/path/img.jpg" alt="my image">
</p>
*:之后: 不要忘记内容:&#34;&#34 ;;没有它它不会出现。在我的例子中,我使用了内联块,宽度为100%。它总是会在我的段落中的内容之后断开。
快乐的编码! :)
答案 1 :(得分:4)
因为在之前的答案中没有人提及。现在(2017年)和前一段时间,你可以使用CSS3 flexbox
,通过应用属性justify-content:space-between
div {
display: flex;
justify-content: space-between
}
<div>
<img src="//placehold.it/50" alt="foo" />
<img src="//placehold.it/50" alt="foo" />
<img src="//placehold.it/50" alt="foo" />
<img src="//placehold.it/50" alt="foo" />
<img src="//placehold.it/50" alt="foo" />
</div>
答案 2 :(得分:3)
图像以内嵌方式显示,因此您也可以使用text-align:justify css属性将图像与css对齐。正如其他人所说,如果你想证明最后一行的合理性,你必须插入一些占据图像列表末尾全宽的排序或空白图像。
请参阅http://fiddle.jshell.net/ewv6K/show/
<!DOCTYPE html>
<title>
Justified Images example
</title>
<style>
body {
text-align:center;
}
#container {
width:800px;
text-align:justify;
margin-left:auto;
margin-right:auto;
}
#force {
width:100%;
height:0px;
}
</style>
<div id="container">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/AfricanWildCat.jpg/220px-AfricanWildCat.jpg" alt="cat 1">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/WhiteCat.jpg/220px-WhiteCat.jpg" alt="cat 2">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Ojo_de_gata_trim.jpg/220px-Ojo_de_gata_trim.jpg" alt="cat 3">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Scheme_cat_anatomy-en.svg/220px-Scheme_cat_anatomy-en.svg.png" alt="cat 4">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Olhos_de_um_gato-3.jpg/220px-Olhos_de_um_gato-3.jpg" alt="cat 5">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Listen%2C_do_you_want_to_know_a_secret.jpg/220px-Listen%2C_do_you_want_to_know_a_secret.jpg" alt="cat 6">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/AfricanWildCat.jpg/220px-AfricanWildCat.jpg" alt="cat 1">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/WhiteCat.jpg/220px-WhiteCat.jpg" alt="cat 2">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Ojo_de_gata_trim.jpg/220px-Ojo_de_gata_trim.jpg" alt="cat 3">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Scheme_cat_anatomy-en.svg/220px-Scheme_cat_anatomy-en.svg.png" alt="cat 4">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Olhos_de_um_gato-3.jpg/220px-Olhos_de_um_gato-3.jpg" alt="cat 5">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Listen%2C_do_you_want_to_know_a_secret.jpg/220px-Listen%2C_do_you_want_to_know_a_secret.jpg" alt="cat 6">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/AfricanWildCat.jpg/220px-AfricanWildCat.jpg" alt="cat 1">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/WhiteCat.jpg/220px-WhiteCat.jpg" alt="cat 2">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Ojo_de_gata_trim.jpg/220px-Ojo_de_gata_trim.jpg" alt="cat 3">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Scheme_cat_anatomy-en.svg/220px-Scheme_cat_anatomy-en.svg.png" alt="cat 4">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Olhos_de_um_gato-3.jpg/220px-Olhos_de_um_gato-3.jpg" alt="cat 5">
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Listen%2C_do_you_want_to_know_a_secret.jpg/220px-Listen%2C_do_you_want_to_know_a_secret.jpg" alt="cat 6">
<!-- Force the last row to be justifed - use a blank image here, not a real one like I have -->
<img id="force" src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Olhos_de_um_gato-3.jpg/220px-Olhos_de_um_gato-3.jpg" alt="end">
</div>
答案 3 :(得分:2)
在对齐文本中,段落中的最后一行文本未展开以填充整个宽度。因此,要使内嵌图像展开,您需要足够的内容将段落拉出两行或更多行,例如:
<div>
<p>
<img src="image1.png" alt="foo" />
<img src="image2.png" alt="foo" />
<img src="image3.png" alt="foo" />
<img src="image4.png" alt="foo" />
<img src="image5.png" alt="foo" />
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
</p>
</div>
(或其他一些同样丑陋但不太明显的版本涉及
。)这是一个讨厌的黑客攻击。
答案 4 :(得分:2)
我意识到这已经过时,但我想我会添加一个简单的解决方案
text-align: justify
仅在有多行时才有效(如果在文本段落上使用此行,则会看到最后一行不合理)。这个小jQuery扩展将为你想要证明的元素添加一个不可见的元素,因此,你的图像将被均匀地传播:
$.fn.justify = function() {
$(this).css("text-align", "justify");
$(this).append("<span style='display: inline-block;visibility: hidden;width:100%'></span>");
}
然后您需要做的就是致电:
$("#your-element").justify();
答案 5 :(得分:0)
这个javascript会将图片从中间和边缘传播到div:
var container = document.getElementById("imageContainer");
var imageList = container.getElementsByTagName("img");
var totalWidth = container.offsetWidth;
var sliceWidth = totalWidth/imageList.length;
for( i = 0; i < imageList.length; i++)
{
var totalMargin = sliceWidth - imageList[i].offsetWidth;
var margin = totalMargin / 2;
imageList[i].style.margin = "0px " + margin + "px 0px " + margin + "px"
}
该脚本有很多内容;
您当然可以添加对可变图像宽度等的支持,但这并不属于此范围。
如果添加或删除图像,此脚本将均匀分布图像。如果图像的总宽度大于div的宽度,则会有包装。
希望它有所帮助!
答案 6 :(得分:0)
<!-- not elegant -->
<div style="color:backgroundcolor">
<p>
<img src="image1.png" alt="foo"
/><em>.</em>
<img src="image2.png" alt="foo"
/><em>.</em>
<img src="image3.png" alt="foo"
/><em>.</em>
<img src="image4.png" alt="foo"
/><em>.</em>
<img src="image5.png" alt="foo" />
</p>
</div>
My CSS:
div { width: 30em; }
p { text-align: justify; }