3

为了提高网站的可维护性,将所有文本从 HTML 中分离出来并放在一个独特的 CSS样式表中是不是一个好主意?我的意思是,像这样:

HTML 文件

<body>
    <h1 class="home-title"></h1>
    <p class="description"></p>

    <!-- and much more elements... -->
</body>

包含所有文本的 CSS 文件

.home-title:after {
    content: "Welcome to my website!";
}

.description:after {
    content: "This is a demo ok?";
}

...
4

4 回答 4

5

不。

样式表应该用于布局。内容应该在 HTML 代码中。


此外,正如jacktheripper 指出的那样,这对于 SEO 而言将是一场灾难,因为搜索引擎会认为您的页面只包含很多空元素。

于 2012-04-05T09:56:42.413 回答
3

不!对于SEO(搜索引擎优化),您应该使您的网站尽可能容易被网络蜘蛛阅读,并且使用 CSS 填充您的所有元素将是终端!

CSS 严格用于布局
HTML 严格用于内容

您的网站应该像教科书一样易于阅读 - 想象一下教科书中的一个页面,上面写着“去寻找应该在另一本教科书中出现的内容”,这将是多么烦人。这实际上就是你正在做的事情。

保持 HTML 和 CSS 分开!

可以这样想:

当且仅当你不能用 HTML 做时,使用 CSS
当且仅当你不能用 CSS 做时,使用 JavaScript

于 2012-04-05T09:56:35.127 回答
1

不,这不是一个好主意,我怎么强调都不过分。

content 属性用于添加装饰性文本。HTML 用于页面的核心内容。

搜索引擎将无法索引内容,辅助工具将无法解释内容。使用起来会非常麻烦。

用 HTML、CSS、JavaScript 和某种服务器端语言做不到的事情可能不值得去做。

于 2012-04-05T10:01:10.557 回答
0

不,这不是一个好主意。

您是否正在尝试模板化您的网站?基本上,您希望某些 html 显示在每个页面上,但您不想每次更新该代码时都复制粘贴?我感觉这就是您所说的可维护性。在这种情况下,您需要使用服务器端脚本语言,例如 PHP。

这样,您可以执行以下操作:

**some_page.php**
<?php
    require("template.php");
    open_template();
    echo '<p>Hello world!</p>';
    close_template();
?>

**template.php**
<?php
    function open_template() {
        echo '<html><head><title>Title!</title></head><body>';
    }

    function close_template() {
        echo '</body></html>';
    }
?>

其中 open_template 和 close_template 是 template.php 中定义的函数,它们基本上显示您的内容之前和之后的任何内容。显然它可能比这复杂得多,但这将是一个比将内容放入 CSS 中更好的可维护性解决方案。

于 2012-04-05T09:58:33.277 回答