css internet-explorer css3 css3pie

dónde pongo el archivo PIE.htc(para hacer que IE funcione con CSS3) cuando estoy usando cakephp



internet-explorer css3pie (4)

Intenta usar una ruta absoluta:

behavior: url(/path/to/PIE.htc);

Tenga en cuenta la barra diagonal delantera. De esta forma, sin importar cuál sea la página actual, la ruta al archivo .htc seguirá siendo la misma.

Una URL completa también funcionará:

behavior: url(//example.com/path/to/PIE.htc);

Si usa una url completa, use una url relativa al protocolo para no recibir advertencias de contenido inseguro cuando cambie a https.

Muchos elementos necesitan position:relative o zoom:1 cuando se usa PIE para comportarse en IE, asegúrese de verificar la página de problemas conocidos y jugar hasta que funcione.

Estoy intentando usar PIE.htc , que es un script que espero me permita usar las características de CSS3 en IE6-8. También estoy usando Cakephp (que estoy empezando a amar)

De acuerdo con las instrucciones, simplemente pego el archivo PIE.htc en cualquier lugar que desee y luego agrego el behavior: url(path/to/PIE.htc); al CSS. Así que tengo:

input[type=text]{ width:348px; height:30px; border:1px solid #ddd; padding:3px; background:url(../img/formfieldbg.gif) repeat-x; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; vertical-align:top; behavior: url(path/to/PIE.htc);}

También dice: Nota: esta ruta es relativa al archivo HTML que se está viendo, no al archivo CSS desde el que se llama.

Estoy usando Cakephp y no importa lo que puse para la ruta y no importa dónde coloque el archivo PIE.htc ¡No puedo hacer que funcione! Cuando lo veo en IE6 mis entradas todavía no tienen las esquinas redondeadas encantadoras como lo hacen en FF.


Debe especificar el archivo pie.php. Su contenido es como a continuación:

<?php /* This file is a wrapper, for use in PHP environments, which serves PIE.htc using the correct content-type, so that IE will recognize it as a behavior. Simply specify the behavior property to fetch this .php file instead of the .htc directly: .myElement { [ ...css3 properties... ] behavior: url(PIE.php); } This is only necessary when the web server is not configured to serve .htc files with the text/x-component content-type, and cannot easily be configured to do so (as is the case with some shared hosting providers). */ header( ''Content-type: text/x-component'' ); include( ''PIE.htc'' ); ?>

Eso debería resolver el problema.


Si está utilizando mod_rewrite , entonces el siguiente truco pequeño podría ser para usted:

RewriteRule /PIE.htc$ PIE.htc [L]

¡Agregue esto a .htaccess y voila! Ahora PIE.htc está mágicamente presente en cada carpeta :)


Estaba usando CodeIgniter con un mod_rewrite . Basado en la respuesta de Septagram, obtuve lo siguiente para trabajar

RewriteEngine on RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] #if the url contains PIE.php redirect to the folder containing PIE.php RewriteCond %{REQUEST_URI} PIE.php$ RewriteRule ^.*$ css3pie/PIE.php [NC,L] #else just redirect to index RewriteRule ^.*$ index.php [NC,L]

Espero que esto ayude a alguien