我有这个CSS水平菜单,其中多个选项卡依赖于php生成的mysql查询。最近,我有很多标签,它在第一行标签下溢出,并隐藏了内容框的顶部。
我希望标签在窗口右侧溢出,隐藏溢出,但如果标签溢出则会出现箭头。
以下是菜单的html代码示例:
<ul id="tabs">
<li class="active" id="tabFirstCategory"><a href="#" onclick='showHideTabs("FirstCategory");'>FirstCategory</a>
<li class="active" id="tabSecondCategory"><a href="#" onclick='showHideTabs("SecondCategory");'>SecondCategory</a>
</ul>
<div id="tabcontent" class="clear">Some Content</div>
这是用于设置菜单和内容框样式的CSS
body
{
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
}
ul#tabs
{
position:fixed;
width:100%;
background-color:#ffffff;
border-bottom-style: solid;
border-color: #d3d3d3;
border-width: 1px;
z-index:2;
}
ul#tabs, ul#tabs li
{
float:left;
margin:0;
padding:0;
list-style:none;
}
ul#tabs .active
{
font-weight:bold;
}
ul#tabs li a
{
float:left;
padding:4px 10px 4px;
border:1px solid #d3d3d3;
border-bottom:none;
margin-right:4px;
}
ul#tabs .active a
{
background-color:#edf4f9;
}
.clear
{
clear:both;
/*for IE6 pos*/
width:100%;
overflow:hidden;
}
#tabcontent
{
position:relative;
top:25px;
margin-bottom:25px;
}
如果可能,我希望有一个CSS解决方案,但我也不反对使用javascript。 (由于管理政策,没有jquery。)
答案 0 :(得分:2)
你需要以这种方式制作你的HTML
<div class="menu-outer">
<img src="left-arrow.png" onclick="moveMenu( -10 )" />
<ul>
...
</ul>
<img src="right-arrow.png" onclick="moveMenu( 10 )" />
</div>
默认情况下,将图像显示设置为none(使用css class menu-outer)。添加类(例如'大')使这些图像可见(将用于div)
现在对于javascript - 检查加载,如果菜单适合宽度(ul的offsetWidth与div的offsetWidth) - 如果不是,将'large'类添加到div('menu-outer large') - 所以按钮将出现
使用position:relative移动ul并设置其左侧。