div背景颜色在使用IE的XSLT中的select标记之前隐藏其内容

时间:2010-11-09 12:23:53

标签: css internet-explorer xslt select

我有一个内嵌背景颜色(样式属性)的div,其中我有一个标题,一个noscript标签和一个带有下拉菜单的表单(选择标签)。

如果在下拉菜单中找到标题和noscript,则它们隐藏在背景颜色后面,只有在用鼠标选择文本时才会再次聚焦。以下是重现问题所需的最小代码示例(例如,我删除了javascript代码)。此代码也是一个静态的html文档,然后就不会出现问题。

<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
  <html>
  <head>
  <title>Help Center</title>
  </head>
  <body style="font-family:Arial, sans-serif;margin:0px;">
    <div style="background-color:#fffacd;">
      <h1 style="z-index:2">Help Center</h1>
      <noscript>
      <p><font color="red"><b>The Help Center require javascript for optimal use.</b></font></p>
      </noscript>
      <form>
      <select name="release" onchange="return showHide(this);">
      <option value="632" selected="selected">632</option>
      <option value="633">633</option>
      <option value="634">634</option>
      </select>
      </form>
      <br />
    </div>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

但是,如果内容位于select标记之后,则所有内容都会正确显示。

<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
  <html>
  <head>
  <title>Help Center</title>
  </head>
  <body style="font-family:Arial, sans-serif;margin:0px;">
    <div style="background-color:#fffacd;">
      <form>
      <select name="release" onchange="return showHide(this);">
      <option value="632" selected="selected">632</option>
      <option value="633">633</option>
      <option value="634">634</option>
      </select>
      </form>
      <h1 style="z-index:2">Help Center</h1>
      <noscript>
      <p><font color="red"><b>The Help Center require javascript for optimal use.</b></font></p>
      </noscript>
      <br />
    </div>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

更新 有一个缺少元素来重现问题:在我的问题代码中,在表单标记之后有<br />。顺便说一句,删除<br />解决问题。

现在,我问自己是否值得删除这个问题。如果第二天没有评论,或者我被告知,我会将其删除。


UPDATE2: 我在网上带了这个例子。它应该看起来如何以及有问题的xslt-transformed xml出现在http://kingdom7.free.fr/helpcenter/index.html

1 个答案:

答案 0 :(得分:1)

<xsl:output 
  method="html"
  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
  doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
样式表中的

(作为xsl:stylesheet元素的子代)。