div Цвет фона скрывает его содержимое перед тегом select в XSLT с IE - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть div с встроенным фоновым цветом (атрибут style), в котором у меня есть заголовок, тег 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 /> решит проблему.

Теперь я спрашиваю себя, стоит ли не снимать вопрос.Если на следующий день об этом не будет комментариев или мне посоветуют, я его удалю.


ОБНОВЛЕНИЕ2: Я выложил пример в Интернете.И то, как это должно выглядеть, и проблемный xslt-преобразованный xml, присутствующий в http://kingdom7.free.fr/helpcenter/index.html

1 Ответ

1 голос
/ 09 ноября 2010

Помещенный

<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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...