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

div自动变宽的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <title>map.html</title>

  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="this is my page">
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   
  <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  </head>
  
  <body>
<style type="text/css">
#info{border:1px solid darkblue;width:20px;background:azure;padding:6px 6px;font-size:12px;}
#info dl{width:auto;}
</style>
<div id="info">
<dl>
<dt>北京
<dd>卡吗</dd>
<dd>模拟</dd>
<dd>炮打灯</dd>
</dt>
<dt>北京
<dd>卡吗</dd>
<dd>模拟</dd>
<dd>炮打灯</dd>
</dt>
</dl>
</div>
  </body>
</html>

有个Div的块,里面是两个竖向列表,列表行的宽度不定 <dd>模拟</dd> 有可能也是这个 <dd>模拟模拟模拟模拟模拟模拟</dd>
那么怎么让Div这个块自动随着内容列的宽的变化而变化(不发生折行现象)

上边的示例中,我把id=info的宽度定义为20,内容行被挤窄,定义为200,div又太宽,所以怎么设定它能自动的适应内容行宽度

------解决方案--------------------
1.你的<dl>嵌套不对,<dt>和<dd>是平级的,不是嵌套的关系;
2.浮动可以让<div>的宽度被压缩,以其子元素宽度为准,但是,浮动会对旁边的元素产生影响,因此还要根据实际情况调整其它的css,同样效果的属性还有绝对定位。
HTML code

<!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">
#info{
 border:1px solid darkblue;
 float:left;
 background:azure;
 padding:6px 6px;
 font-size:12px;
}
#info dl{
white-space:nowrap;
}
</style> 
</head>

<body>
<div id="info">
  <dl>
    <dt> 北京</dt>
    <dd> 卡吗 </dd>
    <dd> 模拟模拟模拟模拟模拟模拟模拟 </dd>
    <dd> 炮打灯 </dd>
    <dt> 北京</dt>
    <dd> 卡吗 </dd>
    <dd> 模拟 </dd>
    <dd> 炮打灯 </dd>
   </dl>
 </div> 
</body>
</html>