【发布时间】:2010-12-21 08:09:04
【问题描述】:
有没有办法做到这一点? 当使用可以经常更改项目数量的导航时,不必计算和更新 css,而只需有一个可行的解决方案就好了。
如果那是不可能的(我假设是),谁能指点我一个可以做到这一点的 javascript?
编辑
re: 提供代码一些代码 基本上我正在使用,我认为是最典型的设置
<div class="main"> <div class="nav"> <ul> <li>short title</li> <li>Item 3 Long title</li> <li>Item 4 Long title</li> <li>Item 5 Long title</li> <li>Item 6 Extra Long title</li> </ul> </div> </div>
编辑
.main {
width:100%;
text-align:center;
}
.nav {
margin:0 auto;
}
.nav ul li {
display:inline;
text-align:left;
}
我发现这个/这些解决方案的问题是内容被推到了右边 添加一些正确的填充(40px)似乎可以在我正在检查的浏览器中解决这个问题(O FF IE)。 .导航{ 边距:0 自动; 填充右:40px; } 我不知道这个值是从哪里来的,为什么 40px 可以解决这个问题。
有人知道这是从哪里来的吗?它不是边距或填充,但无论我做什么,第一个大约 40px 都不能用于放置。 可能是 ul 或 li 添加了这个。
我已经查看了 display:table-cell 的执行方式,但是 IE 存在这种复杂性,并且它仍然存在与其他解决方案相同的问题
编辑(最终)
好的,我已经尝试了一些关于缩进的事情。 我已将所有填充重置为 0
*{padding:0;}
修复了它,我不需要偏移填充 (我想我会留下我的整个过程,所以如果有人遇到这个,它会节省他们一些时间)
感谢cmets和回复
【问题讨论】:
-
如果不知道您的 DIV 中有什么,这很难回答。听起来,作为先决条件,您需要使您的 DIV 弹性(表格)宽度而不是默认块宽度。这完全是另一个问题。
-
您能否提供您在问题中使用的 HTML\CSS?如果解决方案涉及 Javascript,我们就有麻烦了……
-
使用我下面列出的解决方案,附加填充没有问题...我正在使用输入来模拟菜单...所以这可能表明 UL 样式正在添加填充。
-
是的,ul 正在添加填充