日期:2014-05-17  浏览次数:20948 次

css中设置的宽度width不起作用是为什么?
为了说明问题,我把出现问题的html源码贴出来(希望不要被这么长的代码吓倒,问题只集中在一小部分上,注意注释部分):
========================================
<!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>
<title> 测试CSS </title>
<style   type= "text/css ">
.list1{
margin:0;
padding:0;
width:400px;
border:1px   solid   blue;
}
.list1   dl{
margin:0;
padding:0;
}
.list1   dl   dt{
margin:0;
padding:0;
font-weight:bold;
background:#eef;
}
.list1   dl   dd{
margin:0;
padding:0;
}
.list1   dl   dd   ul{
margin:0;
padding:0;
}
.list1   dl   dd   ul   li{
list-style:   none;
}
.list1   dl   dd   ul   li   .item1{
width:150px;   /*这里已经设置了宽度,但是.item1项没有起作用*/
border:1px   dashed   blue;
}
.list1   dl   dd   ul   li   .item2{
width:200px;   /*这里已经设置了宽度,但是.item2项没有起作用*/
border:1px   dashed   blue;
}
</style>
</head>
<body>
<div   class= "list1 ">
<dl>
<dt> 表格标题 </dt>
<dd>
<ul>
<li> <span   class= "item1 "> 列一 </span> <span   class= "item2 "> 列二 </span> </li>
<li> <span   class= "item1 "> 列一 </span> <span   class= "item2 "> 列二 </span> </li>
</ul>
</dd>
</dl>
</div>
</body>
</html>
==============================================================
以上为html代码.

问题:如代码注释项所说明的.在css样式表中已经指明了.item1   和.item2两列的width宽度值,但是在IE7.0和FireFox下浏览测试时,发现这个宽度值并没有生效.这是为什么?如何解决这个问题?

------解决方案--------------------
span是内联元素,要设置宽度,除非block或float