【发布时间】:2013-07-17 04:15:17
【问题描述】:
所以我正在this 网站上工作,并且我在底部有一个选项卡式部分。 我使用 css 构建了我的标签,就像 this 一样。但是当我希望标签内容的大小不同时出现了问题。
我想如果我可以定位内容的高度,我就可以使用 Javascript 设置 .tabs 的高度。
这是我正在使用的代码:
$('.tab label').click(function() {
$('.tab.current').removeClass('current');
$(this).parent('.tab').addClass('current');
$('.tabs').height($('.tab.current .content').outerHeight());
});
由于某种原因,它没有抓住正确的价值。我不知道我做错了什么。任何帮助将不胜感激。
编辑:标签结构如下所示:
<div class="tabs">
<div class="tab one current">
<input type="radio" id="tab-1" name="tab-group-1" checked>
<label for="tab-1"></label>
<div class="content">
<div class="tab-block first">
</div><!-- .content -->
</div><!-- .tab.one -->
<div class="tab two">
<input type="radio" id="tab-1" name="tab-group-1" checked>
<label for="tab-1"></label>
<div class="content">
<div class="tab-block first">
</div><!-- .content -->
</div><!-- .tab.two -->
<div class="tab three">
<input type="radio" id="tab-1" name="tab-group-1" checked>
<label for="tab-1"></label>
<div class="content">
<div class="tab-block first">
</div><!-- .content -->
</div><!-- .tab.three -->
</div>
.tabs 类需要一个最小高度,因为选项卡绝对位于彼此的顶部。
所以我想做的是获取 .current 类的 .content 的高度,并将该高度设置为 .tabs div。这样它就不会溢出高度,而是将所有内容推到它下面。
我希望这能消除一些困惑。
【问题讨论】:
-
<div>将根据其内容调整自身大小,作为其基本行为的一部分。你是如何设计标签的? 编辑检查网站,真的不清楚你在说什么或者你想与众不同。 -
我的内容是绝对定位的。我觉得我只是不确定为什么我的 javascript 给了我不正确的高度。
-
如果我的 .content 设置了高度,我应该能够将其分配给 .tabs div
-
我花了一段时间才弄清楚你认为哪里错了。在 Chrome 中它工作正常。所以我在 Firefox 中尝试了它,现在我明白了。你在使用 Firefox 吗?
-
绝对定位不会影响
<div>环绕其内容的方式。
标签: javascript css tabs height html