En los inicios del llamado Blogger Beta, el código del Header era sencillo pero, para quienes recién comenzaban y no tenían mucha idea de HTML y CSS, personalizarlo se hacía complicado, sobre todo a la hora de agregar una imagen en lugar de los textos que se veían por defecto (el título del blog y la descripción). Con criterio de desarrolladores, en lugar de explicar en alguno de sus sitios oficiales cuáles eran los métodos para hacerlo, decidieron "ayudarnos" y hace ya un tiempo, cambiaron los códigos para "facilitarnos" las cosas.
El problema con este tipo de cosas es que ellos no comprenden que no hay forma de contemplar todas las posibilidades y de allí que ahora resulte más engorroso que antes a la hora de personalizarlo o bien, se produzcan errores que parecen no tener explicación y que a veces no tienen una solución lógica.
De las 20 lineas de código original pasamos a tener más de 50 sin beneficios aparentes.
<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='nombreBlog (cabecera)' type='Header'>
<b:includable id='main'>
<div class='titlewrapper'>
<h1 class='title'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<!-- +++++++ si es la página principal +++++++ -->
<data:title/>
<b:else/>
<!-- +++++++ en cualquier otra, el header es un enlace a home +++++++ -->
<a expr:href='data:blog.homepageUrl'><data:title/></a>
</b:if>
</h1>
</div>
<div class='descriptionwrapper'>
<p class='description'><span><data:description/></span></p>
</div>
</b:includable>
</b:widget>
</b:section>
</div>
<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='nombreBlog (cabecera)' type='Header'>
<b:includable id='main'>
<b:if cond='data:useImage'>
<b:if cond='data:imagePlacement == "REPLACE"'>
<!-- +++++++ el código para cuando la opción es mostrar sólo la imagen +++++++ -->
<div id='header-inner'>
<a expr:href='data:blog.homepageUrl' style='display: block'>
<img expr:alt='data:title'
expr:height='data:height'
expr:id='data:widget.instanceId + "_headerimg"'
expr:src='data:sourceUrl'
expr:width='data:width' style='display: block'/>
</a>
</div>
<b:else/>
<!-- +++++++ el código para cuando la opción es combinar imágenes y textos +++++++ -->
<div expr:style='"background-image: url(\""
+ data:sourceUrl + "\"); "
+ "background-position: "
+ data:backgroundPositionStyleStr + "; "
+ data:widthStyleStr
+ "min-height: " + data:height + "px;"
+ "_height: " + data:height + "px;"
+ "background-repeat: no-repeat; "' id='header-inner'>
<div class='titlewrapper' style='background: transparent'>
<h1 class='title' style='background: transparent; border-width: 0px'>
<b:include name='title'/>
</h1>
</div>
<b:include name='description'/>
</div>
</b:if>
<b:else/>
<!-- +++++++ el código para cuando la opción es mostrar sólo los textos +++++++ -->
<div id='header-inner'>
<div class='titlewrapper'>
<h1 class='title'>
<b:include name='title'/>
</h1>
</div>
<b:include name='description'/>
</div>
</b:if>
</b:includable>
<b:includable id='title'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<!-- +++++++ si es la página principal +++++++ -->
<data:title/>
<b:else/>
<!-- +++++++ en cualquier otra, el header es un enlace a home +++++++ -->
<a expr:href='data:blog.homepageUrl'><data:title/></a>
</b:if>
</b:includable>
<b:includable id='description'>
<div class='descriptionwrapper'>
<p class='description'><span><data:description/></span></p>
</div>
</b:includable>
</b:widget>
</b:section>
</div>
En ambos casos es posible utilizar algunas etiquetas HTML para formatear esos textos. En general, son las mismas que pueden utilizarse en los formularios de comentarios: <b> (negrita), <i> (itálica), <u> (subrayado), <a href=""> (enlace).
Todo lo demás es para definir una imagen de fondo y allí hay varias opciones. Debemos saber que la imagen a utilizar se alojará en Blogger. Puede ser una que tengamos en nuestra PC o bien una imagen que ya esté en la web y para lo cual lo que debemos hacer es escribir la dirección URL.
Detrás del título y la descripción
En lugar del título y la descripción
Por defecto, aparecerá marcada la primera así que, si lo que estamos poniendo es algún tipo de banner, lo normal es marcar la segunda opción.
Antes de subir la imagen también aparecerá otra casilla que podemos marcar:
Reducir hasta ajustar
Y se nos advierte que la imagen se reducirá hasta una cierta cantidad de píxeles de ancho. Esa es la medida que tiene nuestra plantilla establecida en la propiedad width del bloque #header-wrapper así que variará con las diferentes plantillas.
<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='(Header)' type='Header'/>
</b:section>
</div>
Y lo cambiamos por esto:
<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='3' showaddelement='yes'>
<b:widget id='Header1' locked='false' title='(Header)' type='Header'/>
</b:section>
</div>
Lo que hemos hecho es desbloquear la sección header y permitir que se agreguen elementos. Ahora, sólo hay uno así que lo editamos y lo eliminamos con Borrar Elemento. Por último, volvemos a editarlo. Haciendo click en Agregar Elemento, seleccionamos Header y listo.
53 comentarios:
Siempre encontré engorroso modificar la cabecera, por lo cual utilicé otras maneras de hacerlo.
Claro esta que según los gustos de cada uno, esta es una muy buena solución para modificarla.
Saludos cordiales. :)
La verdad es que a mi no se me ajustaba automáticamente marcando la casilla reducir hasta ajustar, asi que tuve que jugar un poco con el CSS no sé cómo lo logré pero al final lo conseguí. :P
Saludos!!
En general pasa eso. El sistema de Blogger es complicado y no funciona bien. El viejo modelo era mejor porque no tenía nada :D
Pues yo en el CSS el Header lo manejo de fábula. Pongo imágenes, las ajusto de ancho y de alto, pongo las letras donde quiero y si le añado variables propias incluso le modifico los colores a los fondos, a los marcos, a las letras, sus fuentes, etc.
La parte del HTML solo la he tocado si quiero añadir algún elemento ahí, cambiando lo de showadelement=no por preferred=yes.
Saludos
Hola JMiur: tienes razon en que la Description se aceptan 'algunas' etiquetas porque no acepta los famosos CLASS de CSS por ejemplo // sin mas quiero volver a decirte gracias por todo el soporte hasta el dia de la fecha :)
Saludos, Pablo. Es cierto, sólo algunas, en realidad, muy pocas y no hay ninguna posibilidad de usar CLASS o STYLE.
Saludos JMiur, tenía una pequeña duda respecto a la imagen de la cabecera con la que a lo mejor me podrías ayudar. Es ésta: ¿cuál es el mejor formato de imagen que se puede elegir para ponerla en la cabecera del blog? Es decir, cuál es el formato más óptimo para que no pierda calidad la imagen. He leído a cerca de que JPEG pierde algo de calidad, y que GIF es mejor, pero no estoy seguro de cual elegir.
Saludos y muchas gracias de antemano :)
En general, el formato de mejor calidad es el PNG, sobre todo, si se trata de gráficos. Si es una fotografía, el JPG es adecuado.
Créa el original con la mejor calidad posible y luego, puedes convertirla en otros y ver el resultado; hay algo de subjetivo en eso y a veces, las diferencias son imperceptibles; en esos casos, siempre elige el de menor tamaño.
Okey, muchísimas gracias, me ha quedado muy claro. Probaré el formato png y si no tiene mucho tamaño dejaré ese. (además veo que es el formato que has elegido para la cabecera de vagabundia)
Muchas thanks de nuevo ;)
Hola JMiur... disculpame la molestia, estoy tratando de buscar en tu blog la forma de poner esa barrita que tenés en el header o debajo donde tiene botones que te llevan a otros lados del blog, no se como se llama esa barra y no encuentro resultados, sabes cual te digo no??? donde dice: Inicio, blogger, HTML/CSS.... me podés mandar un mail explicandome como pongo algo parecido a eso. Si necesitas ver mi blog es: http://cantarconpistas.blogspot.com/
ya visitaste uno mio, pero lo empecé de nuevo y está mas organizadito... dame algún consejo del Indiana Jones que dice la chica... jajaj.
un saludo. Peter.
PECEPETER:
El menú que estoy usando está explicado en este post. Allí están los archivos necesarios.
Hola, tengo una duda, yo me baje una plantilla para bogger, el tema es que quiero cambiar el header que trae por defecto, pero realmente no se como hacerlo... me podrias dar una mano?
Se agradece. Y realmente es un servicio y un desburre tu blog para gente como yo, que recien empieza en estas cuestiones.
Mil gracias.
Martin.
En principio, el header se modifica desde Diseño | Elementos de la página y allí, se edita el elemento. Puede establecerse la imagen si es que la utiliza, el tipo de textos, etc.
Eso es lo general. Hay plantillas que tienen alguna otra característica personal así que debería verla online para responder más concretamente.
http://siemprecancion.blogspot.com/ : esa es la direccion del blog que estoy tratando de modificar. Lo que quiero hacer es remplazarlo por un banner hecho x mi, pero realemnte esoy haciendo agua en eso..... :(
Esa una plantilla muy personal. No te resultará nada sencillo de hacer.
Hay tres imágenes que conforman el header:
#wrapper {
background: ......
#headerwrapper {
background: ......
#header {
background: ......
Pregunta, pregunta...
¿Cómo cambio el header por un widget HTML, lo que pasa es que tengo una animación en flash que quiero que vaya de header.
Ayuda por favor... :-(
No sé exactamente cuál es tu idea pero, puedes eliminar el widget del header de Blogger y colocar en su lugar cualquier otro o simplemente agregar el Flash en la plantilla.
JMiur te queria preguntar si depronto sabes como mostrar en el inicio del blog un Widget pero cuando se de clic en una de las entradas o enlaces que este desaparescas y muestre la entrada completa algo parecido como esta plantilla:
http://myportfoliodezign.blogspot.com/
en este caso es Glide Content Widget pero no me interesa que vaya pasando sino saber como mostrar y desaparecer un Widget al inicio
gracias
Habría que hacer un script para eso, no creo que fuera muy práctico. Sería más simple algún div fijo a modo de cartel.
nose si me entendiste la idea es mostar un widget solo al incio y que desaparesca cuando esta en algun post.
por ejemplo mira este template: http://templateclassico.blogspot.com/
al inicio muestra un lista de enlaces,slider de imagenes y el perfil
pero cuando das clic en una entrada o enlace estas desaparecen
nose si utiliza alguna posicion obsolute o relative pero no es un script y ahi es donde no entiendo.
gracias por tu respuesta y ayuda
Lo que quieres, estonces, no es que desaparezca al hacer click sino que se muestre en la página principal pero no en las páginnas individuales.
Para eso, debes usar un condicional:
<b:if cond='data:blog.pageType == "item"'>
............. y aqui va lo que no se mostrará en los posts individuales
</b:if>
En general, eso debe colocarse después del <b:includable id='main'> del widget que vas a poner o en la plantilla misma si es que no es un widget.
genial ese condicional si funciona
pero lo aplique en la plantilla ensayando con adsense 728*60 y esta funcionando al contrario no aperece al inicio pero en las paginas individuales si sale.jeje nose
sera que te equivocastes o me equivoque yo... de todas maneras muchas
gracias
si quieres echa un vistaso:
http://andresfanatico.blogspot.com/
PD.
aprovecho para hacerte otra pregunta
los titulos de las entradas me aparece muy junto cuando el nombre ocupa 2 lineas ¿como puedo separarlos un poco?
Eres muy amable.mil gracias
Si, me equivoqué yo,. Es al revés :D
<b:if cond='data:blog.pageType != "item"'>
............. y aqui va lo que no se mostrará en los posts individuales
</b:if>
Para los títulos de dos líneas busca y agrea esto:
.post h3 {
.................
line-height:28px;
}
Ese valor indica la separación entre líneas y puede ser cualquier otro número. Cuuanto mayor sea, más separadas quedarán.
pues no hay mal que por bien no venga porque ahora tengo las dos opciones.jeje
Muchas gracias! y perdona tanta molestia
No hay problema, Andrés, disculpa el error :D
hola que tal?
Primero que nada te felicito por tu maravilloso trabajo que hasta ahora es la mejor :) :) orientación que tengo con respecto a la creación de plantillas en blogger. y me gustaría saber si es que el elemento header dentro de la seccion header se puede eliminar y crear un nuevo elemento para trabajar mejor.osea como un elemento normal como el sidebar.
Esto tendría alguna consecuencia (seo o otras)y si no porque no lo usan mas a sequido como una solución rápida.
Se puede hacer perfectamente, es más, recomendaría eliminarlo y poner un elemento HTML normal o directamente en la plantilla :D
En lo personal, si bien dejé la sección por razones de comodidad, el código interno lo eliminé y puse otro a mi gusto así que, adelante, no tendrás problemas.
a ok muchas gracias por la respuesta.Sería bueno que hagas una template
muy sencilla explicando eso.Si es que ya lo hiciste pasame el dato que no lo encuentro en tus post jejejeje son muchos.
No hay un post semejante; esto es lo más cercano. La idea es eliminar todo el contenido y colocar uno propio pero, no es necesario, puedes colocar HTML normal o usar un elemento HTML con el diseño que quieras.
Hola, tu blog es excelente. Felicitaciones. Me podrías ayudar por favor.. ? tengo un problema en el blog www.esgrimaecuador.blogspot.com. Puse para cabecera una imagen divida en partes para que incluya un menu (partes de la imagen tienen links) pero el asunto es que horizontalmente me queda un espacio entre imagenes por lo que no logré el efecto que quería como soluciono eso? por fa ayudaaaa
Eso parecería ser producto del tamañoa d los textos de los enlaces que, en este caso, es mayor al tamaño de la imagen en si. Por lo que veo, has colocado estilo acá:
<div style='text-align: center;' id='crosscol-wrapper'>
así que agrega una propiedad más:
<div style='line-height: 0; text-align: center;' id='crosscol-wrapper'>
Y veamos qué ocurre.
Hola de nuevo jmiur!!
Soy Alfonso, asiduo por aqui cada vez que tengo problemas y cuando quiero actualizarme de los nuevos servicios de blogger.
Mi consulta es una simpleza, pero yo no puedo hacerlo. Se trata de quitar el link (el que te lleva a la home del blog) de la cabecera en blogger, se que es algo sencillo pero no encuentro la linea de código que lo elimina.
Muchas gracias de nuevo. Seguiré confiando en tus consejos y trucos. Si estuvieramos cerca te invitaria a una cervecita.
alfonso:
Es sencillo relativamente porque deberás expandir y editar elemento header que es bastamte engorroso ya que incluye los códigos necesarios para todas las alternativas.
En teoría está en dos partes:
<a expr:href='data:blog.homepageUrl' style='display: block'> ...................... </a>
<a expr:href='data:blog.homepageUrl'><data:title/></a>
Y deberías eliminar la etiqueta A y la etiqtea de cierre </a>
Es probable que también debas modificar el CSS pero toda todo esto entre comilals porque dependerá de la plantilla que estés utilizando.
Yo no la puedo modificar :S
No me sale Editar en el elemento NombredelBlog (Cabecera)
Es probable que esté bloqueado. Sin expandir los artilugios, busca esto: locked='true' dentro ed las etiquetas b:widget y quítalo:
<b:widget id='Header1' locked='true' title='xxxxxxxxxx' type='Header'/>
para que quede de este modo:
<b:widget id='Header1' title='xxxxxxxxxx' type='Header'/>
Hola JMiur. Estoy utilizando una plantilla sin ancho fijo, que se adapta al total de cualquier pantalla. El problema es que como no tiene una medida fija, cuando intento poner una imagen en el header, dependiendo del ordenador o del navegador, ocupa solo una parte.
¿Existe alguna solución para esto? ¿Se puede establecer el ancho en tanto por ciento para que ocupe toda la cabecera?
En este blog de pruebas puedes ver lo que comento. www.amadorlo.blogspot.com
Gracias por tu tiempo.
Amador:
Si bien existe la posibilidad de usar imágenes de fondo re-dimensionables, esta propiedad no está disponible en todos los navegadores (ver entrada)
También existen reglas de estilo con las cuales detectar la resolución de la pantalla y actuar en consecuencia pero, tampoco están disponibles en todos los navegadores (ver entrada)
En tu caso, como la imagen está en una etiqueta IMG, el 100% de esta no se refiere al ancho del contenedor sino a la propia imagen y, salvo que uno le diga lo contrario, siempre es el 100%.
No existe una solución práctica para eso ya que, sea cual sea el método, la imagen se deformará; lo razonable, creo yo, es establecer ese logo como imagen y colocar un fondo de color o una imagen estilo mosaico debajo, de tal forma que el logo aparezca encima.
¡Me lo temía! El caso es que elegí ese modelo de plantilla porque está pensado para escribir texto. Finalmente he optado por la última sugerencia. Todo tiene solución. Gracias.
Sí, me parece lo más razonable y lo que quedará mejor, esteticamente.
Un par de preguntas más: ¿dónde va a parar la imagen que subimos con la herramienta que nos facilita blogger?, y, ¿en qué parte de la plantilla html del blog queda recogido que se ha añadido la imagen? porque en el header no aparece.
Esta y todas las imágenes que se sbn, quedan alojadas en una cuenta de Picasa, asociada con la cuenta de Blogger; mismo ususario, mismo password.
La imagen es un fondo y lo que se verá en la plantilla, no es la URL de esta sino un dato de Bloger; normalmente, en un DIV interno del header, llamado header-inner:
data:sourceUrl
Gracias de nuevo.
Jmiur, como siempre cada vez que tengo un problema recurro a tus posts y encuentro la solución, pero esta vez no doy hecho.
Tengo una plantilla que tiene una cabecera (para ponerle un banner que hice) y arriba una zona (en gris) con una leyenda "Página Principal".
Bién, ahora el problema que no puedo resolver por mi mismo ya que no tengo muchos conocimientos. Quisiera colocar un banner que me pueda ocupar el alto completo sacándole esa zona gris y la leyenda. Se que el banner es 960x90 y creo que esa zona 960x28 (eso creo) y no se como hacerlo.
Además quiero sacar/ocultar el nombre del blog (que tampoco puedo).
Me puedes ayudar por favor (el blog es: http://jhonyblackprueba.blogspot.com).
Espero que me puedas ayudar.
Gracias
Esa zona gris es un gadget PageList así que simplemente, debes eliminarlo porque no puede ser editado; en su lugar, agrega un gadget HTML y allí colocas el banner. Luego, deberás modificar las reglas de esa parte: ##nav-wrapper {} y #nav {}
Más que quitar el nombre del blog, para no complicar las cosas, convendría que lo pusieras invisible:
#header h1 {
........
visibility:hidden;
}
Jmiur,
Solo he ocultado el nombre del blog, pero no se que debo hacer para incluir un banner que ocupe el tamaño actual más la zona gris. Me indicas borrar el PageList pero no se desde donde hasta donde.
Si tuvieras algo de tiempo podrías ayudarme?.
Creo que quedaría de 960x108 ¿estoy en lo cierto?.
Gracias
El PageList es un gadget así que se elimina o edita desde la ventana de Diseño. Allí mismo, agregas uno de tipo HTML donde deberás poner el código para ese banner o bien ponerlo como fondo cambiando las reglas de ese DIV llamado #nav-wrapper.
No sé si quieres agregar un banner o hacer que lo que está debajo de lo gris sea de otro tamaño y tenga otra imagen.
JMiur, lo que quisiera es eliminar la parte gris, y darle más altura al banner actual, por eso te comentaba que quedaría luego de 960x108 (sumé la altura actual 90px más la altura que tiene la zona gris 28px).
En Diseño no me doy cuenta de donde está ese Gadget o como es su nombre.
En realidad tengo uno que dice Pages pero no tengo la opción de poder eliminarlo porque está detrás de uno llamado "Barra de Navegación" y hay otro que pone "Favicon".
Jmiur, ahí pude agarrarlo y lo solté más abajo. El Gadget se llama Pages y dice cuando ingreso: Configurar lista de páginas, tiene marcado las opciones:
Añadir nuevas páginas automáticamente... y
Página que mostrar (Página principal).
Es ese el que debería borrar?. Si es así, teneme un poco de paciencia para indicarme que hacer.
Espero no "jorobarte demasiado".
Sí. Simplemente lo puedes eliminar. Es un gadget de Blogger por lo tanto,puede agregarse en cualquier otro momento o colocarlo en otra parte.
Haz eso y luego seguimos.
Jmiur, ya elimine el gadget. Estoy listo para seguir.
Ahora debes ocultar ese div colocando lo siguiente en el CSS:
#nav-wrapper {display: none;}
y por último, establecer la mueva imagen cambiando el dato de background de esta regla donde también agregas la altura de la nueva imagen en la propiedad height::
#header-wrapper {
.......
background: url(https://sites.google.com/site/quientelodijoarch/mis-archivos/banner_j2.png) repeat-x scroll center bottom #4C7CBF;
height: 140px;
}
JMiur, funcionó apenas hice lo que me indicaste.
Sinceramente, eres la fuente donde recurrimos muchos de nosotros, aquellos que aún tenemos poco conocimiento (pero muchas ganas de aprender) y aquellos que están algunos escalones más arriba, y siempre vamos a "Vagabundia", seguro está alguna solución a nuestro problema y sino la das vos mismo con muchísima "seguridad y paciencia".
Claro que todos aprendemos a diario, pero no mucha gente transmite esos conocimientos "desinteresadamente" a otros con menos experiencia.
Gracias como siempre, y ojalá pueda recurrir nuevamente para alguna solución.
Gracias :D Me alegra que funcionara.
¿Quiere dejar un comentario?
recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...
Nota: sólo los miembros de este blog pueden publicar comentarios.
Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.
Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...