我目前藏身基于if语句一个div。 我使用的方法是,采用echo
了css
的样式display: none
下面是我特别做的:
<style>
#content{
<?php
if(condition){
echo 'display:none';
}
?>
}
</style>
<body>
<div id="content">
Foo bar
</div>
</body>
我的问题的存在,这是一个隐藏的div的好方法? 有没有可能是浏览器缓存的风格,因此忽略了echo
-ed出来css
样式?
使用PHP在你的CSS(层叠样式表)是不是“正确”的,
此外,您可以在HTML使用PHP:
<body>
<?php if (condition){ ?>
<div id="content">
Foo bar
</div>
<?php } ?>
</body>
有了这个代码,DIV块不出现,(你不使用JavaScript使用它),你可以用这个只是被隐藏了您的div:
<body>
<div id="content" <?php if (condition){ echo 'style="display:none;"'; } ?>>
Foo bar
</div>
</body>
为什么不创建一个类:
<style>
.hidden {
display: none;
}
</style>
并且比PHP应用它:
<div id="content" <?php print ( condition ? 'class="hidden"' : '' ); ?> >
那会不会是隐藏一个div的最佳途径。 由于PHP解析服务器端,你可能也有if语句包含或排除DIV,而不是附和CSS类。 这将是一个CSS类有用的唯一情况是,如果你打算使用JavaScript来显示页面上的DIV后来,当用户在网页上。
你可以:
<div runat="server" id="theDiv">
Code behind is
{
theDiv.Visible = False;
}
要么
大多数人会使用JavaScript
下面有一个前一个线程,这将帮助你:
如果Java脚本else语句隐藏和显示DIV
是的,这是隐藏div的标准方式。 关于浏览器缓存,因为它不是在外部样式表它不应该缓存此。
我一般尽量避免使用CSS的PHP内的条件语句; 特别是内联CSS(CSS即在同一页上)。
我会保持你的CSS在自己的CSS文件,并使用PHP条件以添加一个“隐藏”类的DIV - 或 - 不是呼应了DIV的。
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="content" <?php if(conditional) : ?>class="hide"<?php endif;?>>
Foo bar
</div>
</body>
或可替代
<?php $class = (conditional) ? "hide" : ""; ?>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="content" class="<?=$class?>">
Foo bar
</div>
</body>
要么
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<?php if (conditional) : ?>
<div id="content">
Foo bar
</div>
<?php endif; ?>
</body>
多次在div需要被输出,因此可以使用JavaScript(例如转盘,滑块等)重新显示