我有一些PHP会输出一组图像。如果我这样写的话
foreach( $data as $inform ) {
{if (isset($inform['file1'])) {
echo '<img src="'.$inform['file1'].'"><br><br>';
}
}
它将在数组$ inform ['file1']中显示4个不同的图像,每个图像之间有2个换行符,但是如果我想将它们放在页面上,就像这样
foreach( $data as $inform ) {
if ( isset( $inform['file1'] ) ) {
echo '<div style="position:absolute; top:400px;"><img src="'.$inform['file1'].'"><br><br>
</div>';
}}
然后它将所有4张图像显示在彼此之上,但位于正确的位置。
我已尝试在css中设置样式并且没有任何效果。任何人都可以帮助新手学习这个吗?
提前致谢。
答案 0 :(得分:1)
这与你的foreach循环无关。你实际上是在告诉图像相互重叠,这就是他们正在做的事情。如果您想在顶部添加间距,请在图像周围放置一个容器div并执行margin-top: 400px;
。
答案 1 :(得分:0)
你的练习很糟糕,但如果你必须:
foreach($data as $inform){
if(isset($inform['file1'])) {
echo "<div><img src='{$inform['file1']}' /></div><br /><br />";
}
}
当然,这也会在最后一个之后增加两个休息时间。您不能使用相同的position:absolute
在不同的地方拥有多个项目,因为它们都将相对于上一个position:relative
。无论如何,你应该使用CSS。
#PHP
foreach($data as $inform){
if(isset($inform['file1'])) {.
echo "<div class='someClass'><img src='{$inform['file1']}' /></div";
}
}
/*CSS*/
.someClass{
margin-top:10px;
}
答案 2 :(得分:0)
你最大的问题是:
元素的样式和定位应通过CSS管理(最好不是内联CSS)。
你的PHP应该是:
if( count( $data ) ){
echo '<div class="file1_container">';
# If there are elements in the $data array
foreach( $data as $inform ){
if( isset( $inform['file1'] ) ){
echo '<img src="'.$inform['file1'].'" />';
}
}
echo '</div>';
}else{
# No elements in the $data array
}
你的CSS可能就像:
.file1_container {
position:absolute;
left:0;top:400px;right:0;
text-align:center;
}
这将定位一个DIV,其中包含距离原点400px的所有图像,其中的IMG将位于同一水平线上,与DIV的中心对齐。