根据li标签的组合宽度动态设置ul的宽度

时间:2009-11-13 15:37:50

标签: jquery css jquery-ui jquery-ui-tabs

我正在尝试创建一个水平标签菜单。如何获得所有li标签的组合宽度,并使用jquery将宽度分配给父UL?

提前感谢!

3 个答案:

答案 0 :(得分:2)

我同意Akoi,我认为这可能是CSS的一个。像

这样的东西
<style type="text/css">
ul { overflow: auto; background: #efefef; padding: 0; margin: 0; display: block; float: left; clear: both; }
ul li { float: left; display: block; padding: 5px 10px; }
</style>

<ul>
  <li>Menu item</li>
  <li>Menu item</li>
  <li>Menu item</li>
  <li>Menu item</li>
  <li>Menu item</li>
  <li>Menu item</li>
</ul>

答案 1 :(得分:1)

出于好奇,为什么还要指定宽度?你应该能够将你的LI左侧漂浮在css中,然后用方便的&lt; br /&gt;清除它们。

<style type="text/css">
ul li { float: left; }
br { clear: both; }
</style>

<ul>
<li>Some</li>
<li>randomly long</li>
<li>or</li>
<li>short</li>
<li>LI's</li>
</ul><br />

答案 2 :(得分:0)

这是我的HTML。正如你所看到的,我只是想确保我的ul不会扩展到容器的宽度。

    <html>
<head>
<title>Untitled Document</title>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function(){
$("#tabs").tabs();
    });
   </script>
<style>
#container {width:960px;}
#tabs {background:url(../images/tab_lft.gif) no-repeat 0 0; margin:0 10px; width:940px;}
#tabs ul {background:#ccc url(../images/tab_rgt.gif) no-repeat right 0; height:24px; list-style:none; margin:0 0 0 6px; padding:6px 6px 0 0; }
#tabs ul li {display:inline; float:left; line-height:24px;}
#tabs ul li a:link, #tabs ul li a:visited {display:block; color:#565656; padding:0 10px; text-decoration:none; }
#tabs ul li a:hover {background-color:#fff;}
.clear {clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0;}
</style>
</head>
<body>
<div id="container">
<div id="tabs">
    <ul>
        <li><a href="tab1.html">Tab 1</a></li>
        <li><a href="tab2.html">Tab 2</a></li>
        <li><a href="tab3.html">Tab 3</a></li>
    </ul>
    <div class="clear"></div>
</div>

</div>
</body>
</html>