5

html5boilerplateに基づくDiazoテーマファイルがあります。テーマは、要素に対する条件付きコメントを使用して<html>、InternetExplorerの特定のバージョンを識別します。

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!-- Consider adding an manifest.appcache: h5bp.com/d/Offline -->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

ただし、テーマが適用されると、Diazoはこれらの条件付きコメントと最後のコメントのみを削除するようです

<!--<![endif]-->

最終的なマークアップに残されて、次のようなものが生成されます

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" class="no-js" lang="en" xml:lang="en"><!--<![endif]-->

比類のないendif<html>タグ内(たとえば<head>、ドキュメント内またはドキュメントのさらに下)で条件付きコメントを使用すると、問題なく機能するようです。

この問題があるテーマとルールファイルの例は、次のURLで入手できます。

https://github.com/hexagonit/hexagonit.themeskel/blob/master/hexagonit/themeskel/templates/less_theme/+namespace_package+/+package+/theme_resources

私はgood-pyの関連するKGSバージョンでplone.app.theming1.0b8を使用しています。

4

2 に答える 2

2

これはDiazoのバグのようです。コンポーネント「Diazo」を使用して、Ploneバグトラッカーに追加してください。

于 2011-09-30T00:57:45.687 に答える
0

これに対する回避策は、<body>タグに条件付きコメントを使用することですが、Diazo は Plone の body タグにいくつかのクラスを追加する必要があります。

<merge attributes="class" css:theme="body" css:content="body" />

したがって、第 3 の回避策は、このような div ブロックで条件付きコメントを使用することです。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="css/style.css">
  <title>Title</title>

</head>
<body>
  <!--[if lt IE 7]> <div class="no-js ie6 oldie"> <![endif]-->
  <!--[if IE 7]> <div class="no-jsie7 oldie"> <![endif]-->
  <!--[if IE 8]> <div class="no-js ie8 oldie"> <![endif]-->
  <!--[if gt IE 8]><!--> <div class="no-js"> <!--<![endif]-->

    <div id="content"></div>

  </div><!-- Browser Detection -->
</body>
</html>

Plone で生成された html の全体的な見苦しさを考えると、私はこれに耐えることができました。

于 2012-01-24T12:29:56.293 に答える