如何进行切换,从隐藏/显示按钮所在的位置切换,而不是在隐藏/显示按钮和切换之间有间隙。
我已经尝试了我能想到的一切:
定义边距/填充顶部;
将按钮放在div中。
但我无法实现我希望实现的目标。
这就是我希望它的样子:
点击
点击
有什么建议吗?
function toggle_visibility(id) {
var e = document.getElementById(id);
if (e.style.display == 'block' || e.style.display == '')
e.style.display = 'none';
else
e.style.display = 'block';
}
div#first_product{
width: 50%;
margin-left: 301px;
}
div#red_head{
background-color: #ed1c24;
height: 40px;
color: #fff;
padding-left: 15px;
line-height: 35px;
}
div#first_product{
padding:0;
background-color: #f1f1f2;
/*Dynamic height*/
height:auto;
min-height:250px;
height:auto !important; /* IE does not support min-height */
height:250px;
display: none; /*HIDE TOOGLE ON PAGE LOAD*/
}
#products_tog_but{
background-color: #f8f9f9;
border: 1.5px dashed #999999;
width: 100%;
height: 40px;
border-radius: 5px;
margin-bottom: 20px;
}
div#hide_btn{
width:50%;
margin-left: 301px;
}
<!--HIDE TOGGLE BTN -->
<div id="hide_btn">
<button id="products_tog_but" onclick="toggle_visibility('first_product')">Hello!</button>
</div>
<!-- TOGGLE BTN SECTION-->
<div id="first_product">
<div id="red_head">
<p id="menu_title" class ="hidden" onclick="hideText('text1')" > Add your first menu item</p>
</div>
<h3 id="menu">Menu Section</h3>
<form name="first_prod" id="first_prod" enctype="multipart/form-data" action="testing.php" method="post" accept-charset="utf-8" >
<label id="cat_label" name="cat_label" class="lab">Name</label>
<input type="text" id="cat_name" name="cat_name" value="">
<br>
<label id="desc_label" name="desc_label" class="lab">Description</label>
<input type="text" id="cat_desc" name="cat_desc" value="">
<input type="Submit" id="save_first_prod" name="save_first_prod" onclick="toggle_visibility('first_product')" value=" + ADD">
</form>
</div>
答案 0 :(得分:0)
从margin-bottom
移除#products_tog_but
并在margin-top: -12px;
#first_product
div#first_product{
width: 50%;
margin-left: 301px;
margin-top: -12px;
}
#products_tog_but{
background-color: #f8f9f9;
border: 1.5px dashed #999999;
width: 100%;
height: 40px;
border-radius: 5px;
}
请参阅this jsfiddle以了解运行演示。
另一种方法是使用margin-top作为否定,而不是使用margin-top:
p#menu_title {
margin-top: 2px;
}