隐藏元素 - display:none或visibility:hidden
隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden"。不过这两种方法会产生不同的结果。
visibility:hidden可以隐藏某个元素,但隐藏的元素仍会占用跟未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。
常见的TAB导航栏:
使用visibility:hidden隐藏可以保证文字处于同一水平,而且底部蓝色小块出现不会影响布局,出现文字上下跳的情况。但是使用display:none,会出现这种情况。
直接上代码:
html:
<ul class="myteam_content_nav_list">
<li>
<a href="javascript:;">
<p>直推</p>
<p class="line"></p>
</a>
</li>
<li>
<a href="javascript:;">
<p>间推</p>
<p class="line visibility_hidden"></p>
</a>
</li>
<li>
<a href="javascript:;">
<p>帮扶</p>
<p class="line visibility_hidden"></p>
</a>
</li>
</ul>
css:
.myteam_content_nav_list{
width: 100%;
height: auto;
background-color: #ffffff;
display: flex;
display:-webkit-flex;
flex-direction:row;
-webkit-flex-direction:row;
align-items: center;/*垂直*/
justify-content:space-between;
text-align:center;
}
.myteam_content_nav_list li{
flex: 1;
}
.myteam_content_nav_list li a{
display: block;
overflow: hidden;
font-family: FZLTHK--GBK1-0;
font-size: 1.334rem;
color: #000000;
text-align:center;
}
.myteam_content_nav_list li a p:first-child{
padding: 1.75rem 0rem;
}
.line{
width: 6rem;
height:0.4167rem;
background-color: #449ff5;
margin: auto;
border-radius: 0.5rem;
}
.visibility_hidden{
visibility:hidden;
}
.visible{
visibility: visible;
}
.hide{
display: none;
}
.show{
display:block
}
js:
<script type="text/javascript" src="js/jquery-1.7.1.js" ></script>
<script>
$(document).ready(function(){
$(".myteam_content_nav_list li").click(function(){
var i =$(this).index();
console.log(i)
$(".myteam_content_nav_list li").find(".line").removeClass("visible").addClass("visibility_hidden");
$(this).find(".line").removeClass("visibility_hidden").addClass("visible");
//display:none方法
//$(".myteam_content_nav_list li").find(".line").removeClass("show").addClass("hide");
//$(this).find(".line").removeClass("hide").addClass("show");
$(".myteam_content .myteambox").removeClass("show").addClass("hide");
$(".myteam_content .myteambox").eq(i).removeClass("hide").addClass("show");
});
});
</script>