Cargando...
Menu Ver sumario
Blogger para torpes y para no tanto.



Contadores


Position: Imágenes fijas... o desubicadas II

30/03/2009
Ver: Positión: Imágenes fijas... o desubicadas I.

Además del anteriormente comentado FIXED, los otros valores interesantes para el atributo POSITION, son ABSOLUTE y RELATIVE. Con ellos podemos conseguir que un elemento se muestre en un lugar distinto del que le correspondería. Como este concepto es un poco farragoso y explicarlo con palabras resulta bastante espeso, mejor damos unas explicaciones gráficas.

Empezaremos por un posible valor más, que todavía no hemos mencionado y que es STATIC. No reviste especial interés porque es el que llevan por defecto todos los elementos HTML. Tanto si se indica un POSITION:STATIC; como si no se coloca ningún atributo de posición, el elemento se colocará en nuestra pantalla justo a continuación del último elemento mostrado. Lo que hasta ahora hemos considerado normal o en su sitio.

En el ejemplo, colocamos un texto, una imagen y otro texto y en ese mismo orden. Suponemos que no hemos insertado ningún salto de línea, etiqueta de párrafo, o similar.

<span style="text-align: left;">Juego de ingenio para romperse la cabeza <a href="http://singenio.com/" title="S*Ingenio"><img style="position: static;" src="http://i252.photobucket.com/albums/hh27/olomansan/88x31.gif" /></a> ¿Hasta dónde podrás llegar?</span>

Juego de ingenio para romperse la cabeza ¿Hasta dónde podrás llegar?
Ejemplo 1
(*) Aprovechamos para hacernos algo de publi.

ABSOLUTE funciona prácticamente igual que FIXED, puesto que sitúa los elementos a la distancia del margen que se indique. Pero hay una sutil e importante diferencia... Mientras que TOP/BOTTOM - RIGHT/LEFT estaban referenciados con FIXED a los límites de nuestra ventana o pantalla, con ABSOLUTE las referencias son los márgenes del bloque contenedor del elemento. Si no hay ninguno específico, se considera como contenedor el BODY.

En el siguiente ejemplo el DIV que forma el rectángulo rojo es la referencia, por cual, cuando indicamos un valor absoluto de BOTTOM:31PX; y LEFT:31PX; los desplazamientos se hacen con respecto a los márgenes de ese DIV.

<span style="text-align: left;">Juego de ingenio para romperse la cabeza <a href="http://singenio.com/"><img style="position: absolute; bottom: 31px; left: 31px;" src="http://i252.photobucket.com/albums/hh27/olomansan/88x31.gif" /></a> ¿Hasta dónde podrás llegar?</span>

Juego de ingenio para romperse la cabeza ¿Hasta dónde podrás llegar?
Ejemplo 2

De esta manera, el botón NO se nos va abajo y a la izquierda de la pantalla como pasaría con FIXED, sino que se coloca a 31px del borde inferior del recuadro y a otros 31px de su lado izquierdo.

Es importante tener en cuenta que para que este atributo funcione como queremos, el contenedor del elemento debe estar fijado a su vez con FIXED, ABSOLUTE o RELATIVE. Como veremos ahora, salvo que se quiera también sacar el rectángulo rojo del flujo normal, lo correcto sería usar POSITION:RELATIVE; sin parámetros, que es lo mismo que dar instrucciones para que se quede en su sitio.

Otra cosa a tener en cuenta, es que ABSOLUTE saca totalmente la imagen del flujo de código, por lo que la segunda frase se escribe a continuación de la primera. Si el texto coincidiera con la imagen, esta última simplemente se solaparía por encima.


RELATIVE
nos sirve también para desplazar elementos, pero en este caso, en relación al lugar dónde le correspondería estar siguiendo el flujo de HTML. Tal que así...

<span style="text-align: left;">Juego de ingenio para romperse la cabeza <a style="border: 1px dashed rgb(204, 204, 204); width: 88px; height: 31px;" href="http://singenio.com/" title="S*Ingenio"><img style="position: relative; top: 31px;" src="http://i252.photobucket.com/albums/hh27/olomansan/88x31.gif" /></a> ¿Hasta dónde podrás llegar?</span>

Juego de ingenio para romperse la cabeza ¿Hasta dónde podrás llegar?
Ejemplo 3

Observareis que con respecto a la ubicación normal (primer ejemplo gráfico), la esquina superior izquierda del botón, se ha desplazado 31 pixels hacia abajo. Leyendo la instrucción literalmente, hemos marcado el punto inicial (0,0) en el lugar dónde la imagen debería ir normalmente y desde ahí hemos contado 31 pixels, dejando por arriba de ella (TOP) ese espacio. Ahora la imagen la tenemos a partir del punto (0,31)
(*) La línea discontinua, puesta de guía para la explicación, no marca con exactitud el lugar inicial.

Pero ¿qué ha pasado con el segundo texto al quitar la imagen"? La respuesta es NADA. El espacio que ocupaba la imagen sigue reservado y por tanto el resto de elementos no cambian de posición. La segunda frase no se recoloca a la derecha de la primera y tampoco se reubica después de la imagen. Distinto sería si tuviera también otro atributo de posición, pero como no es así se considera STATIC.

Por tanto, hemos conseguido que la imagen realmente flote dónde nosotros queremos sin alterar el resto del contenido. Aunque algo desafortunada, flotar es la mejor expresión que se me ocurre para explicar el efecto, ya que el espacio natural de la imagen sigue reservado y esta se superpondrá con aquello que se encuentre por el camino, salvo que un Z-INDEX le indique lo contrario. Pero ese es otro tema...

Si utilizáramos BOTTOM, la imagen se desplazaría hacia arriba porque los pixels indicados los dejaríamos por debajo.

<span style="text-align: left;">Juego de ingenio para romperse la cabeza <a href="http://singenio.com/" style="border: 1px dashed rgb(204, 204, 204); width: 88px; height: 31px;"><img style="position: relative; bottom: 31px;" src="http://i252.photobucket.com/albums/hh27/olomansan/88x31.gif" /></a> ¿Hasta dónde podrás llegar?</span>

Juego de ingenio para romperse la cabeza ¿Hasta dónde podrás llegar?
Ejemplo 4

Y con esto último, ya empezamos a ver una especial utilidad de usar RELATIVE en el posicionamiento de elementos y es que ¡nos podemos salir del contenedor sin problemas!. La diferencia con ABSOLUTE es que este último fija los elementos con respecto a la página y RELATIVE lo hace con respecto a un bloque de información. La página (ventana) puede cambiar de tamaño por las distintas resoluciones de los usuarios y eso nos podría crear más de un problema. Sin embargo, los contenedores se pueden definir de tamaño fijo, independientemente de la resolución de la pantalla por lo cual, con RELATIVE, la posición del elemento siempre estará a la misma distancia de su contenedor.

Otra cosa a tener en cuenta es que se pueden usar valores negativos. De esta manera para llegar a cualquier punto, podemos usar también la referencia opuesta, siempre que cambiemos el signo de la distancia en pixels. Esto en cristiano, quiere decir que, por ejemplo, TOP:31PX; produce el mismo efecto que BOTTOM:-31PX; y LEFT:-88PX; es lo mismo que RIGHT:88PX;

Añadamos ahora un desplazamiento horizontal al ejemplo 3 para ver también el solapamiento de elementos.

<span style="text-align: left;">Juego de ingenio para romperse la cabeza <a style="position: relative; top: 31px; right: 176px;" href="http://singenio.com/"><img style="position: relative; top: 0px; right: 0px;" src="http://i252.photobucket.com/albums/hh27/olomansan/88x31.gif" /></a> ¿Hasta dónde podrás llegar?</span>

Juego de ingenio para romperse la cabeza ¿Hasta dónde podrás llegar?
Ejemplo 5

Con el right:176PX; que hemos añadido, estamos indicando que desde la esquina superior izquierda del elemento al punto original, deberán quedar 176px por la derecha. Como podeis ver, lo único que se sigue moviendo es la imagen y esta se superpone sobre el resto de elementos.

Pero bueno, esto no es del todo cierto, porque si habeis sido buenos observadores, os habreis dado cuenta de que en los ejemplos 1, 2, 3 y 4, el enlace está tanto en el espacio reservado de la imagen como en la ubicación desplazada de la imagen. Pasando el puntero por encima se puede comprobar. Esto es porque en esos tres casos, no se ha aplicado ningún desplazamiento al elemento A (enlace) y este se ha quedado en su sitio.

Podría ser útil en alguna ocasión, pero no es lo normal. Así que para solucionarlo, en este último caso (ejemplo 5), se ha desplazado en primer lugar el enlace, aplicando el mismo método que para la imagen y, a continuación, la imagen se ha desubicado mediante otro POSITION:RELATIVE; Sin embargo, como esta última se desplaza respecto de su contenedor (A) y este ya lo tenemos bien colocado, el desplazamiento deberá ser cero (TOP:0PX;LEFT:0PX;) para que la imagen quede justo encima del enlace. Ahora sí que tenemos una imagen descolocada y el enlace correspondiente en el mismo lugar.

No me veo capaz de explicarlo mejor, así que ¡suerte!


Ver/Ocultar código [+/-]
<div style="position:relative;top:0px;left:0px;margin: 0px auto; background: url(http://3.bp.blogspot.com/_0eC4K-qZ7AM/ScGEMfzKzgI/AAAAAAAAG6Y/OPS8oeIEK2A/s400/tapete.jpg) no-repeat; text-align: center; width: 370px; height: 428px;"><img style="position: absolute; top: 10px; left: 70px;" src="http://1.bp.blogspot.com/_0eC4K-qZ7AM/ScGENJQBt5I/AAAAAAAAG64/tJbg8MsogPk/s400/bastos.gif"/><img style="position: relative; top: 50px; left: 50px;" src="http://4.bp.blogspot.com/_0eC4K-qZ7AM/ScGEM6bJVqI/AAAAAAAAG6w/gJAh-LDl2Pk/s400/espadas.gif"/><img style="position: relative; top: 80px; left: 0px;" src="http://4.bp.blogspot.com/_0eC4K-qZ7AM/ScGEMwQ5YcI/AAAAAAAAG6o/AOa5uE3Li_c/s400/copas.gif"/><img style="position: relative; top: 120px; left: 0px;" src="http://2.bp.blogspot.com/_0eC4K-qZ7AM/ScGEMhi8FdI/AAAAAAAAG6g/rj3lEU0Ovxs/s400/oros.gif"/></div>
Leer más »

Position: Imágenes fijas... o desubicadas I

28/03/2009
En ocasiones necesitamos colocar una imagen u otro elemento en un sitio fijo de nuestro blog, independientemente del flujo que el HTML genera en el resto del contenido. Lo de sitio fijo es muy relativo, porque como vamos a ver, las cosas pueden fijarse con respecto al todo (ventana navegador) o en una posición relativa a un contenedor concreto.

La primera opción es la más fácil. Se trata de colocar algo en una determinada posición del navegador. Insisto en la palabra navegador y evito usar web, porque es así como funciona este sistema. Lo que ubiquemos de esta manera se situará en relación a los bordes de la ventana que utilicemos. Por tanto, cuando usemos ventanas más grandes o más pequeñas, el contenido de la web es posible que se desplace, pero no así el elemento fijado.

Veamos un ejemplo:

<img src="URL_IMAGEN" style="position: fixed; bottom: 20px; right: 20px;" />

Este código se puede colocar en cualquier parte dentro del HTML. Es decir, en cualquier ubicación entre <body> y </body>. No vayamos a fastidiar metiéndolo en mitad de un <li>, <frame... o algo similar. Quiero decir en cualquier sitio razonable.

Con ese código, la imagen se verá abajo a 20px del borde inferior y a otros tantos del borde derecho.


Si cambiamos la resolución de nuestra pantalla o simplemente agrandamos o encogemos nuestra ventana, los elementos normales se desplazarán para mantener la alineación marcada desde la hoja de estilo, pero la imagen seguirá a 20px de la parte inferior y 20px de la derecha. Esto ocurre también cuando nos desplazamos verticalmente con la barra de desplazamiento.





La palabra clave es FIXED, en combinación con el atributo POSITION. Posteriormente necesitamos indicar la posición exacta mediante los atributos TOP/BOTTOM (arriba/ debajo) y LEFT/RIGHT (izquierda/derecha). Estos atributos admiten como parámetros tanto una cantidad en pixels como un porcentaje. Con porcentajes sí que la imagen "fijada" se desplazará cuando usemos la barra de idem, buscando precisamente la altura/anchura indicada.

Esta es la clase de código que se ha usado para la pantera que teneis corriendo por la izquierda. Se ha fijado con un TOP:50%;LEFT:50PX; . Si haceis scroll por esta pantalla, la pantera no se moverá. Si cambiais el tamaño de la ventana, también seguirá a la misma distancia del lado izquierdo. Sin embargo, si el cambio de tamaño (o resolución) afecta a la altura total de la ventana, la imagen "buscará" la altura media de la ventana, por el efecto del 50% indicado.

Todo lo que hemos contado hasta ahora para las imágenes, sirve exactamente igual para cualquier otro elemento o combinación de elementos: un enlace, un cuadro de texto, una tabla, imagen con enlace...

/* BOTON IR ARRIBA DE ESTA PAGINA */
<div style="position:fixed; bottom:10px; right:10px; color:#ffffff; padding:5px; background:#990000; border:groove 4px #990000; text-align:center; font-size:10px;" ><a href="#" style="color:#ffffff; text-decoration:none;">¿QUIERES SUBIR?<br/>PINCHA AQUI</a></div>

Otros de los valores de POSITION que también nos pueden ser de utilidad, son RELATIVE y ABSOLUTE, que nos permiten colocar un elemento en cualquier punto de un contenedor, pero de manera independiente al resto de lo escrito o "dibujado". Es decir, para que no siga el orden en que está redactado. Pero como estos ya dan para otro post, nos vemos en Position: Imágenes fijas... o desubicadas II.

Nota: Al estar los códigos de la pantera y del botón insertados en el propio post para no interferir en todo el blog, puede que con IE no se ubiquen bien las respectivas imágenes. Insertando el código de la manera que se explica directamente en la plantilla, no existiría este problema... y usando Firefox, seguro que tampoco :)
Leer más »

Cambiar la plantilla ¿Quién dijo miedo?

23/03/2009
Ves una web que te gusta y te preguntas si podrías modificar tu blog para que tuviera ese mismo estilo. Puede que sólo quieras cambiar algunas cosas, pero no sabes por dónde empezar. Tienes una idea estupenda sobre cómo maquetar tu espacio y sin embargo piensas ¿podré yo modificar mi bitácora? ¿se puede hacer lo que quiero?

Con Blogger, cambiar la plantilla es relativamente fácil. Sobre todo si utilizas alguna de las muchas "prefabricadas" que circulan por toda la red. Quizás lo más difícil sea elegir la que más te gusta, porque hay multitud de buenas plantillas por ahí. Un poco más complicado, es modificarla posteriormente para darle tu toque personal, pero a fin de cuentas, nada de otro mundo. Te lo dice alguien que hace apenas dos años no sabía que era un blog y mucho menos cómo funcionaba el lenguaje html, las hojas de estilo (CSS) y mucho menos los SCRIPTS.

Todos estos acrónimos sólo son lenguajes, o sea, idiomas, y como con cualquier lengua no materna (o paterna para dejar contenta a nuestra ministra de Igualdad) la necesidad y la práctica, favorecen su aprendizaje.

Si tienes poca experiencia (o quizás ninguna), lo mejor será que crees un nuevo blog a modo de pruebas. Ahí puedes hacer todos los experimentos del mundo sin ningún problema. Crea un nuevo dominio con una plantilla cualquiera de entre las que te facilitan al darte de alta y cuando lo tengas comenzamos.

Lo primero sería escoger una plantilla, descargarla a tu disco duro y después subirla desde EDICION DE HTML --> (EXAMINAR) SUBIR. En algunas ocasiones el código te lo facilitan para que simplemente hagas copy-paste, aunque es más eficaz el primer sistema.

A partir de aquí será cuando puedes encontrarte cosas que no funcionan bien, aunque si la plantilla no está chunga, sólo podrían fallar las imágenes (que no se vean). Si es así, será suficiente con bajarlas de su ubicación original (o de la demo correspondiente) y alojarlas tu mismo. Luego cambias las direcciones de las imágenes de la plantilla por las tuyas y listo. Esto último lo deberías hacer aunque todo fuera bien, por si en el futuro desaparecen del alojamiento original.

Para saber qué imagen corresponde con cada dirección, las puedes ir buscando en la plantilla (.gif, .png, .jpg...). Simplemente copias y pegas en la barra de direcciones la URL de la imagen y podrás visualizarla en tu navegador. Como decía, si no se ven, las tendrás que conseguir de la demo que suelen incorporar las páginas que te facilitan nuevas plantillas. A veces son sólo esquinitas o imágenes muy pequeñas que no parecen tales, pero seguro que son necesarias para esos detalles que le dan un mejor aspecto al resultado final. Normalmente todas están por algo.

Hecho esto, pones los artilugios que quieras de la misma manera que los pusistes en tu plantilla actual la primera vez. Si no tienes ganas de ir buscando de nuevo los códigos, tendrás que ir editando los artilugios en tu blog original, copiarlos y pegarlos el en el de pruebas.

Ojo que casi seguro que hay widgets en distintas secciones de tu plantilla actual y no sólo en la barra lateral. Los copies desde donde los copies, los puedes poner sin problemas como NUEVO ELEMENTO en la barra lateral. Luego podrás reubicarlos arrastándolos desde ELEMENTOS DE PAGINA.

Otra forma es la que Rosa explica en su blog para guardar el código de todos los artilugios, antes de cambiar una plantilla, para después volverlos a colocar en el mismo blog. Con el mismo sistema, puedes pasarlos a otro blog distinto.

Cada trozo de código entre ambas etiquetas WIDGET, se corresponde con un artilugio tuyo. Podrás saber cual es por el TITTLE (nombre).

Creo que con esto ya está hecho lo más gordo. Si luego quieres añadir más cosas, es el momento de buscar en cualquier blog de ayuda de entre los que hay por ahí. Seguro que encuentras cosas que te gustan e irás incorporando nuevos elementos o aplicaciones. Unos funcionarán a la primera y otros no.

En este punto, es aconsejable que las líneas de código que vayas añadiendo las marques de alguna manera. Lo más fácil es poniendo un comentario <"- COMENTARIO -->. Los símbolos delante y detrás del texto del ejemplo hacen que lo que hay entre ellos no se interprete. Si añades líneas en la parte del CSS (entre <b:skin> y </b:skin>) los comentarios se marcan con /* COMENTARIO */. También puedes usarlos para "eliminar" líneas. En lugar de borrar lo que te digan, simplemente lo colocas entre símbolos de comentarios y así lo podrás recuperar fácilmente si fuera necesario. Cuando compruebes que todo funciona bien lo mejor es que vayas quitando definitivamente las líneas así "eliminadas" y por supuesto, los comentarios que ya no te sirvan.

Sobre lo de las comprobaciones, hay que hacer varias antes de dar por bueno un cambio:
  • Ver página inicio
  • Ver navegación por etiquetas (pinchando en una de ellas)
  • Ver navegación por páginas (posts anteriores / siguientes)
  • Ver un post concreto
Además, sería conveniente que lo probaras tanto en Internet Explorer cómo en Firefox. Puedes tener ambos navegadores en tu ordenador sin problemas y usar indistintamente el que quiereas. Si el cambio funciona -aceptablemente- en ambos, lograrás que el 90% de los internautas lo vean bien. Además, si funciona en estos dos, seguramente también lo haga en Safari, Chrome, Opera...

Una el blog de pruebas a tu gusto, SALVAS TU PLANTILLA ACTUAL (por si las flies), salvas también la plantilla del blog de prueba y una vez ambas en tu disco duro a buen recaudo, vas a tu blog (el bueno) y subes la que salvaste del blog de prueba.

Algunos artilugios estarán creados pero en blanco, seguramente sólo con el título. Esto es porque se añadió su contenido desde ELEMENTOS DE PAGINA, introduciendo código en la ventana emergente de AÑADIR HTML (o imagen, o texto, o feed, o lo que sea). En esos casos, editas esos elementos en tu blog de prueba, copias el código que sea y editando ahora el artilugio en el blog original, copias el código.

Siguiengo estos pasos no debería ocurrir nada más, pero si se ha variado mucho la plantilla, pueden suceder un par de casos más:

- que al ir a guardar la nueva plantilla, el sistema te avise de que se van a eliminar ciertos artilugios. En este caso, se eliminan del blog original, pero como precisamente lo vamos a cambiar todo, no nos importa. En cualquier caso, siempre tenemos en nuestro blog de prueba el código necesario para reinstalarlo
- que te avise de que hay artilugios con la misma ID. Cada vez que se crea un artilugio, Blogger los va numerando dentro de cada tipo de widget: HTML1, HTML2, HTML3.... LinkList1, LinkList2, etc. Pues este aviso quiere decir por ejemplo, que hay dos HTML1. Como hemos cogido código de dos blogs, puede ser que coincida el ordinal del artilugio. La solución es buscar uno de los coincidentes y renumeralo. Si pone HTML1, le pones HTML40, por ejemplo. No le pongas el 2 no sea que ya lo tengas también. Usa un número alto. Cuando se hayan cambiado todos los duplicados, te dejará grabar, mientras tanto no.

Me he explayado bastante, pero la verdad es que cuesta más escribirlo que hacerlo. Con tu blog de pruebas puedes estar meses añadiendo cosas o simplemente practicando y posponer el cambio para cuando estés seguro de que funciona correctamente. Creo que es la mejor forma de aprender. Pero no aplaces mucho tu primer cambio o quizás no llegues a hacerlo.

Para que estés más tranquil@, debes saber que lo más importante de tu blog está a salvo. Las entradas no se pierden ni se borran haciendo nada de esto. Sólo puedes cargarte un post pinchando en ELIMINAR en la pestaña de EDITAR ENTRADAS. Por tanto, lo peor que puede pasar es que veas tu blog con las imágenes descuadradas o la sidebar abajo del todo, o cualquier cosa de ese estilo. Como mucho, que pierdas algún artilugio, pero nada más. Así que... ¡sin miedo! Siempre podrás volver a tu plantilla original si es que la guardaste como se indicó.
Leer más »

Más Blogumus. Ahora nube 3D para fotos.

20/03/2009

Roy Tanck's Flickr Widget requires Flash Player 9 or better.

Get this widget at roytanck.com
La verdad es que esto de Blogumus da mucho juego. Investigando cómo acoplar la ya famosa nube de etiquetas 3D, para que sirva para cualquier tipo de enlace, me encontré con un post de Roy Tanck (el autor del artilugio) sobre una adaptación para mostrar las fotos de Flickr.

Aunque lleva ese título, una reciente actualización anuncia que también es válido para Picasa. Personalmente sólo he podido aplicarlo con Flickr, pero supongo que si lo que hace es trabajar con un feed de imágenes, cualquiera debería servir. Quizás se trata de algún problemilla pendiente de solucionar.
Actualización: Sólo hay que escoger bien el feed y sin problemas. Confirmado por Chacien y mediante el ejemplo de la derecha que usa un feed de Picasa.

En el apartado Get My Flickr Widget, sólo tienes que teclear el feed, el tamaño y el color de fondo, para conseguir el código. Copy-paste y listo: el artilugio funcionando.

No obstante, si preferís algo más manual, el código estándar es este y lo marcado en negrita corresponde respectivamente al ancho, alto, color de fondo y feed.

<div style="width:200px; text-align:center;"><object type="application/x-shockwave-flash" data="http://media.roytanck.com/flickrwidget.swf" width="200" height="200"><param name="movie" value="http://media.roytanck.com/flickrwidget.swf" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="feed=http%3A//api.flickr.com/services/feeds/groups_pool.gne%3Fid%3D89523519@N00%26lang%3Den-us%26format%3Drss_200" /><param name="AllowScriptAccess" value="always"/><p><a href="http://www.roytanck.com">Roy Tanck</a>'s Flickr Widget requires Flash Player 9 or better.</p></object><span style="font-size:9px;">Get this widget at <a href="http://www.roytanck.com">roytanck.com</a></span></div>
Leer más »

Blogumus para cualquier tipo de enlace

19/03/2009
A ver... si podemos usar el flash Blogumus para hacer una nube de etiquetas 3D de nuestro blog ¿por qué no usar el mismo sistema para otro tipo de enlaces?

Esther nos preguntó hace unos días cómo hacerlo y la verdad es que resulta bastante fácil.

Una ventajilla es que como ya no vamos a utilizar las etiquetas de nuestro blog, tampoco es necesaria la parte del código que define este artilugio cómo widget de Blogger. Si se utiliza de esta otra manera, lo podremos agregar sin problemas desde Elementos de Página sin tener que acceder a la plantilla.

Como la presentación de este artilugio en Oloblogger se convirtió en un confuso post lleno de actualizaciones, reproducimos ahora el código fetén para etiquetas. Todo esto hay que insertarlo justo después de <b:section class='sidebar' id='sidebar' preferred='yes'>

<b:widget id='Label99' locked='false' title='Labels' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>

&lt;object type="application/x-shockwave-flash" data="http://halotemplates.s3.amazonaws.com/wp-cumulus-example/tagcloud.swf" width="250" height="200" allowscriptaccess="always" &gt;
&lt;param name="movie" value="http://halotemplates.s3.amazonaws.com/wp-cumulus-example/tagcloud.swf" /&gt;
&lt;param name="bgcolor" value="#ffffff" /&gt;
&lt;param name="flashvars" value="tcolor=0x000000&amp;mode=tags&amp;distr=false&amp;tspeed=100&amp;tagcloud=&lt;tags&gt;

<b:loop values='data:labels' var='label'>
<a expr:dir='data:blog.languageDirection' expr:href='data:label.url' style='12'><data:label.name/></a>
</b:loop>

&lt;/tags&gt;" /&gt;
&lt;p&gt;Blogumulus by &lt;a href='http://www.roytanck.com/'&gt;Roy Tanck&lt;/a&gt; and &lt;a href='http://www.bloggerbuster.com'&gt;Amanda Fazani&lt;/a&gt;&lt;/p&gt;
&lt;/object&gt;

</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>



Hasta aquí era lo que hacíamos normalmente. Ahora vamos a convertir este widget en una nube de enlaces simple. En primer lugar quitamos las líneas en gris, que son las que sirven para generar el widget en la plantilla. Luego eliminamos la parte en verde es la que genera las etiquetas y, por último insertamos en ese mismo sitio los enlaces que queremos poner.

El código resultante sería cómo este. En lugar de acceder por la plantilla como hacíamos en el primercaso, nos vamos a Elementos de Página, y creamos un Nuevo Elemento HTML. En él se copia este código:

<object type="application/x-shockwave-flash" data="http://halotemplates.s3.amazonaws.com/wp-cumulus-example/tagcloud.swf" width="250" height="200" allowscriptaccess="always" >
<param name="movie" value="http://halotemplates.s3.amazonaws.com/wp-cumulus-example/tagcloud.swf" />
<param name="bgcolor" value="#ffffff" />
<param name="flashvars" value="tcolor=0x000000&amp;mode=tags&amp;distr=false&amp;tspeed=100&amp;tagcloud=&lt;tags&gt;

&lt;a href='URL_1' style='12'&gt;ENLACE_1&lt;/a&gt;
&lt;a href='URL_2' style='12'&gt;ENLACE_2&lt;/a&gt;
&lt;a href='URL_3' style='12'&gt;ENLACE_3&lt;/a&gt;

&lt;/tags&gt;" />
<p>Blogumulus by <a href='http://www.roytanck.com/'>Roy Tanck</a> and <a href='http://www.bloggerbuster.com'>Amanda Fazani</a&gt;</p>
</object>

Todo lo que está en negrita son los enlaces. Sólo tienes que sustituir URL_X y ENLACE_X por las direcciones y palabras correspondientes a tus enlaces, colocando tantas líneas de enlace como quieras mostrar. Con eso el artilugio funciona como blogroll, como enlaces recomendados, para colocar a vuestros amigos, para intercambiar links...
Leer más »

Posicionar imágenes y texto

17/03/2009
Para colocar una imagen en un post, utilizamos la etiqueta IMG SRC que, en un principio, tiene una redacción muy sencilla:

<img src="URL_IMAGEN" />

Observad que el código incluye una barra de cierre (/) que nos permite ahorrarnos el </img> Así tal cual, si escribimos ese código y continuamos con el texto, este se situará en la línea correspondiente a la base de la imagen, tal y como se puede ver en este mismo párrafo.

Comprobareis que esa presentación no resulta muy grata a la vista, pero el lenguaje HTML nos permite conseguir fácilmente que el texto pueda quedar "rodeando" la imagen. De esta manera, ambos quedarán mejor integrados. Para eso tenemos que utilizar la etiqueta STYLE y asignarle un atributo FLOAT, tal que así:

<img src="URL_IMAGEN" style="float:right;"/>

El resultado en este caso es el que se observa en la imagen del bichito corriendo a la derecha... pero todavía podemos mejorar un poco.

Si os fijais bien, las letras se pegan totalmente al lado izquierdo de la imagen. Para arreglar esto, añadimos un MARGIN a la etiqueta STYLE, colocando algunos pixels arriba, debajo y a la izquierda. A la derecha no sería necesario porque no hay texto en este caso. Si usáramos un FLOAT:LEFT, como hemos hecho en el bicho de la izquierda, sería al contrario: con margen a la derecha y sin él a la izquierda. El código de este último ejemplo, quedaría por tanto así:

<img src="URL_IMAGEN" style="margin: 5px 0px 5px 5px;float: left; " />

Recordamos que las cifras tanto en el atributo MARGIN, como en el PADDING, se expresan en el siguiente orden: arriba, derecha, debajo, izquierda.

Nada impide usar varias imágenes flotantes a la misma altura o incluso a distinta. Las dos de la izquierda tienen un FLOAT:LEFT y se mostrarán en el mismo orden en que se redacte el código. La primera que se teclee es la que quedará más a la izquierda.

La que flota a la derecha, puede ir escrita antes o después, porque siempre que no coloquemos un retorno de carro (ENTER) se irá a la derecha sin mayores interferencias.

Entre imágenes o entre una imagen y texto, se puede colocar un espacio en blanco y se interpretará como tal siempre que no exista un margen. Esta es otra manera de separar un poco dos imágenes que no tengan ningún atributo FLOAT.

El código de la imagen hay que ponerlo justo donde queremos que tenga su parte superior. Por ejemplo, las tres etiquetas IMG de las columnas anteriores, están escritas justo delante de la palabra "Recordamos".

Otra utilidad que le podemos dar a FLOAT, sería para crear columnas de texto (estilo periódico). Se puede definir un bloque (DIV) alineado al centro y ocupando un 100% del ancho. Dentro de él, tantos bloque más como columnas necesitamos. Colocamos margen derecho e izquierdo a la primera y sólo derecho a las restantes (excepto a la última). Luego le asignamos a cada una un porcentaje sobre el ancho total. La suma de las tres no podrá suponer el 100%, porque los márgenes también consumen espacio. A continuación un ejemplo y después su código.

Lorem ipsum pri fabulas detracto mnesarchum at, ei laoreet impedit temporibus ius. Eros reque paulo per ad, in viris dolores offendit qui. Has cu semper singulis hendrerit. Ea rebum deleniti inimicus mel, at facete honestatis has, et vel diam aeque mediocrem. Ubique vivendo oportere id vix, saperet efficiantur ut sit. Consul utroque an eam.
Lorem ipsum pri fabulas detracto mnesarchum at, ei laoreet impedit temporibus ius. Eros reque paulo per ad, in viris dolores offendit qui. Has cu semper singulis hendrerit. Ea rebum deleniti inimicus mel, at facete honestatis has, et vel diam aeque mediocrem. Ubique vivendo oportere id vix, saperet efficiantur ut sit. Consul utroque an eam.
Lorem ipsum pri fabulas detracto mnesarchum at, ei laoreet impedit temporibus ius. Eros reque paulo per ad, in viris dolores offendit qui. Has cu semper singulis hendrerit. Ea rebum deleniti inimicus mel, at facete honestatis has, et vel diam aeque mediocrem. Ubique vivendo oportere id vix, saperet efficiantur ut sit. Consul utroque an eam.



<div style="text-align:center;margin:0 auto;width:100%;">
<div style="width: 30%; float: left;margin:0px 15px 0px 15px;text-align:justify;">TEXTO COLUMNA 1</div><div style="width: 30%; float: left;margin:0px 15px 0px 0px;text-align:justify;">TEXTO COLUMNA 2</div><div style="width: 30%; float: left;margin:0px 0px 0px 0px;text-align:justify;">TEXTO COLUMNA 3</div>
<div style="clear: both;"/>
</div>
Leer más »

50 Blogs de ayuda en castellano + 1

11/03/2009
Seguro que ni son todos los que están, ni están todos los que son, pero se ha intentado. Desde luego, el que quiera montar un blog y sobre todo modificarlo, no puede decir que no cuenta con ayuda.

Parece curioso que haya menos blogs relacionados con WordPress que con Blogger ¿será porque no es tan configurable como pareciera? En fin ahí van 50 enlaces y uno más.

Toca temas Blogger
Toca temas WordPress
Lleva algún tiempo sin ser actualizado
Oficialmente cerrado, pero mantiene el contenido visible.

Leer más »

Fechas de entradas que no salen

08/03/2009
En distintas ocasiones nos han preguntado sobre la "desaparición" de fechas en los posts. En las plantillas normales, el problema no es que desaparezcan... Lo que ocurre en realidad es que Blogger cuando hay varias entradas con la misma fecha, sólo la muestra en la primera de ellas.

Otro caso distinto es el de las plantillas adaptadas (por ejemplo las de Wordpress), cuya solución ya se dió cuando tratamos el tema de las fechas en la plantilla Aspire.

O sea, que realmente no es un problema, pero si aún así publicas varias veces al día y quieres que todos tus posts tengan su fecha, a continuación te explicamos como puedes hacer un arreglillo.

En primer lugar buscamos la parte de HTML dónde se gestiona la fecha de las entradas. El código más normal por defecto, sería este:

<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>

Normalmente hay una condición para mostrar la fecha sólo si existe. No sé exactamente cómo lo hace Blogger, pero el caso es que si hay varios posts con la misma, sólo la guarda para el primero. Los demás posts con la misma fecha, no tienen idem por lo que esta condición hace que los demás entradas no la puedan mostrar.

Lo que vamos a hacer entonces, es guardar la última fecha mostrada en una variable (ULTFECHA) y recuperarla para usarla cuando no se cumpla la condición (ELSE) de que el post tenga fecha. Esto quedaría así (en verde las líneas insertadas):

<b:if cond='data:post.dateHeader'>
<script type='text/javascript'>var ultfecha = &#39;<data:post.dateHeader/>&#39;;</script>
<h2 class='date-header'><data:post.dateHeader/></h2>
<b:else/>
<h2 class='date-header'><script type='text/javascript'>document.write(ultfecha);</script></h2>
</b:if>

Ya tenemos fecha para todos nuestros posts.
Leer más »

Estilo revista (magazine) simplificado

05/03/2009
El estilo revista o magazine es el que convierte vuestra página principal y todas aquellas distintas de los posts individuales, en un amplio escaparate de vuestro blog. Básicamente se trata de mostrar el título de los posts y un breve resumen de ellos, a modo de sumario. Viene a ser como el truco de los posts comprimidos, pero con un aspecto más compacto. Esto permite visualizar de una tacada muchos más artículos. No confundir con el Leer Más.

La plantilla actual de Pizcos es un claro ejemplo en funcionamiento de este estilo. Si quereis confeccionar una buena plantilla con estilo revista, mejor os acercais a ver las explicaciones de Post resumidos de Pizcos o las de Jugando con los posts (Magazine) de J.Miur. Allí podreis encontrar unos muy buenos tutoriales para construir paso a paso una plantilla con el estilo en cuestión.


Sin embargo, puede que no quieras complicarte mucho y te conformes con algo más básico, pero casi igual de eficaz. El truco que se explica a continuación, sirve para no tener que modificar apenas nuestra plantilla.

Lo he probado con diversos modelos y funciona correctamente en todos, aunque probablemente algunas plantillas muy personalizadas y sobre todo, con muchos efectos gráficos, requerirán modificaciones adicionales. Pero bueno, si has sido capaz de hacer una plantilla de este último tipo, supongo que no será mayor problema arreglar lo que descuadre.

Advertencia: Esta es la típica chapuza de un servidor para trabajar poco. Si quieres un resultado más profesional, se recomienda acudir a los enlaces anteriormente citados.

TRES PASOS:

1. Expandir Plantillas de Artilugios y crear la clase .resumen. Para ello insertamos el siguiente código justo antes de ]]></b:skin>. El formato de esta clase, es en lo que se basa prácticamente todo el truco.

.resumen {
float:left;
display:block;
margin:0px 0px 5px 5px;
padding:0px 5px 5px 0px;
width:190px;
height:240px;
overflow:hidden;
font-size:12px;
font-style:italic;
text-align:center;
color:#000000;
background:url(http://i252.photobucket.com/albums/hh27/olomansan/fondomagazine.jpg);
}
.resumen img {
width:80%;
}

2. Insertar en el LOOP principal, una condición para que este estilo se utilice sólo en páginas distinas de posts individuales. Las líneas que hay que insertar, están en color verde:

<b:includable id='main' var='top'>
<!-- posts -->
<div class='blog-posts hfeed'>

<!-- <b:include data='top' name='status-message'/>-->
<data:adStart/>
<b:loop values='data:posts' var='post'>
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<div class='resumen'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>

<b:include data='post' name='post'/>
</div>
<b:else/>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>

<b:include data='post' name='post'/>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:post.includeAd'>
<data:adEnd/>
<data:adCode/>
<data:adStart/>
</b:if>
<b:if cond='data:post.trackLatency'>
<data:post.latencyJs/>
</b:if>
</b:if>
</b:loop>
<data:adEnd/>
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<div style='clear: both;'/>
</b:if>

</div>

<!-- navigation -->
<b:include name='nextprev'/>
etc

3. Escoger en Configuración-->Formato-->Mostrar, un número de entradas que cuadre con las columnas que hayamos creado (según el width). Por ejemplo, para tres columnas escoger un múltiplo de tres: 9, 12, 15, etc...

¡Plantilla modificada! VISTA PREVIA y si te gusta GUARDAR


Los atributos de la clase .resumen, se pueden configurar al gusto para conseguir distintos resultados. También influye la plantilla base que, como comentábamos, no se toca para que los posts individuales sigan teniendo el diseño original. Algunos ejemplos:

Plantilla Tic-Tac cambiando width:140px; y el fondo con un color plano en lugar de la imagen, background:#eeeeee;...


Una Dots Dark con margin:30px 10px 0px 0px; padding:5px 5px 5px 5px; color:#71BEC2;
border:1px solid #71bec2; y sin background...


Black mínima ensanchada a 900px con el código tal y como aquí se indica...


Rounders con width:150px, sin ningún tipo de background...


Harbor: width:150px; height:300px; background:url(http://www1.blogblog.com/harbor/rocks_left.jpg) bottom center no-repeat;...


Plantilla 565: margin:10px 10px 0px 0px; padding:5px 5px 0px 60px; width:130px;color:#000000;background:url(http://i252.photobucket.com/albums/hh27/olomansan/blocsepia1200x35.gif) repeat-y left top;...


En este último ejemplo, se ha dejado la fecha fuera del fondo, cambiando un poco la primera parte del código nuevo insertado en el LOOP.

<b:loop values='data:posts' var='post'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<div class='resumen'>
<b:include data='post' name='post'/>
</div>
<b:else/>
<b:include data='post' name='post'/>

Un buen fondo para los sumarios, es lo que más realza este estilo. Teniendo en cuenta los colores y formas de vuestro blog, podeis conseguir efectos muy chulos como el del ejemplo de la Black Minima.

Como siempre digo... echadle imaginación.
Leer más »

Distintos estilos para cada etiqueta (o autor)

03/03/2009
Obdemurian me planteó hace unos días la posibilidad de resaltar cada uno de sus posts con distintos estilos. El usar un estilo u otro dependería de la etiqueta que llevara cada uno de ellos.

He encontrado una manera de hacerlo, pero tiene un inconveniente: es necesario que haya una única categoría para cada post. Por tanto, este truco es sólo de aplicación para blogs con una sola etiqueta por entrada.

El caso es que la variable que conserva el nombre de cada etiqueta (data:label.name) necesita estar dentro de un bucle concreto para interpretarse: <b:loop values='data:post.labels' var='label'>. En consecuencia, si existe más de una etiqueta, el contenido del post se mostrará repetido tantas veces como etiquetas existan.

Lo bueno del caso es que con la misma idea, sí que se pueden mostrar sin ningún inconveniente, distintos estilos para post redactados por distintos autores. Esto parece especialmente útil para los blogs colectivos.

Para ambas variantes, hay que localizar (expandiendo artilugios) la parte de código que muestra el contenido de cada post y que es <p><data:post.body/></p>. Una vez encontrado, se sustituye por lo siguiente:

* Estilo según etiquetas:

<p><b:loop values='data:post.labels' var='label'><span expr:class='data:label.name'><data:post.body/></span></b:loop></p>

* Estilo según autores:

<p><span expr:class='data:post.author'><data:post.body/></span></p>

Lo que hemos hecho ha sido asignar una clase al contenido de cada entrada. La clase tendrá como nombre, el de la etiqueta del post en el primer caso y el del autor en el segundo.

Por tanto, ahora lo que toca es crear los distintos estilos para todos nuestros nombres. Para ello, localizamos la parte de CSS que es la que está antes de ]]></b:skin> y justo antes, creamos las clases necesarias con el estilo que se quiera. Si vamos a trabajar con etiquetas, creamos tantas clases como etiquetas distintas tengamos. Una definición para cada uno de los nombres de nuestras categorías. Idem si vamos a aplicarlo a los autores. Por ejemplo:

.autor1 {color:#990000;font-family:Trebuchet;background:#FFFF99;}
.autor2 {color:#3366FF;font-style:italic;background:none;}
.autor3 {color:#000000;font-weight:bold;background:#999999;font-family:courier new;border:1px dashed #000000;}
etc.


MI BLOG

LOREM IPSUM
Publicado por Autor1

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc bibendum dui eu nibh. Phasellus non lorem vel nunc lacinia fringilla. Mauris tincidunt enim a quam. Nullam consectetur nisi sit amet sapien vehicula lobortis. Nullam eu nisi. Aenean sem dolor, feugiat eu, eleifend sit amet, ultricies eget, odio.

IPSUM LOREM
Publicado por Autor2

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc bibendum dui eu nibh. Phasellus non lorem vel nunc lacinia fringilla. Mauris tincidunt enim a quam. Nullam consectetur nisi sit amet sapien vehicula lobortis. Nullam eu nisi. Aenean sem dolor, feugiat eu, eleifend sit amet, ultricies eget, odio.

LOREM IPSUM LOREM IPSUM
Publicado por Autor3

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc bibendum dui eu nibh. Phasellus non lorem vel nunc lacinia fringilla. Mauris tincidunt enim a quam. Nullam consectetur nisi sit amet sapien vehicula lobortis. Nullam eu nisi. Aenean sem dolor, feugiat eu, eleifend sit amet, ultricies eget, odio.



Los nombres de las clases Autor1, Autor2, Autor3, etc. hay que cambiarlos por los nombres con que aparecen los distintos autores de vuestro blog.

Si vais a cambiar el estilo según etiquetas, entonces habrá que cambiarlos por las que tengais vosotros. En el caso de este blog: Artilugios, Blogger, CSS, etc.
Leer más »

No rights reserved
NINGUN DERECHO RESERVADO
...aunque se agradece un enlace. Si crees que algo aquí vulnera los derechos de otro, mándanos un correo.
Para recibir Oloblogger en tu correo, introduce aquí tu dirección

Technorati Blogalaxia Blogesfera Bitacoras.com Twingly Ayuda Blogs Alianzo Wikio Ranking de Buzzear (ES) TOP 100 WEBLOGS Unión Bloggers Hispanos Más tráfico para tu blog Mi blog está incluido en Pixel a Pixel Directorio de blogs Blogissimo Personal Blogs - Blog Top Sites Blogging Blogs - BlogCatalog Blog Directory Top Internet blogs Mi Ping en TotalPing.com Directorio Blogger

Grupo Uniblog

Ir Arriba