首页 文章

提供XHTML和自动关闭标签

提问于
浏览
0

我正在尝试遵循xhtml 1.0严格标准,因为我正在创建我的网站 . 现在,validator.w3.org遵循XHTML 1.0 Strict标准验证我的文档是有效的 . 这是一个代码示例:

<div style="color:#f00"><div style="color:#00f" />Text should be red and not blue</div>

不幸的是,Firefox,Chrome和Internet Explorer错误地解析了文档:它们似乎都忽略了我的自关闭标记的结束语句(主要是<div />,<li />和其他一些标记),从而导致网站错误,文字是蓝色的 . 如果我用<div> </ div>替换<div />标签,那一切看起来都很好 . 我读了它并根据xml文件,包括xhtml,可以自我关闭

以下是文档随附的重要 Headers 信息:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
        <head>
            <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />

Apache2本身仍然发送Content-Type text / html,因为我还没有弄清楚如何覆盖.php mime类型,尽管<head>中的信息应该否定这两种方式 .

如何使用自动关闭标签(例如<div />)并通过常见浏览器正确解析?

2 回答

  • 0

    XHTML是使用XML的HTML,HTML没有像你所示的自动关闭标签 . 这适用于XHTML但不适用于HTML,到目前为止,您还没有使用application / xml xhtml .

    内容类型元标记不会影响服务器为页面提供服务的方式,仅供脱机使用 . 因此,在您的情况下,您必须在服务器或PHP中设置它 .

  • 0

    用php发送:

    <?php
    header('Content-Type: application/xhtml+xml;');
    ?>
    

    这就是你使用PHP覆盖标准头文件的方法 . 你必须要小心,因为 header() 只有在尚未发送输出的情况下才有效 . 这意味着您不能在 <?php 部分之前放置任何内容,标头将不起作用,因为您的服务器已经发送了标头和任何内容 .

相关问题