我正在尝试使用html& amp;创建一个非常简单的“简单”选项卡。 CSS。为此,我有一堆li元素,在每个元素中都有一个“a href”元素。现在,当我看看IE&中的输出时Firefox(在设置样式以使列表水平显示正确的边框和所有内容之后),我可以看到“a”元素溢出了“li”元素。如何根据“a”元素调整“li”元素的大小?
CSS和html如下
#tabs ul
{
list-style:none;
padding: 0;
margin: 0;
}
#tabs li
{
display: inline;
border: solid;
border-width: 1px 1px 1px 1px;
margin: 0 0.5em 0 0;
background-color: #3C7FAF;
}
#tabs li a
{
padding: 0 1em;
text-decoration: none;
color:White;
font-family: Calibri;
font-size: 18pt;
height: 40px;
}
<div id="tabs">
<ul>
<li><a href="#fragment-1"><span>One</span></a></li>
<li><a href="#fragment-2"><span>Two</span></a></li>
<li><a href="#fragment-3"><span>Three</span></a></li>
</ul>
</div>
答案 0 :(得分:3)
您还可以查看以下网站:
答案 1 :(得分:2)
答案 2 :(得分:2)
您忘记了CSS声明中的“#”。您的html代码中有一个id =“tabs”,需要引用为
#tabs {
....
}
CSS中的。剩下的就是微调;)
然后尝试
#tabs {
display: inline-block;
}
而不是显示:inline;
答案 3 :(得分:0)
尝试将li元素上的显示设置为“inline-block”。
答案 4 :(得分:0)
将锚定为
display:block
答案 5 :(得分:0)
我给
display:block
到li和a标签。然后漂浮李。您可以添加此代码以使li完全包含a:
overflow: hidden; zoom: 1; word-wrap: break-word;
这将清除内部的任何内容。
答案 6 :(得分:0)
你也可以简单地给你的一些填充:
#tabs li {
padding: 8px 0 0;
}
答案 7 :(得分:0)
内联块是一种很好的方法(如建议的那样)。 但如果你想要这是跨浏览器,你需要添加som CSS-hacking“magic”:)
关于这个主题的一个非常好的教程是http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/
使用该文章中的方法,您最终得到以下CSS:
/* cross browser inline-block hack for tabs */
/* adapted from:
/* http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/ */
#tabs ul,
#tabs li,
#tabs li a {
display: -moz-inline-stack;
display: inline-block;
zoom: 1;
*display: inline;
vertical-align: bottom;
margin:0; padding:0; /* reset ul and li default settings */
}
/* The rest is "window dressing" (i.e. basically the tab styles from your CSS) */
#tabs li a {
margin: 0 0.5em 0 0;
background-color: #3C7FAF;
padding: 0 1em;
text-decoration: none;
color:white;
font-family: Calibri;
font-size: 18pt;
height: 40px;
}
答案 8 :(得分:0)
display:inline-block
和li
上的a
{{1}}为我做了伎俩。列表被拉伸以适应我对链接所做的任何事情。