【发布时间】:2014-10-15 10:33:53
【问题描述】:
我有一排 3 个元素,它们使用 JS 在悬停时显示 flex 属性。它可以工作,但是嵌套在每个元素内的 H3 元素中的文本具有不同的长度。此文本的长度将宽度推出。如果我将它们全部设置为它们正确显示的相同文本。
我将使用此代码两次,因此最终会有两列。但是,第二行的每个 H3 元素中的文本将完全不同。
我希望这些框不受文本的影响。我尝试的一切似乎都不起作用。有什么建议吗?
HTML
<ul id="ul2">
<section class="secLI">
<a href="plan/plan.html" class="li4">
<li>
<h3>Plan an Event</h3>
</li>
</a>
</section>
<section class="secLI">
<a href="bands/bands.html" class="li5">
<li>
<h3>Band Promo</h3>
</li>
</a>
</section>
<section class="secLI">
<a href="contact/contact.html" class="li6">
<li>
<h3>Contact</h3>
</li>
</a>
</section>
</ul>
JS
<script>
$(document).ready(function() {
$("ul section").hover(function(){
$(this).addClass("wrapper-hovered");
$(this).siblings("section").removeClass("wrapper-hovered")
});
});
</script>
CSS
ul {
display: -webkit-flex;
}
.wrapper-hovered {
-webkit-flex: 1.5;
}
【问题讨论】:
-
您在寻找要换行的文本吗?
-
不,JS 和 CSS 使悬停的 LI 更宽。当悬停状态移动到不同的 LI 时,第一个会恢复到原始大小,而新的会变宽。基本上,除了 padding 和 margin,UL 的宽度都是 100%,每个 LI 占 33%,直到悬停。
标签: javascript jquery css flexbox