如下面代码:
1 <dl class="dl" style="width:218px;"> 2 <dd> 3 <a href="">国学</a> 4 <a href="">国学</a> 5 <a href="">国学</a> 6 <a href="">国学</a> 7 <a href="">国学入门</a> 8 <a href="">国学著作</a> 9 <a href="">国学</a> 10 <a href="">国学</a> 11 <a href="">国学</a> 12 <a href="">国学著作</a> 13 </dd> 14 </dl>
如果我dd这个原始的宽度超过了218px,那就自动分成几个dd元素,直到条件满足...
求指教...
我不知道你为什么要这么做!但是还是有办法解决的 :)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>DL- DT - DD</title> </head> <body> <dl id="ddWrapper" class="dl" style="width:218px;"> <dd id="wrapper" style="margin:0;"> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> <a href="">国学</a> </dd> </dl> </body> <script type="text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> (function(){ window.cl = window.console? console.log: alert; var dd = $('#wrapper').css('margin',0); var datumLine = getOffsetLeft(dd); var units = dd.find('a'); var perlineNum = 0; units.each(function(k,v){ var unitMaringLeft = getOffsetLeft($(v)); var unitOffsetLeftInWrapper = unitMaringLeft-datumLine; if(unitOffsetLeftInWrapper == 0 && k){ var headIndex = units.index(v); perlineNum = perlineNum? perlineNum : headIndex; newDD(headIndex); } }); function getOffsetLeft(e){ return e.offset().left; } function newDD(index){ var ddWrapper = $('#ddWrapper'); var lastDDbeforeAppend = ddWrapper.children(':last'); var newDDhtml = '<dd class="aWrapper" style="margin:0;"></dd>'; ddWrapper.append(newDDhtml); lastDDbeforeAppend.find('a:gt('+(perlineNum-1)+')').appendTo($('#ddWrapper').find('dd').last()); } })(); </script> </html>
overflow:auto
这个没做过,不知道一楼的方法可以不
应该不可以,我是想分割成多个<dd></dd>