代码之家  ›  专栏  ›  技术社区  ›  Maslow

什么会影响文本在<div>之外的位置?

  •  0
  • Maslow  · 技术社区  · 15 年前

    什么会影响文本在外部的位置? <div>...</div> ?他们使用相同的CSS,但文本显示在2个不同页面的2个位置。

    以下是两个示例页面:

    主页链接显示在正确的位置: CodeList

    主页链接显示在错误的位置: Code Assessment

    我复制并粘贴了代码表上的所有顶层HTML到代码评估,文本倾斜仍然存在。我在Visual Studio中打开了ShowWhitespace,但由于我认为相关的文本是被复制和粘贴的,所以没有显示任何内容。

    我使用的是来自 FreeCssTemplates . 这些链接的位置与它们的预期用途无关,我只是将HTML复制并粘贴到可以轻松链接它们以供测试和帮助的地方。所以我知道表单组件可能看起来不工作,但这不是它们的家。他们在我的地盘和卡西尼内部工作。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Abel    15 年前

    不确定您的问题是什么,但我的建议是:在尝试修复设计或呈现错误(或浏览器相关错误)之前,确保所有HTML代码都经过验证。在任何情况下,都不要将任何布局放置在 <body>...</body> . 修好它,你就可以在上面有效地使用CSS了。

    在同时删除的答案中,小彼得·拉科姆发现了在需要URI的地方使用的反斜杠。反斜杠在Windows中的其他任何地方都是非法的(然后只对文件路径)。对于uri、urls等:不要使用反斜杠。它们没有特殊的意义。另一方面,正斜杠有特殊的含义:作为路径分隔符。

    进一步了解:
    有问题的页面以注释开头。我不知道你为什么把它放在那里,但这会触发向后兼容模式。您的代码是XHTML。让它从XML声明开始。此外,修复 <script> 彼得建议的尸体,就像这样:

    <script ...>
    //<![CDATA[
         functionA(...) { blabla; }
         functionB(...) { blabla; }
         etc...
    // ]]>
    </script>
    

    不,它不影响JavaScript本身。只是为了让写作更容易 < & ,需要转义,但不在XML中 CDATA 部分。你 应该 实际上,在使用XHTML时总是这样做。

    要检查文档是否处于向后兼容性(quirks)模式,请在加载页面后在IE的地址栏中键入以下内容。你会注意到这两个页面是不同的:

    javascript:alert(document.compatMode);
    
        2
  •  1
  •   Chris    15 年前

    我看到你正在为你的应用程序使用.NET。您是否使用母版页进行网站布局?我假设你是。

    codeassessment.aspx页面上标记的部分:

    <div id="Div1"></div>
    

    可能根本不应该被复制和粘贴到那个页面上。该部分可能已留在母版页上。内容区域是应用程序的存放位置(下拉列表、单选按钮等)。

    看一看 using Master Pages 在ASP.NET上,查看它们如何拆分网站并将母版页与内容页结合使用。

    你真正要做的就是确保你的母版页是有效的,然后你的内容页应该像预期的那样工作。

    祝你好运,希望能有所帮助。