Página 1 de 2

CSS en un PHP ? U_U

NotaPublicado: 26 Feb 2010, 14:45
por Kashir
Buenas, estoy con mi proyecto de MPI.

Estoy haciendo una página web completamente en PHP y dividida por marcos, para quitarme complicaciones. De momento llevo esto:

Imagen

Y la división en marcos es así:

Imagen

Código del frameset:
Contenido Oculto:
Código: Seleccionar todo
<?php

echo "<html>
<head><title>.: Bolsa de Empleo IES Medina Azahara :.</title>
</head>

   <frameset cols='*,900,*' frameborder='no' border='0' framespacing='0'>
      <frame name='izq' src='content/bg.html' scrolling='No' noresize='noresize'>
   
      <frameset rows='100,*,35' frameborder='no' border='0' framespacing='0'>
         <frame name='cab' src='content/cab.php' scrolling='No' noresize='noresize'>
         
         <frameset cols='190,575,135' frameborder='no' border='0' framespacing='0'>
            <frame name='navizq' src='content/navizq.php' scrolling='No' noresize='noresize'>
            <frame name='body' src='content/body.php' scrolling='No' noresize='noresize'>
            <frame name='navder' src='content/navder.php' scrolling='No' noresize='noresize'>
         </frameset>
      
      <frame name='footer' src='content/footer.php' scrolling='No' noresize='noresize'>
      
      </frameset>
      
      <frame name='der' src='content/bg.html' scrolling='No' noresize='noresize'>
   </frameset>

<body>
</body>
</html>";

?>


Mi primera dificultad fue el fondo en los frames IZQ y DER, que tiran de BG.
html cuando debería ser PHP, pero es que no consigo poner el fondo bien sin necesidad del CSS.

BG.html lo tengo tal que así:
Contenido Oculto:
Código: Seleccionar todo
<html>
<head>
<title>Fondo</title>

<style type="text/css">
<!--
body {
   background-image: url(../images/background.gif);
   background-repeat: repeat-x;
}
-->
</style>

</head>
<body>
</body>
</html>


Y lo peor es que no es el único sitio en el que tengo complicaciones, porque en realidad que el fondo sea HTML no importa, porque no voy a interactuar con él, pero por ejemplo, quiero poner una imagen de borde en las barras de navegación y necesito cambiar los márgenes a 0, y ahí si pienso interactuar con el PHP ...

Saludos, y gracias por adelantado.

Sin más.

Re: CSS en un PHP ? U_U

NotaPublicado: 26 Feb 2010, 19:26
por debbs
Mmm... Y si en vez de framesets usas includes de php??
Sería más fácil, mucho más manejable para tí y encima te ahorras el inventillo de bg.html.
Si no sabes mucho de php, te ayudo.
Salu2

Re: CSS en un PHP ? U_U

NotaPublicado: 27 Feb 2010, 00:24
por Kashir
Gracias por tu mensaje, me enseñas como sería con los includes ?
Pero de todas formas, como pondrías lo que he pedido ? ^^"

Sin más.

Re: CSS en un PHP ? U_U

NotaPublicado: 27 Feb 2010, 03:28
por debbs
Mira, con los includes sería algo así

Ésto sería el código de tu portada loquesea.php:

Código: Seleccionar todo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
   <head>
      <title></title>
      <style type="text/css">
         body { margin:5px; background: #ffffff url(bg_cabecera.png) repeat-x; text-align:center;}
         div.contenedorPrincipal { text-align:left; margin:0px auto; width:906px; }
         div.cabecera, div.footer { border:1px solid;}
         div.cabecera { height: 100px; }
         div.contenedorBody { width:auto; overflow:hidden; margin:10px 0px;}
         div.contenedorBody div { border:1px solid; float:left}
         div.navIzq { width: 160px; height:400px;}
         div.navDer { width: 150px; height:400px; }
         div.body { width: 570px;  margin: 0px 10px; height:400px; overflow:auto }
         div.footer { height: 50px; }
      </style>
   </head>
   <body>
      <div class="contenedorPrincipal">
         <div class="cabecera"><?php include "cabecera.php"; ?></div>
         <div class="contenedorBody">
            <div class="navIzq"><?php include "nav_izq.php"; ?></div>
            <div class="body"><?php include "body.php"; ?></div>
            <div class="navDer"><?php include "nav_der.php"; ?></div>
         </div>
         <div class="footer"><?php include "footer.php"; ?></div>
      </div>
   </body>
</html>


Por si no sabes como funciona un include, es sencillamente ejecutar el código de un archivo mientras se está ejecutando otro, y se ejecuta justo en el momento en que se está haciendo la llamada. A efectos prácticos, es exactamente como si metiera el código del archivo del include en el archivo desde el cual se está llamando. La gran ventaja es la reutilización de código, y en tu caso será también que el código de los includes contendrá sólo el código que a ti te interesa meter en esa parte de la página, y te ahorrarás todo lo de <html><head></head><body>....... etc etc...
Ah!! El archivo a incluir puede ser de cualquier tipo, no necesariamente php.

En un principio lo había montado con tablas, y es posible que para tí hubiera sido más sencillo de entender, pero en el caso que quisieras una barra de desplazamiento en alguna celda, al final se habrían tenido que poner divs igualmente, así que así matamos dos pájaros de un tiro.....
Hay dos casos en que he tenido que utilizar "truquitos" de css para que funcione bien tanto en firefox como ie. Si no entiendes algo, dímelo y te lo explico con calma.

Luego, para tu otra duda, te refieres a poner una imagen de fondo en la parte derecha de nav_izq, y otra en la parte izquierda de nav_der?? Porque eso es tan fácil como poner un background-image en las dos capas en cuestión, y posicionar luego la imagen.

Bueno, espero haberte ayudado, igual ahora te parece un poco complicado pero en realidad es mucho mejor usar ésto que los framesets.

Salu2 ;)

Re: CSS en un PHP ? U_U

NotaPublicado: 27 Feb 2010, 04:29
por Kashir
Antes que nada, gracias por tu ayuda y disponibilidad, debbs.

El planteamiento y la teoría lo he comprendido bien, ya la cosa sería probar y hacerme, cosa que no sé si podré en 5 días, ya que la base es menos trabajo que el contenido. xD

Eso sí, lo que no entiendo es el código que me has puesto. Está completamente escrito en HTML, y así tampoco tengo yo problemas, el caso es que necesito que sea PHP porque las páginas a las que llamaré para poner en el frame BODY pues debe ser PHP, y ya probé mezclando y tuve mis fallos, vamos, que había cosas que no funcionaban.

Sin más.

Re: CSS en un PHP ? U_U

NotaPublicado: 27 Feb 2010, 13:09
por debbs
pero es que tu página sigue siendo php,

Siempre que tú guardes la página como loquesea.php, es lo mismo poner
<?php echo "<html><head></head><body>cucu</body></html>"; ?>
que poner <html><head></head><body><?php echo "cucu"; ?></body></html>
que poner <html><head></head><body>cucu</body></html>.

La única diferencia es que de las dos primeras maneras le estás dando al servidor un trabajo que no le toca hacer. ¿Por qué? Porque ese "cucu" va a ser escrito en el resultado html exactamente igual como si lo hubieras hecho de la tercera manera.
Me explico?? Creo que, o yo no me explico, o tú estás confundido en el concepto de lo que es un lenguaje de servidor...

Salu2

Re: CSS en un PHP ? U_U

NotaPublicado: 27 Feb 2010, 13:27
por Kashir
No, mal no te explicas, tal vez eres muy técnico, pero te comprendo bien, lo que pasa es que está creandome un conflicto lo que me dices de que no hace falta con lo que me dijeron que sí hacía falta. xD

El caso es probar y ya está, en cuanto pueda lo hago y aviso.

Sin más.

Re: CSS en un PHP ? U_U

NotaPublicado: 27 Feb 2010, 14:17
por debbs
No te preocupes, esto nos ha pasado a todos alguna vez!
Parece complicado al principio, pero es muy fácil, sólo hay que entender cómo funciona un lenguaje de servidor.
En resumen, para que lo entiendas, tu llamas a un php, y ese php puede tener código php (que es lo lógico) o puede no tenerlo.
Como el encargado de ejecutar código php es el servidor, pues éste cogerá el archivo y ejecutará todo lo que esté entre las etiquetas <?php ... y .... ?>, y el resto, lo enviará tal cual al navegador, porque él ya ha acabado su trabajo y no se ocupará de nada más que no esté entre esas etiquetas.
Si en tu código php hay un echo (que también es lo lógico), entonces el contenido de tu echo será enviado al navegador junto con el código html que el servidor está ignorando, pero la idea es que lo que puedas poner con html lo pongas con html, ya que será más sencilla para ti la programación.
Es muy muy fácil, así que ánimo!

Ah! y si alguien te ha dicho que todo el html que quieres que saque tu php tienes que sacarlo con echo "todo_el_contenido";, entonces te diré que esa persona tiene menos idea que tú de como funciona todo esto.

Por cierto, soy una chica :wohow:

Salu2

Re: CSS en un PHP ? U_U

NotaPublicado: 27 Feb 2010, 14:55
por newboy
Los frames o marcos ya están obsoletos, la mejor forma para lo que necesitas así básico es lo que dice debbs, mediante inclusión de archivos.

Yo lo haría a mi forma si el resultado final es el mismo que pide el profesor, muchas veces, se entiende más en unos temas que el profesor.

Salu2 y bienvenida debbs.

Re: CSS en un PHP ? U_U

NotaPublicado: 28 Feb 2010, 15:56
por debbs
Gracias por la bienvenida newboy, yo pienso igual que tú, bueno siempre depende de lo que te pida el profesor y de lo que sepa el profesor, claro! aunque a veces no saben mucho más que tú, bueno rectifico, a veces no saben mucho :wohow: