0

我的网站有一个 HTML 结构,例如:

....
<div class="column1">dynamic_content</div>
<div class="column2">dynamic_content</div>
<div class="column3">dynamic_content</div>
...

现在,我想要这个结构,但我想根据每一列的内容来控制结构。例如:

一个。如果“column1”为空,我有两个选择:

  1. 仅使用 2 个 div(column2 和 column3)输出 HTML(使用 PHP)。
  2. 输出包含所有 div 的 HTML,并通过 CSS (display:none) 隐藏 column1。

你认为什么更好?

第一个选项有些复杂,因为我不知道每列内会有什么样的动态内容,并且使用 PHP 我需要处理整个 HTML 以了解(column1、column2 或 column3)是否为空。我不想使用 Javascript,我只想使用 CSS 或 PHP 这两个选项之一。

现在好吧,也许你在想我可以为每个页面使用一个默认模板。

例如,如果 (pageXYZ) 没有 column1 我将使用类似的模板

...
<div class="column2">dynamic_content</div>
<div class="column3">dynamic_content</div>
...

但这是最糟糕的,因为将来如果您需要修改整个模板,您将需要修改每个页面。我不知道该怎么办。

4

1 回答 1

0

您是否考虑过使用 :empty CSS3 伪选择器?你可以很容易地写:

div.column1:empty, div.column2:empty, div.column3:empty {
  display: none;
}

在不使用 PHP 或 Javascript 的情况下完成同样的事情。

此外,它将保留原始模板,而无需在将来进行编辑,并允许在模板之外的一个地方更新规则。

于 2013-03-08T03:19:12.410 回答