题
你怎么可以折叠DIV和P -elements如果他们是通过CSS空使得标签不显示在源代码的用户?
这些元素是在我的源代码,尽管它们是空的。 这会导致错误与该网站的其余部分。
我运行此不成功
div.unsuccessful,
div.unsuccessful p {
visibility: collapse;
}
这表明我说,你显然不能用CSS做这样的事情。 也许,需要其它工具,例如PHP。
解决方案
CSS对实际的HTML代码没有影响,所以这不能做。在(即将到来的)CSS3,你可以从使用:empty
伪类被渲染阻止他们:
div:empty {
display: none;
}
这当然是不一样的东西,但它可能会解决您遇到的问题。如果只是浏览器的实际支持它,这是他们不这样做,还没有。
在最好的选择是在所述服务器处,使用脚本语言,如PHP删除它们。我想你的 的可以做到这一点的客户端使用JavaScript,但是这是一个可怕的解决方案,海事组织。
话虽这么说,有什么问题你跟这些空标签有?他们为何会出现在首位?在我看来,一些重新设计是为了,为了防止不必要的标签从在第一位置产生。
此外,要小心。空标签并不总是毫无意义。事实上,除去每空<div>
在那里可以被认为是有害的。
其他提示
是的,如果你想阻止他们在被的源的,你需要做适当的考虑,在你的服务器代码。另外,您还可以设置在JavaScript的HTML,但它不是这个问题的推荐的方法,大概。你可能想多说一点,虽然,你正在试图做什么。
可见性属性旨在设定对象的内容是否被显示或不显示。它不会从DOM内部取出元件。
新塌陷的Windows Internet 浏览器8 强>
用于表删除行和列对于所有其他元件,相同隐藏。
另外你为什么要这么做呢?
div { display: none; }
从页面完全删除的元素。
这仍然会出现在源代码的,不管你用CSS做什么。浏览器结合了HTML源代码和CSS指令到一个显示页面,原来的源不被修改。 CSS只能影响元素的视觉显示,它不能改变的元素。要真正从DOM删除元素,你需要使用Javascript(或没有把元素出现在第一位)。
是,你将不得不使用服务器端处理,以显示或不显示某些代码给用户:
if ($showAdminLink) {
echo "<p><a href=\"admin.php\">Admin panel</a></p>";
}
不管你什么招数,什么都在客户端(HTML,JAVASCRIPT,CSS)做可以修改并与播放。