【发布时间】:2011-04-08 19:37:48
【问题描述】:
我正在尝试修改以下example 并制作垂直标签
我想我在某种程度上实现了这一点,唯一缺少的是将标签内容与容器顶部对齐。 (标签内容显示在标签列表下方)。
我被困住了,因为我不知道该怎么做。这是修改后的代码。
我提前为多行代码道歉。我是网页设计的新手,尽管这对我来说看起来很复杂,但我相信它对你们以前的人来说很简单!
CSS
body {
background: #f0f0f0;
margin: 0;
padding: 0;
font: 10px normal Verdana, Arial, Helvetica, sans-serif;
color: #444;
}
.container {width: 500px; margin: 10px auto;}
ul.tabs {
margin: 0;
padding: 0;
float: left;
list-style: none;
height: 32px;
border-bottom: 1px solid #999;
border-left: 1px solid #999;
width: 20%;
}
ul.tabs li {
float: top;
margin: 0;
padding: 0;
height: 31px;
line-height: 31px;
border: 1px solid #999;
border-left: none;
margin-bottom: 0px;
background: #e0e0e0;
overflow: hidden;
position: relative;
}
ul.tabs li a {
text-decoration: none;
color: #000;
display: block;
font-size: 1.2em;
padding: 0 20px;
border: 1px solid #fff;
outline: none;
}
ul.tabs li a:hover {
background: #ccc;
}
html ul.tabs li.active, html ul.tabs li.active a:hover {
background: #fff;
border-bottom: 1px solid #fff;
}
.tab_container {
border: 1px solid #999;
width: 200%;
background: #fff;
-moz-border-radius-bottomright: 5px;
-khtml-border-radius-bottomright: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-khtml-border-radius-bottomleft: 5px;
-webkit-border-bottom-left-radius: 5px;
}
.tab_content {
padding: 120px;
font-size: 1.2em;
}
.tab_content h2 {
font-weight: normal;
padding-bottom: 10px;
border-bottom: 1px dashed #ddd;
font-size: 1.8em;
}
JavaScript
$(document).ready(function() {
//Default Action
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active content
return false;
});
});
HTML
<div class="container">
<ul class="tabs">
<li><a href="#tab1">Gallery</a></li>
<li><a href="#tab2">Submit</a></li>
<li><a href="#tab2">The Third</a></li>
</ul>
<div class="tab_container">
<div id="tab1" class="tab_content">
<h2>Gallery</h2>
<p>Text 1 </p>
</div>
<div id="tab2" class="tab_content">
<h2>Submit</h2>
<p>Text 2 </p>
</div>
<div id="tab3" class="tab_content">
<h2>The last one</h2>
<p>Text 3 </p>
</div>
</div>
</div>
【问题讨论】:
-
没有像
float: top这样的东西,而且你应用的样式比你需要的多 200%。 :) -
哈哈,我同意你的看法。一旦我得到这个想法,我就会开始报废(我想我快到了,多亏了马特的建议)。我也是所有这一切的新手,需要一些时间来弄清楚基本的东西......例如,感谢您指出没有
float: top这样的东西!!!