我有两个Div在彼此之上:#header-menu
及以下是#banner
。两者都跨越#body
的整个宽度。
他们都有a {border-bottom:5px}
。但是当#banner
为空(我只在某些页面上放入内容)时,border-bottom
上的#header-menu
将是#banner
边界的5px + 5px杀死了设计。
我的问题是,如果#banner
小于5px,那么使用JS和CSS可以带走#banner
的边界?如果是的话,那该怎么做呢?
我在Drupal 7上,我可以在php中这样做,所以当#banner
为空时会有边框吗?
答案 0 :(得分:0)
这就是你要做的事情
$(".banner").each(function(){
if( $(this).height() < 5){
$(this).remove();
}
});
或者:
$(".banner").each(function(){
if( $(this).html() == ''){
$(this).css('border-bottom', 'none');
}
});
对于页面上的每个横幅,请阅读它的HTML。如果html为空,则将banner的css border-bottom属性设置为none。但是,我建议如果它是空的,它是一个毫无意义的html元素,那么更好的是将其删除:
$(".banner").each(function(){
if( $(this).html() == ''){
$(this).remove();
}
});
(这里我使用的是.banner
而不是#banner
)
http://codepen.io/EightArmsHQ/pen/qNQwOQ
但是我会敦促你使用某种服务器端代码,如果div将是空的,就不输出html。