【发布时间】:2021-07-13 23:46:34
【问题描述】:
我有一个页面,在屏幕很小的时候隐藏了一个 div,显示另一个 div,带有可点击的 + 来展开隐藏的 div。
@media screen and (max-width: 1230px) {
#details_Title {
display: none;
}
#details_Details {
display: inline; // THIS DOES NOT WORK AFTER JQUERY SLIDEUP
}
}
@media screen and (max-width: 990px) {
#details_Title {
display: inline;
}
#details_Details {
display: none;
}
}
HTML
<div id="details_Title" onclick="showDetails()">
<b>Details</b>
<img id="imgPlusMinus" src="images/plus.png"/>
</div>
<div id="details_Details">
.... the details
</div>
JS
function showDetails() {
var img=document.getElementById('imgPlusMinus').src;
if (img.indexOf('plus.png')!=-1) {
document.getElementById('imgPlusMinus').src ='images/minus.png';
$("#details_Details").slideDown();
}
else {
document.getElementById('imgPlusMinus').src='images/plus.png';
$("#details_Details").slideUp();
}
}
屏幕变小,div显示和隐藏正确,点击+,div details_Details按预期展开。
问题是,如果你关闭它并且 jQuery 向上滑动 div details_Details,display: none 将应用于元素级别,而 display: inline 来自媒体查询未得到应用。我该如何解决这个问题?我可以从媒体查询中删除/覆盖元素级别样式吗?
【问题讨论】: