Artículos en ‘Css’

Frames en HTML

Aug 29

Antes de usar Ajax era un fan de los frames, más concretamente del iframe. Creo que en algunos casos puede ser muy útil en una página, aunque algunos no los recomiendan y los tachan de herejía.

Etiquetas para trabajar con Frames

  • <frameset>
  • <frame>
  • <noframes>
  • <iframe>

Empezando con frames

Los frames son etiquetas html que nos permitirán mostrar más de un documento html en la misma pantalla, cada frame mostrará un documento y será independiente del resto.

Podemos definir tantos frames como queramos, tanto en posición vertical (columnas) como horizontal (filas)

Por ejemplo, si queremos dividir nuestra página en dos bloques verticales (columnas) ambas del mismo tamaño, deberías hacer lo siguiente:

<frameset cols=”50%,50%”>
<frame src=”documento1.htm”>
<frame src=”documento2.htm”>
</frameset>

documento1.html documento2.html

Para el tamaño de las columnas, podemos utilizar % o pixels (si queremos pixels bastaría con no indicar nada) según nos convenga.

También podemos utilizar el * como comodín para referirnos al resto de tamaño de la pantalla, veamos diferentes ejemplos:

/*Usando porcentajes*/

<frameset cols=”50%,50%”>

<frameset cols=”75%,20%”>

/*Usando pixels*/

<frameset cols=”300,200″>

/*Usando el comodín*/

<frameset cols=”50%,*”>

Etiqueta <noframes>

Algunos navegadores, como por ejemplo los de los móviles puede que no tengan soporte para frames, por lo que se debe de utilizar la etiqueta <noframes>, la cual mostrará su contenido en caso de que no se puedan mostrar los frames.

Un ejemplo sencillo de una página con 3 columnas y preparada con noframes sería el siguiente

<frameset cols=”15%,60%,25%”>
<frame src=”frame1.htm”>
<frame src=”frame2.htm”>
<frame src=”frame3.htm”>

<noframes>
<body>Tu navegador no soporta los frames</body>
</noframes>

</frameset>

Importante acordarse de poner la etiqueta <body></body> dentro de <noframes> y no fuera.

Si queréis hacer vuestras pruebas con frames, pasar por aquí.

Frames verticales y horizontales juntos (Mixto)

El límite de los frames lo pone nuestra imaginación, no sólo podemos tenerlos verticales y horizontales sino que también podemos mezclarlos a nuestro antojo.

Por ejemplo, supongamos que queremos algo así:

frame1Cabecera.htm
frame2MenuIzquierda.htm frame3Central.htm

Podemos ver cómo en nuestra página habría 3 frames, pues para llevarlo a cabo nuestro código sería de esta forma:

<html>

<frameset rows=”50%,50%”>

<frame src=”frame1Cabecera.htm”>

<frameset cols=”30%,70%”>
<frame src=”frame2MenuIzquierda.htm”>
<frame src=”frame3Central.htm”>
</frameset>

</frameset>

</html>

Propiedad noresize

Por defecto cuando nosotros establecemos frames en una página el visitante puede modificar su tamaño (resize) pero en el caso de que nosotros no queramos darle esta libertad, podemos hacer uso de la propiedad noresize de la siguiente manera.

<frame noresize=”noresize” src=”frame1.htm”>

Cambiar la página de un frame

Ahora que tenemos nuestra página dividida en frames tenemos que aprender cómo movernos de uno a otro y para ello lo primero que tendremos que hacer será darles nombres para poder distinguirlos.

Para asignarle un nombre a un frame lo haremos con el atributo name.

<frame name=”nombreframe1″ src=”frame1.html”>

Ahora, cuando queramos que un enlace cargue algo en ese frame, bastará que en el link indiquemos, mediante el atributo target el nombre del frame destino, en este caso, nombreframe1.

<a target=”nombreframe1″ href=’pagina1.html’>Enlace a Frame 1</a>

Ahora al pulsar sobre el enlace, la página “pagina1.html” se cargará en el frame “nombrefram1“.

Iframe, frame flotante

Se trata de un frame pero “flotante” es decir, no es necesario establecer un <frameset> sino que podemos integrarlo de manera muy sencilla en cualquier parte de nuestra página.

Normalmente es usado para incluir publicidad en nuestras páginas o para introducir partes de otras páginas en las nuestras, pero desde que comenzó a usarse AJAX, los iframes han caído en desuso por razones tanto de usabilidad cómo de comodidad.

Parámetros del iframe

  • name
  • src
  • frameborder (0 -invisible)
  • marginwidth
  • marginheight
  • scrolling (yes|no|auto)
  • align (left|center|right|justify)
  • height
  • width

Uno de los mayores problemas al usarlo es, cómo definirlo para que pase desapercibido con el resto de la página y para ello necesitamos tener en cuenta los parámetros frameborder y background-color.

Con poner el frameborder a 0 evitaremos que se note como un elemento diferente de la página y con el background-color del mismo color que la página será completamente imposible diferenciarlo a simple vista.

<IFRAME scrolling=no src=”http://adplex.biz/ad/view_ad.php” NAME=”Ad” frameborder=”0″ style=”background-color: #000000″></IFRAME>

Es posible que en algunos casos no cuadre bien el contenido dentro del iframe y aparezcan las barras laterales, pero no hay problema, podemos mostrar y ocultar las barras de desplazamiento a nuestro antojo o bien utilizar el parámetro scrolling=no.

Mostrar y ocultar información en una capa al pasar el ratón

Aug 28

El otro día me llegó un mail de una persona que me pedía ayuda para poder hacer una función javascript que le permitiera mostrar y ocultar información en una capa cuando ponía el ratón sobre ella o no (respectivamente)

Para ello, desde mi punto de vista, se puede hacer con el método innerHTML, que no es muy querido por algunos debido a su implicación con Microsoft, pero para nuestro ejemplo nos servirá perfectamente.

Lo primero será crearnos la capa en la cual cambiaremos el contenido cuando pasemos el ratón.

<div id="nombre_capa" ></div>

Lo siguiente será crearnos el elemento que provocará, al pasar sobre él, que se muestre u oculte la información:

<img src="imagen.jpg" onmouseover="javascript:mostrar()" onmouseout ="javascript:ocultar()" />

Ahora crearemos ambas funciones javascript que utilizando el método innerHTML modificarán el contenido de la capa “nombre_capa”


<script language="JavaScript">

function mostrar() {
nombre_capa.innerHTML="Texto a mostrar";
}
function ocultar() {
capa.innerHTML=""
}

</script>

Y con esto ya tenemos montado un sistema sencillo para mostrar / ocultar texto en una capa al pasar el ratón por cualquier elemento de nuestra página.

CSS reset

Aug 19

Nunca había oído hablar de esta técnica CSS, por lo visto sirve para limpiar todos aquellos estilos que vienen por defecto en un navegador y que se aplican sobre nuestras páginas.

Realmente no sé la repercusión que puede tener en una página el aplicar esta técnica, pero si alguna vez da problemas algún estilo CSS por probar no se pierde nada.

Menús CSS profesionales

Jun 24

Interesante recopilación de 7 menús CSS profesionales para incluir directamente en tu página.

Menu Itunes con CSS y JQuery

Jun 05

Menú Itunes con css y Jquery

¿Has soñado alguna vez con tener en tu página un menú al estilo de itunes? pues estás de suerte por que Paul Bakaus ya lo ha hecho por ti, si quieres puedes ver un ejemplo de su funcionamiento.

Convierte ficheros PSD a CSS

Jun 03

Muchas plantillas web vienen en formato PSD con esta gran página web totalmente gratuita podremos pasar esas plantillas a formato css + html