根据效果,哪一个是最佳优化代码display:none
或visibility:hidden
?
.className{
display: none;
}
.className{
visibility: hidden;
}
答案 0 :(得分:1)
.parent
{
position:relative;
width: 600px;
height: 100%;
background-color: yellow;
overflow: hidden;
overflow-x: scroll;
}
.child
{
position:relative;
width: 50%;
height: 200px;
background-color: blue;
overflow: hidden;
overflow-y: scroll;
}
会更有效率,因为它不会改变DOM的流量,减少了重绘的数量。
切换元素的function scrollC(e)
{
console.log( "child" );
}
function scrollP(e)
{
console.log( "parent" );
}
document.querySelector( ".child" ).addEventListener( "scroll", scrollC );
document.querySelector( ".parent" ).addEventListener( "scroll", scrollP );
属性会导致更大的重绘,因为没有为元素分配空间。叠加元素会发生这种情况。
答案 1 :(得分:0)
这取决于要求..如果您想在用户与网页互动时展示元素,那么visibility:hidden
可能会有用,否则display:none
会很有用。
visibility:hidden
获取提供给它的空间虽然它不可见,但display:none
删除空格并允许其他元素占用空间。
答案 2 :(得分:-1)
我认为session.close();
session = HibernateUtil.getSessionFactory().openSession();
是一个属性,它使标记不会出现在页面上但是没有分配空间。
而display:none
是该属性,它使标签不可见但空间被分配。