读书人

div自动变宽的解决方法

发布时间: 2012-02-26 20:19:44 作者: rapoo

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> 

读书人网 >CSS

热点推荐