1

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

提前致谢!

4

3 回答 3

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>
于 2009-11-13T16:14:07.860 回答
1

出于好奇,你为什么要指定宽度呢?您应该能够在 css 中浮动您的 LI 左侧,然后使用方便的 <br /> 清除它们。

<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 />
于 2009-11-13T15:43:07.433 回答
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>
于 2009-11-13T16:32:38.720 回答