2

本当に明らかな何かが欠けているような気がしますが、すべてをたくさんチェックしましたが、何が悪いのかわかりません。CSS3pie を使用して ie8 で角を丸くしようとしていますが、うまくいきません。

css ではなく、html ドキュメントに相対的なパスを設定しました。これは pie というフォルダーにあるので、CSS で使用しているものは次のとおりです。

#recommended-acc {
float: left;
width: 472px;
background: url(../img/cont_bg.png) repeat;
margin: 10px;
padding: 0 10px 6px 0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
behavior: url(pie/PIE.htc);
border-radius: 5px;
border: 1px #d8d8d8 solid;
 }

私が欠けているものについて私にアドバイスできるかもしれないcss3パイについてもっと知っている人はいますか? さまざまな要素で試してみましたが、一度も機能しませんでした。

4

5 に答える 5

5

試してみるいくつかのこと:

  • パスの先頭にスラッシュを使用します。

    behavior: url(/pie/PIE.htc);
    

    これにより、http://example.com/pages/archives/mypage.html. 先頭のスラッシュがmypage.htmlない場合は、ルート ディレクトリ (そうあるべき) からではなく、相対的なディレクトリになります。

  • 要素にorを追加して強制hasLayout(あいまいな IE のこと) を試みます。多くの場合、これが問題になります。HTC ファイルは正しく参照されていますが、スタイルはそれなしでは適用されません。position:relative;zoom:1

既知の問題のページを注意深く読み、他の多くの一般的な問題が発生していないことを確認してください。

于 2012-02-09T11:09:49.753 に答える
0

私も以前はこれらの問題を抱えていました。

通常、プロジェクト フォルダーのルートに pie.htc ファイルを保持する必要があります。

次の解決策は少し奇妙ですが、試してみてください

pie.htc ファイルにアラートまたはコンソールを追加してみて、レンダリングされるまでファイルを各フォルダーに配置します。

于 2012-02-09T10:58:44.480 に答える
0

みんな、あなたが探している問題を見つけました。まず、2 つの異なる Web ホストを使用しました。私自身の1つと会社の1つ。

私は自分のウェブサイトで完全な css3 レスポンシブ ウェブデザインを手作業でコーディングしました..すべての IE バージョンで角を丸くするために PIE.htc ファイルが必要でしたが、成功しました!.

ただし、同じファイルを会社の Web ホストにアップロードすると、機能しなくなりました。そして、.htc ファイルをサポートしていないことが判明しました。だから私は頭をかきむしり、それも正しく理解できませんでしたが、このプロバイダーが PIE.php ファイルで動作することを発見しました。

したがって、これが機能しない場合。

.bg {
    border-radius:60px;
    width: 80%;
    height: 85%;
    position: fixed;
    top: 10.2%;
    left: 18%;
    z-index: 1;
    border:3px solid #fff; 
    background:#fff;
    behavior: url(pie/PIE.htc);

これよりも。

.bg {
    border-radius:60px;
    width: 80%;
    height: 85%;
    position: fixed;
    top: 10.2%;
    left: 18%;
    z-index: 1;
    border:3px solid #fff; 
    background:#fff;
    behavior: url(pie/PIE.php);

PIE.htcPIE.phpに変更するだけで動作します。

于 2014-03-13T08:08:43.730 に答える
0

私はこれに苦労しました。私が提案できるのは、これを試すことだけです。jQuery で Javascript バージョンを使用する

    <!--[if lt IE 9]>
          <script type="text/javascript" src="js/PIE_IE678.js"></script>
        <![endif]-->
        <!--[if IE 9]>
          <script type="text/javascript" src="js/PIE_IE9.js"></script>
        <![endif]-->

  <!--[if IE]>
            <link rel="stylesheet" type="text/css" href="css/ie.css"/>
            <script>
               $(function() {
                if (window.PIE) {
                    $('.Circle').each(function() {
                        PIE.attach(this);

                      //  alert("Attached");
                    });
                }
            });
            </script>

           <![endif]-->

CSS で、.Circle クラスまたは CSS 3 を使用している任意のクラスを使用して、次のように指定します。

ズーム: 1; 位置: 相対;

jQuery と移行プラグインを使用しているときに見つけたもう 1 つのメモ - これらの作業は「細かい」ものもあります。

<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>

運が良ければ、それでうまくいくでしょう。

于 2013-09-18T14:26:34.183 に答える
0

HTC ファイルの読み込みを確認する方法..

  1. <script type="text/javascript"> alert("test"); ファイルのロード時にこのアラート テストの下に置く
  2. あなたのcssファイルに完全なURLを入れてbehavior: url("http://www.yourwebsite.com/test/PIE.htc"); くださいページをロードするとアラートが表示されます:)
  3. これは、ファイルが確実に読み込まれることを意味します:)
  4. 今すぐ短くしてbehavior: url("relative to the CSS-FILE/PIE.htc");、それでもアラートが表示されることを確認してください
  5. アラートを削除 =)

HTCファイルを使用していることを100%確信しています

于 2012-11-26T15:25:20.460 に答える