html+css实现横排显示一系列图片,超出框格的自动换到下一行

由于我使用了模板,{userName}和{avatar}是通过javascript写的函数传过来的数组里的一系列数据,现在图片是竖排显示的,就是每行一张图,要怎么实现变成横排?
我现在的代码:
html:
<div class = "showUser" >
<div class = "userList">
<a href="./index.php?id={uid}">{userName}</a>
<a href="./index.php?id={uid}" ><img src = "/team5/v0.4/src/upload/_static/picture/avatar/{avatar}"></a>

</div>
</div>

CSS:
.showUser {
float:left;
width:100px;
background:#ccc;
overflow:hidden;
white-space:nowrap;
margin:10px;

}

.userList{
float:left;
}

javascript里的函数:

function getName()
{
global $DB,$mysql_prefix;

$nameArr = array();

$con = mysql_connect("localhost", "root", "admin");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db("micblog",$con);
$sql = "SELECT `UID`, `AVATAR`, `USERNAME` FROM `WEIQU_USERINFO`";

$result = mysql_query($sql,$con);

while($Re = mysql_fetch_array($result))
{
$nameArr[] = array(
"uid" => strip_tags($Re['UID']),
"userName" => strip_tags($Re['USERNAME']),
"avatar" => strip_tags($Re['AVATAR']),
);
}

$return['Name'] = $nameArr;

return $return;
}

因为你用的模板,传的是一个array,每循环一次生成一个DIV,所以要把循环开始<!-- BEGIN nameArr.Name -->放在<div class = "userList">前面,改成这样
========================================
html:
<div class="showUser">
<fieldset>
<legend>俱乐部成员</legend>

<!-- BEGIN nameArr.Name -->
<div class = "userList">
<p> </p>
<p><a href="./index.php?id={uid}">{userName}</a></p>
<!-- IF avatar = "" -->
<p><a href="./index.php?id={uid}" ><img src = "/team5/v0.6/upload/_static/picture/avatar/default.jpg"></a></p>
<!-- ELSE -->
<p><a href="./index.php?id={uid}" ><img src = "/team5/v0.6/upload/_static/picture/avatar/{avatar}"></a></p>
<!-- ENDIF -->
</div>
<!-- END nameArr.Name -->
</fieldset>
<div class="clear"></div>
</div>
==========================================
css:
.showUser{
width:780px;
padding:10px;
}

.showUser legend {
margin-bottom:20px;
font-size:200%;
}
.userList{
margin-bottom:5px;
word-break:break-all;
word-wrap:break-word;
float:left;
}

.userList img {
margin:5px 19.5px;
border:4px solid #d7e1ed;
display:block;
}

.userList a {
margin:5px 19.5px;
color:#444;
text-decoration:none;
}

.userList a:hover {
color:#888;
text-decoration:none;
}
===========================================
function getName()
{
global $DB,$mysql_prefix;

$nameArr = array();

$con = mysql_connect("localhost", "root", "admin");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db("micblog",$con);
$sql = "SELECT `UID`, `AVATAR`, `USERNAME` FROM `WEIQU_USERINFO`";

$result = mysql_query($sql,$con);

while($Re = mysql_fetch_array($result))
{
$nameArr[] = array(
"uid" => strip_tags($Re['UID']),
"userName" => strip_tags($Re['USERNAME']),
"avatar" => strip_tags($Re['AVATAR']),
);
}

$return['Name'] = $nameArr;

return $return;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-12
应该有设置你那个输出的图片的css的吧 或者你输出的时候加个DIV 然后在div上加上浮动,他就会横排,也会自动换行,要好看一点的话再加点margin什么的
第2个回答  2012-06-08
实现你要的效果很简单的,你把外面的div宽度改大些。还有很简单的布局就可以实现你要的效果。思路:外面一个div,里面是img,设置img的宽度,高度,再有margin。搞定
第3个回答  2015-10-09

1.利用Dreamweaver新建一个html页面

2.在body里面输入代码

<ul>

 <li>你好</li>

<li>小鱼</li>

<li>小小</li>

</ul>

3.默认的样式是这样的

4编辑li标签的css样式

5float:left代表的是元素左对齐。这样li标签就可以横排显示了,list-style:none用来去除li标签前面的小圆点。最终浏览器里面的效果如下图所示

第4个回答  2012-06-08
相当简单
<div style="width:100%">
<div class = "showUser" >
<div class = "userList"><a href="./index.php?id={uid}">{userName}</a><a href="./index.php?id={uid}" ><img src = "/team5/v0.4/src/upload/_static/picture/avatar/{avatar}"></a></div>
</div>
<div style="clear:both"></div>
</div>

html+css实现横排显示一系列图片,超出框格的自动换到下一行
因为你用的模板,传的是一个array,每循环一次生成一个DIV,所以要把循环开始<!-- BEGIN nameArr.Name -->放在<div class = "userList">前面,改成这样 === html:<div class="showUser"> <fieldset> <legend>俱乐部成员<\/legend> <!-- BEGIN nameArr.Name --> <div class = "userLis...

CSS + DIV 怎么让图片横向排列自动换行
functionshow_img(){varimg_char;var... 写了一段代码,输出图片,结果图片是出来了,可它是上下排列的,而且不会自动换行,,我想让它水平排列,当空间不够还会自动换行,该怎么修改??function show_img(){ var img_char; var a = 0; img_char = " [{\\"Picture\\":\\"图片base64\\"},{\\"Picture\\":\\"图...

用DIV+CSS中如何设置,超出就自动换行输出。
分析如下:html 正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义 css wrap{white-space:normal; width:200px; } 1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap : break-word ;或者word-break:break-all;实现强制断行 wrap{word-break:break-all; width:20...

用DIV+CSS中如何设置成超出就自动换行输出?
当定义的宽度之后自动换行\\x0d\\x0ahtml\\x0d\\x0a正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义\\x0d\\x0acss\\x0d\\x0a#wrap{white-space:normal;

利用CSS实现8张图片每2张图片为一排,后面的图片自动对齐到下一排的实 ...
有个办法是写8个div标记对,中间加img插入图片,然后设置float:left。第2、4、6个div设置css属性clear:right,这样就能够实现自动浮动成每2张图片为一排,后面的图片自动对齐的效果了

html怎么让多张图片在盒子里切换
具体步骤如下:1. 在HTML中,先创建一个盒子,用于显示图片。可以使用div标签创建一个容器,并设置宽度、高度、overflow:hidden属性,以便限制图片的显示范围。2. 在容器内部创建一个ul标签,用于存放所有的图片。每一张图片都需要使用li标签来包裹,并设置float:left属性,使其能够排列在一行。3. 在CSS...

内容超出div宽度后自动换行的css代码
一、word-wrap:normal|break-word(word-wrap属性允许长单词或URL地址换行到下一行)。 1、normal,只在允许的断字点换行(浏览器保持默认处理,默认值)。 2、break-word,在长单词或URL地址内部进行换行。 二、word-break:normal|break-all|keep-all(通过使用word-break属性,可以让浏览器实现在任意位置的换行)。 1...

DIV+CSS样式,li自动适应高度,自动换行,横向排列
css部分:nav{ margin: 0 auto;border: 2px solid #00CED1;} ul,li { margin: 0px;padding: 0px;list-style: none;} ul{ display: flex;flex-direction: row;flex-wrap: wrap;} li{ border: 1px solid;width: 100px; \/*每个元素的初始化宽度*\/ text-align: center;margin-top: 10...

HTML中,如何让超链接自动换行
这样就户独占一行,自动换行。工具原料:编辑器、浏览器 1、使用css改变a标签为块级元素实现自动换行的目的,代码如下:<a href="test.html" >test1<\/a><a href="test2.html">test2<\/a><style>a {display: block;}<\/style>2、运行的结果如下:...

div+css为什么我的图片不能自动换行,我想让他每行只显示三个产品,但是...
像这种图文混排的样式应该用dl dt dd标签来写,没有你的html代码看不太懂你怎么写的,第四张图片不换行的原因是因为图片所在的div宽度太宽了,你试着把他的宽度减小试试,这应该是ie出现的问题吧,Firefox不会出现,另外代码写的不够规范,标签名ui li 应该用小写,属性也是小写。

相似回答