Hola amigos.
Lo primero de todo, perdón por la indefinición del título, pero la verdad no sé de dónde puede provenir el problema para describirlo.
Por eso, la única forma que tengo de mostrároslo es con una imagen. Como véis, la función es listar los directorios contenidos en un directorio, pero únicamente en algunos de ellos los muestra fatal (y eso es más extraño aun, porque el código que recibe es idéntico al del resto).
Os comento que sólamente me pasa con firefox 3.6 e inferiores, con otros navegadores no.
He coloreado los bordes de los DIV para facilitar la comprensión de la estructura.
Pego el código
Código PHP:
Ver original<?php
//imprime un div con los directorios contenidos en el directorio solicitado
echo "<div class=\"contenedor\">";
echo " <h4>Carpetas</h4>";
//Guarda en una variable todos los directorios contenidos en el directorio actual
$i = 0;
while ($archivo = readdir ($puntero)) if (($archivo != '.') && ($archivo !='..') && is_dir ($directorio.$archivo)) $archivo_ordenado [] = $archivo;
//Los ordena alfabéticamente y los imprime con sus enlaces
if (!empty ($archivo_ordenado)) {
foreach ($archivo_ordenado as $archivo) { ?>
<a class="directorio" href="<?php echo "$linkear?{$otrosparametros}&dir={$parametroget}{$archivo}";?>/" target="_top">
<div class="div_img_directorio">
<img src="/imagenes/carpeta.png" />
</div>
<div class="div_txt_directorio">
<?php echo $archivo;?>
</div>
<div class="clear">
</div>
</a>
<?php }
//O bien, si no había directorios, informa de ello.
} else echo "<p>El directorio no contiene carpetas.</p>";
//finaliza el FLOAT y cierra el div contenedor de los directorios
echo "<div class=\"clear\"></div></div>";
?>
Código CSS:
Ver original.contenedor {
margin: 20px;
background-color: #f8f8f8;
overflow: hidden;
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px 10px 10px 10px;
behavior: url(../estilos/PIE.php);
border-style:solid;
border-width:1px;
border-color:#ccc;
font-size: 0.8em;
}
.contenedor p {
margin: 10px;
}
h4 {
margin: 5px 5px 5px 10px;
}
.directorio, .fichero {
display: block;
float: left;
margin: 10px;
background-color:#f8f8f8;
border-style:solid;
border-width:1px;
border-color:#f8f8f8;
border-color:red;
}
.directorio:hover, .fichero:hover {
border-bottom-style:solid;
border-bottom-width:1px;
border-bottom-color:#aaa;
border-right-style:solid;
border-right-width:1px;
border-right-color:#aaa;
border-top-style:solid;
border-top-width:1px;
border-top-color:/*#f4f4f4*/#ddd;
border-left-style:solid;
border-left-width:1px;
border-left-color:#ddd;
}
.directorio:hover {
-webkit-box-shadow: 1px 1px 3px #ccc;
-moz-box-shadow: 1px 1px 3px #ccc;
box-shadow: 1px 1px 3px #ccc;
}
.fichero:hover {
-webkit-box-shadow: 1px 1px 10px #ccc;
-moz-box-shadow: 1px 1px 10px #ccc;
box-shadow: 1px 1px 10px #ccc;
}
.directorio:active, .fichero:active {
margin: 11px 9px 9px 11px;
padding: 0;
box-shadow: none;
}
.directorio {
width: 175px;
height: 50px;
}
.div_img_directorio, .div_txt_directorio {
float: left;
}
.div_img_directorio img {
max-width: 50px;
max-height: 50px;
}
.div_img_directorio {
width: 50px;
height: 50px;
border: 1px solid blue;
}
.div_txt_directorio {
margin:10px;
width:105px;
overflow:hidden;
border: 1px solid green;
width: 100px;
}