div+css为啥我的图片不能自动换行,我想让他每行只显示三个产品,但是第四个产品就是不往下面走

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了div+css为啥我的图片不能自动换行,我想让他每行只显示三个产品,但是第四个产品就是不往下面走相关的知识,希望对你有一定的参考价值。

#wl_contain-2 width:850px; float:left; margin-top:10px; padding-left:1px; padding-right:5px; display:inline;
#wl_contain-2 UL float:left; width:650px;
COLOR: #fff; margin-left:-15px; list-style-type:none; margin-bottom:8px;

#wl_contain-2 UL LI A:visited
COLOR: #3399FF;
#wl_contain-2 UL LI A:hover
COLOR: #ff0000

#wl_contain-2 UL LI
LINE-HEIGHT: 26px;
PADDING-LEFT: 30px;
WIDTH: 650px;
background-image: url(d3.jpg);
background-repeat: no-repeat;
background-position: 10px center;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #D9D9D9;
float:left;

参考技术A 像这种图文混排的样式应该用dl dt dd标签来写,没有你的html代码看不太懂你怎么写的,第四张图片不换行的原因是因为图片所在的div宽度太宽了,你试着把他的宽度减小试试,这应该是ie出现的问题吧,Firefox不会出现,另外代码写的不够规范,标签名ui li 应该用小写,属性也是小写。 参考技术B 赞同一楼的观点:标签名和属性最好小写,可能问题出在ul的宽度太大和margin值偏大,你将div,ul,的border设置一下就可以清楚的看到宽度是否设置合适,然后调试,差不多就能实现效果了。

如果还不可以,就贴出你的html代码,希望能帮助到你!
参考技术C <style type="text/css">
#wl_contain-2

width: 700px;
float: left;
margin-top: 10px;
padding-left: 1px;
padding-right: 5px;
display: inline;


#wl_contain-2 UL

float: left;
width: 690px;
color: #fff;
margin-left: 20px;
list-style-type: none;
margin-bottom: 8px;


#wl_contain-2 UL LI A:visited

color: #3399FF;


#wl_contain-2 UL LI A:hover

color: #ff0000;


#wl_contain-2 UL LI

line-height: 26px;
padding-right: 30px;
width: 200px;
background-image: url(d3.jpg);
background-repeat: no-repeat;
background-position: 10px center;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #D9D9D9;
float: left;

#wl_contain-2 UL LI img width:200px; height:100px; border:none;
</style>
</head>
<body>
<div id="wl_contain-2">
<ul>
<li>
<img alt="" src="" /></li>
<li>
<img alt="" src="" /></li>
<li>
<img alt="" src="" /></li>
</ul>
<ul>
<li>
dsafa</li>
<li>
asdfaf</li>
<li>
dsfaf</li>
</ul>
<ul>
<li>
<img alt="" src="" /></li>
<li>
<img alt="" src="" /></li>
<li>
<img alt="" src="" /></li>
</ul>
<ul>
<li>
dsafaf</li>
<li>
dsfafa</li>
<li>
dsaafadf</li>
</ul>
<ul>
<li>
<img alt="" src="" /></li>
<li>
<img alt="" src="" /></li>
<li>
<img alt="" src="" /></li>
</ul>
<ul>
<li>
erwtw34</li>
<li>
dsfsge4</li>
<li>
dgewrg</li>
</ul>
</div>
</body>
是这种效果吗?
参考技术D 楼上正解之一~

dw做的一个网页,调用数据库的内容,英文字母为啥不能自动换行啊?

如题,我在网上查了几个解决办法,如http://zhidao.baidu.com/question/8363109.html和http://zhidao.baidu.com/question/41388174.html?fr=qrl
但是均不能解决问题,这是为什么啊?
请高手指教一下,谢谢了!在线等,解决了立即奉上分数!

动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法

对于div,p等块级元素
正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行
html
<div id="wrap">正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义</div>
css
#wrapwhite-space:normal; width:200px;

1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap : break-word ;或者word-break:break-all;实现强制断行

#wrapword-break:break-all; width:200px;
或者
#wrapword-wrap:break-word; width:200px;

<div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>

效果:可以实现换行

2.(Firefox浏览器)连续的英文字符和阿拉伯数字的断行,Firefox的所有版本的没有解决这个问题,我们只有让超出边界的字符隐藏或者,给容器添加滚动条

#wrapword-break:break-all; width:200px; overflow:auto;

<div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>

效果:容器正常,内容隐藏

对于table

1. (IE浏览器)使用 table-layout:fixed;强制table的宽度,多余内容隐藏

<table style="table-layout:fixed" width="200">
<tr>
<td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss
</td>
</tr>
</table>

效果:隐藏多余内容

2.(IE浏览器)使用 table-layout:fixed;强制table的宽度,内层td,th采用word-break : break-all;或者word-wrap : break-word ;换行

<table width="200" style="table-layout:fixed;">
<tr>
<td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz 1234567890
</td>
<td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz 1234567890
</td>
</tr>
</table>

效果:可以换行

3. (IE浏览器)在td,th中嵌套div,p等采用上面提到的div,p的换行方法

4.(Firefox浏览器)使用 table-layout:fixed;强制table的宽度,内层td,th采用word-break : break-all;或者word-wrap : break-word ;换行,使用overflow:hidden;隐藏超出内容,这里overflow:auto;无法起作用

<table style="table-layout:fixed" width="200">
<tr>
<td width="25%" style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
<td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
</tr>
</table>

效果:隐藏多于内容

5.(Firefox浏览器) 在td,th中嵌套div,p等采用上面提到的对付Firefox的方法
运行代码框
最后,这种现象出现的几率很小,但是不能排除网友的恶搞。如果有什么问题请到我的留言本提出

下面是提到的例子的效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>字符换行</title>
<style type="text/css">
table,td,th,div border:1px green solid;
code font-family:"Courier New", Courier, monospace;
</style>
</head>
<body>
<h1><code>div</code></h1>
<h1><code>All white-space:normal;</code></h1>
<div style="white-space:normal; width:200px;">Wordwrap still occurs in a td element that has its WIDTH attribute set to a value smaller than the unwrapped content of the cell, even if the noWrap property is set to true. Therefore, the WIDTH attribute takes precedence over the noWrap property in this scenario</div>

<h1><code>IE \ word-wrap : break-word ;</code></h1>
<div style="word-wrap : break-word ; width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
<h1><code>IE \ word-break:break-all;</code></h1>
<div style="word-break:break-all;width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>

<h1><code>Firefox/ word-break:break-all; overflow:auto;</code></h1>
<div style="word-break:break-all; width:200px; overflow:auto;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
<h1><code>table</code></h1>
<h1><code>table-layout:fixed;</code></h1>
<table style="table-layout:fixed" width="200">
<tr>
<td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>
</tr>
</table>
<h1><code>table-layout:fixed; word-break : break-all; word-wrap : break-word ;</code></h1>
<table width="200" style="table-layout:fixed;">
<tr>
<td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>
<td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>
</tr>
</table>
<h1><code>FF \ table-layout:fixed; overflow:hidden;</code></h1>
<table style="table-layout:fixed" width="200">
<tr>
<td width="25%" style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
<td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
</tr>
</table>
</body>
</html>
参考技术A 解决FF和IE长字符串撑开父容器,不折行问题

参考资料:http://www.u6u8.net/blog/article.asp?id=878

本回答被提问者采纳
参考技术B 你把表格的宽度 的值限定 在试试看

以上是关于div+css为啥我的图片不能自动换行,我想让他每行只显示三个产品,但是第四个产品就是不往下面走的主要内容,如果未能解决你的问题,请参考以下文章

html 有的标签前面会有个自动换行,怎么才能让他不自动换行

dw做的一个网页,调用数据库的内容,英文字母为啥不能自动换行啊?

css设置了强制不换行,但是为啥遇到右括号或者空格还是自动换行

bootstrap2 的图片轮播,如何自动播放?

为啥用在线编辑器输入的文字,显示出来的时候不能自动换行,而正常的文本框输入的就能自动换行。特别是

我如何为我的页面提供一个div,不仅可以显示背景图片,而且可以填充页面的其余部分?