Div的堆叠在一起?

时间:2013-09-06 20:43:40

标签: html css

我创建了一个代码,创建了3个div,其中包含图像和超链接。但是,每个div应该有一个200px的填充权限,这不能在CSS中完成,因为我尝试了它并没有用,奇怪的是。所以这三个div是相互堆叠的,而它们应该彼此分开200px的空间。请帮忙

代码:

<?php
    define('RANDOM_IMAGES_COUNT2',3);
    define('RANDOM_IMAGES_FORMAT2', '<div id="rand%s" style="width:170px;height:1px; float:left;text-align:center;top"><img src="%s" style="border-style:solid;border-width:2px;border-color:black;"/><a href="%s" alt="%s" title2="%s">%s</a></div>');


#------------------------------------------------------------------------------

$images = array (
    array ( 'title2' => 'Test 2', 'src2' => 'pic2.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello' ),
    array ( 'title2' => 'Test 2', 'src2' => 'pic7.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello2' ),
    array ( 'title2' => 'Test 2', 'src2' => 'pic9.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello2' ), 
    array ( 'title2' => 'Test 2', 'src2' => 'pic5.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello2' ),     
    array ( 'title2' => 'Test 2', 'src2' => 'pic3.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello3' )
);

#------------------------------------------------------------------------------

if ( count($images) < RANDOM_IMAGES_COUNT2 ) {
    trigger_error('Not enough images given', E_USER_WARNING);
    exit;
}

 #------------------------------------------------------------------------------

for ($i = 0; $i < RANDOM_IMAGES_COUNT2; $i++) {
    shuffle($images);

    $tmp = array_shift($images);
    printf( RANDOM_IMAGES_FORMAT2,$i, $tmp['src2'], $tmp['href2'], $tmp['title2'],     $tmp['title2'],$tmp['text2'] );    }
?>

3 个答案:

答案 0 :(得分:0)

在CSS中使用margin-right:200px;

答案 1 :(得分:0)

我认为一个可行的解决方案是将padding-right: 200px;添加到define('RANDOM_IMAGES_FORMAT2'内的样式块中。

答案 2 :(得分:0)

你的问题在这一行:

 define('RANDOM_IMAGES_FORMAT2', '<div id="rand%s" style="width:170px;height:1px; float:left;text-align:center;top"><img src="%s" style="border-style:solid;border-width:2px;border-color:black;"/><a href="%s" alt="%s" title2="%s">%s</a></div>');

我真的会在DIV标签上使用CSS样式而不是内联样式...但除此之外,float:left属性会导致容器具有位置:绝对值并拉到相同的左侧位置。相反,删除float:left,删除DIV容器上的边距,然后使用右边距:50px或你希望它们间距的任何距离。