Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css HTML——仅在有文本时显示div_Css_Html - Fatal编程技术网

Css HTML——仅在有文本时显示div

Css HTML——仅在有文本时显示div,css,html,Css,Html,有没有一个CSS或纯HTML解决方案可以让div只有在有内容时才可见?我有以下JSP代码: <div class="message-panel panel-alert"> <span class="label-warning"> <span class="warning-sign"></span> </span> <c:if test="${condition1}"> <p> Condi

有没有一个CSS或纯HTML解决方案可以让div只有在有内容时才可见?我有以下JSP代码:

<div class="message-panel panel-alert">
  <span class="label-warning">
     <span class="warning-sign"></span>
  </span>
 <c:if test="${condition1}">
   <p> Condition 1 is true </p>
  </c:if>
  <c:if test="${condition2}">
    <p> Condition 2i s true </p>
 </c:if>
</div>

条件1是正确的

条件2i是真的


如果其中一个条件为真,我确实希望显示带有警告标志的警报面板,但如果两个条件均为真,我根本不希望出现此div。我能想到的两个解决方案是用一个包罗万象的if语句来围绕整个问题,或者用javascript编程修改div的visible属性。但是,我想知道是否有一种方法可以说“嘿,div,如果你什么都没有就走开”。

你可以尝试创建一个名为
hidden
的类。当两个文本都为空时(使用两个ifs),将其添加到
,然后在css中定义
.hidden{display:none;}
或如您所述使用此处所述的一些javascript使用
:empty
伪选择器:

div.panel-alert:empty {
    display: none;
}

JSP-Java服务器页面?如果没有任何内容,就不要呈现div?他试图避免在创建页面的服务器代码中进行任何检查,并让CSS自动隐藏div。否则,他可以使用一个完全跳过DIV的
if
语句。他写道,他有两个选项可用——一个是在整个DIV周围放置
if
,另一个是更改css。我给了他一些类似于将两个选项合并为一个选项的东西。阅读最后一行中的问题。