Я пытаюсь скрыть DOM, применяя height: 0px .Я надеюсь, что из-за отступов он не полностью скрывает DOM. Я также дал свойство border-box .Я использую высоту вместо свойства отображения, чтобы добиться плавности (перехода) при скрытии.Пожалуйста, используйте код ниже
var body = document.body;
var banner = document.getElementById('banner');
var close = document.getElementById('close');
var reset = document.getElementById('reset');
close.onclick = closeBanner;
reset.onclick = resetHeight;
function closeBanner(){
banner.style.height = 0;
}
function resetHeight(){
banner.style.height = '40px';
}
.banner{
height: 40px;
overflow: hidden;
width: 100%;
box-sizing: border-box;
background: #2fc5c5;
color: #fff;
padding: 7px 15px;
transition: height .3s ease;
border: 1px solid #10b5b4;
}
.close{
float: right;
cursor:pointer;
font-size: 18px;
background: #fff;
padding: 3px;
color: #3d3d3d;
}
<div class="banner" id="banner">
<span> Content Goes here</span>
<span class="close" id='close'>x</span>
</div>
<button id="reset"> Reset Height</button>
См. Скрипку ЗДЕСЬ