你怎么可以折叠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)做可以修改并与播放。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top