Как использовать border-radius.htc с Zend Framework

Я строю модуль рисования диаграмм в одном из проектов, над которыми я работаю в эти дни. В этом модуле я рисую круги с помощью css, и для этого мне нужно использовать свойство -moz-border-radius:. Он отлично работает в FF, но не в IE. Чтобы заставить его работать в IE, я должен использовать "border-radius.htc" как решение проблемы. (Я использую его как "поведение: url(border-radius.htc);").

Теперь это работает нормально, когда я запускаю модуль как отдельный на моем ПК. Но когда я встраиваю свой код в Zend Framework, я не вижу, как круги рисуются в IE (в FF да, они отображаются). Я попытался переместить файл border-radius.htc в каталог public/htc/ и затем предоставить правильный URL в свойстве поведения: url(). Но без разницы. Я пытался найти в Интернете эту проблему, но не смог найти полезной информации. Мне нужна помощь, чтобы заставить это работать.

Кто-нибудь будет достаточно любезен?:)

3 ответа

У меня была такая же проблема, когда я пытался заставить PIE работать в моем проекте Zend, и нашел это решение:

Добавьте PIE.htc и PIE.php в ваш каталог css /.

Не определяйте атрибут поведения в файле CSS, а открывайте тег стиля в вашем index.phtml

<style type='text/css'>

    .pie {
        behavior: url(<?php echo $this->baseUrl("/css/PIE.php")?>); 
    }

</style> 

И добавьте класс пирога к вашему элементу, например

<div id="rounder-window" class="rounded-corners pie">
    foo
</div>

Конечно, вы можете определить класс закругленных углов в вашем файле CSS

.rounded-corders {

    border-radius: 10px;

    -ms-border-radius: 10px;

    -moz-border-radius: 10px;

    -webkit-border-radius: 10px;

    -o-border-radius: 10px;

  }

Я надеюсь, что это может помочь кому-то еще, пытаясь использовать возможности Zend Framework и PIE.htc в IE. Мои шаги, чтобы узнать, где ZF ищет файл htc:

  1. Поместите файл htc в папку "/public/htc/pie.htc".
  2. Добавьте в файл *.css запись "поведение: url(htc/pie.htc);" (без кавычек)

  3. Найдите файл журнала на вашем веб-сервере (в моем случае Apache), где вы можете увидеть файлы, загружаемые веб-браузером. В моем случае я нашел это в access.log.

  4. Я зашел на http://localhost/stats/machines/mem
  5. Я проверил файл access.log и обнаружил 127.0.0.1 - - [17/Feb/2012:12:55:05 +0100] "GET /stats/machines/htc/pie.htc HTTP/1.1" 404 6256

  6. Затем я изменил файл *.css следующим образом: "поведения: url(../../htc/pie.htc);"

  7. Я зашел на http://localhost/stats/machines/mem

  8. Я проверил файл access.log и обнаружил 127.0.0.1 - - [17/Feb/2012:12:56:41 +0100] "GET /htc/pie.htc HTTP/1.1" 304 -

Мое обновление *.css (добавить../../) может работать не во всех случаях, но да, процесс, который показывает, как найти решение. Я надеюсь...:)

Какой веб-сервер вы используете? Если это не сервер Windows (IIS), то вам нужно добавить MIME / тип ( инструкции здесь)

Другие вопросы по тегам