Как использовать 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:
- Поместите файл htc в папку "/public/htc/pie.htc".
Добавьте в файл *.css запись "поведение: url(htc/pie.htc);" (без кавычек)
Найдите файл журнала на вашем веб-сервере (в моем случае Apache), где вы можете увидеть файлы, загружаемые веб-браузером. В моем случае я нашел это в access.log.
- Я зашел на http://localhost/stats/machines/mem
Я проверил файл access.log и обнаружил 127.0.0.1 - - [17/Feb/2012:12:55:05 +0100] "GET /stats/machines/htc/pie.htc HTTP/1.1" 404 6256
Затем я изменил файл *.css следующим образом: "поведения: url(../../htc/pie.htc);"
Я зашел на http://localhost/stats/machines/mem
- Я проверил файл 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 / тип ( инструкции здесь)