0
如果container div的宽度低于某个值,如何隐藏div(或对应于某个类的元素)?如果父div的宽度低于某个值,则隐藏div
上下文是动态的,因为父div可通过jQuery UI resizable()调整大小。如果有必要隐藏子div,当父div被调整大小时。
如果container div的宽度低于某个值,如何隐藏div(或对应于某个类的元素)?如果父div的宽度低于某个值,则隐藏div
上下文是动态的,因为父div可通过jQuery UI resizable()调整大小。如果有必要隐藏子div,当父div被调整大小时。
目前标准的CSS,CSS3中没有css parent
选择器。为此,您正在处理行为,所以最好使用JavaScript或jQuery。
举个例子吧。假设你有两个div
<div id="parent">
<div id="child">This is a child</div>
</div>
你的JavaScript文件应该是这样的
var child = document.getElementById("child");
var parent = document.getElementById("parent");
parent.addEventListener("resize", function() {
if (parent.width < 500) {
child.style.display = "none";
}
else {
child.style.display = "block";
}
});
在jQuery中,这可以像这样
$(document).ready(function() {
$("#parent").on("resize", function() {
$("this").width() < 500 ? $("#child").hide() : $("#child").show();
});
});
注意,jQuery的width()
方法没有按”完成包括填充,边框或边距。
在这两种情况下,我们正在侦听resize
事件,这是在元素大小发生变化时发生的。每次它都会运行一次检查来确定父级的宽度是否小于某个阈值。如果是,则子元素将被隐藏。否则,它会显示。
实际上,我忘了提到这种行为应该发生在动态的上下文中:父div可以通过调整jQuery UI的大小来调整大小。因此,当父div的宽度在拖拽其西/东边界时被改变时,如果宽度低于某个值,则包含的div应该消失。 – Fred
了解,现在它应该为那 –
感谢理查德,它的工作!但我想知道:有没有一种纯CSS的方式来做到这一点? – Fred