2012-02-07 2 views
2

Я чувствую себя настолько глупым, как будто мне не хватает чего-то действительно очевидного, но я проверил все, что есть, и не могу понять, что случилось. Я пытаюсь использовать CSS3pie для округления углов в ie8, но это просто не займет.Не могу заставить CSS3Pie работать

У меня есть путь, установленный относительно html-документа, а не css. Это в папке пирог, так это то, что я использую в 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 пирог, который мог бы, возможно, посоветует мне на то, что я не хватает? Я пробовал его на тонне различных элементов, и он не работал один раз.

+0

Вы пытаетесь использовать относительный для сервера путь к pie.htc? Если вы просматриваете страницу в IE Dev Toolbar, после обновления вы можете увидеть, есть ли в вашем источнике CSS3-элементы? –

+0

Я буду следить за этим (я видел, как вы прокомментировали мой вопрос). Вы случайно используете GoDaddy в качестве веб-хостинга? Я пытаюсь работать в обратном порядке и вижу, есть ли какие-либо сходства с нашими проблемами. – MillerMedia

ответ

0

У меня тоже была эта проблема в мои предыдущие дни.

Вы должны сохранить файл pie.htc обычно в корне папки проекта.

Я знаю следующее решение немного странно, но вы могли бы попробовать это

Попробуйте добавить предупреждение или консоль в файле pie.htc и поместить файл в каждой папке, пока не визуализируется.

+0

Вы можете хранить файл PIE.htc в любом месте, но не обязательно в корневом каталоге. –

5

несколько вещей, чтобы попробовать:

  • Используйте ведущий слеш на своем пути:

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

    Это убедитесь, что путь является правильным в случае, если вы находитесь на странице с более чем один сегмент URI, например http://example.com/pages/archives/mypage.html. С ведущей косой чертой он будет относиться от mypage.html, а не к корневому каталогу (каким он должен быть).

  • Попробуйте ввести hasLayout (неясный объект IE), добавив position:relative; или zoom:1 к элементу. Это часто проблема, файл HTC ссылается правильно, но стили не будут применяться без него.

known issues Прочитайте страницу тщательно и убедитесь, что вы не испытываете какие-либо другого множества общих проблем.

0

Как убедиться, что ваши нагрузки HTC файл ..

  1. поставил под <script type="text/javascript">alert("test"); это предупреждает тест, когда файл загружается
  2. положить в полный URL в файле CSS behavior: url("http://www.yourwebsite.com/test/PIE.htc"); При загрузке страница появляется предупреждение :)
  3. это означает, что вы уверены, что файл загружен :)
  4. сейчас сократите behavior: url("relative to the CSS-FILE/PIE.htc"); и убедитесь, что вы по-прежнему получаете оповещать
  5. удалить предупреждение =)

Вы теперь 100% уверен, что он использует файл HTC

0

Я боролся с этим, Все, что я могу предложить попробовать это. Используйте версию Javascript с JQuery

<!--[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 & плагин migrate - некоторые из них «искусно» работают.

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

С удачей, это сделает трюк.

0

Ребята, я нашел проблему, где вы ищете. Прежде всего я использовал 2 разных веб-хостинга. 1 моей и 1 компании.

Я сделал свой полный css3 отзывчивый веб-дизайн, закодированный на моем собственном веб-сайте. Мне понадобился файл PIE.htc, чтобы получить закругленные углы, работающие для всех версий IE, и мне это удалось !.

Однако, когда я загрузил те же файлы на веб-узел своей компании, он больше не работал. И получается, что они не поддерживают файлы .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.htc к PIE.php и он будет работать.

Смежные вопросы