Os tutoriais e templates aqui apresentados são voltados para os Modelos de layout (lançados em 2006). A eficácia das dicas aqui apresentadas não foram testadas nos novos modelos de templates do Blogger (2010).
Mostrando postagens com marcador Como fazer um template. Mostrar todas as postagens
Mostrando postagens com marcador Como fazer um template. Mostrar todas as postagens

Como fazer um template para o Blogger VI - Post

Continuando a série de artigos sobre Como criar um template para o Blogger, nesta sexta parte mostrarei uma idéia geral sobre as colunas do template Mínima e como dar estilo ao post.

Antes, vamos recapitular um pouco do conteúdo da primeira parte:

Um documento HTML se compõe da seguinte estrutura básica:
<html>
<head>
cabeçalho: aqui está contido o estilo da página - CSS
<head/>
<body>
corpo - aqui está contida a estrutura da página, seus elementos.
</body>
</html>
O código CSS, que dá estilo à página, começa com : <b:skin><![CDATA[/* e sua tag de fechamento é ]]></b:skin>. Tudo o que estiver contido entre estas duas tags refere-se ao estilo da página (aparência) e não à sua estrutura. Não é possível criar um novo elemento (uma coluna, por exemplo) com CSS. O CSS irá apenas determinar a aparência deste bloco, deste elemento.
Imediatamente após o fechamento da tag do CSS, encontra-se </head>, fechando o cabeçalho da página e imediatamente após </head> está <body>, dando início ao corpo do documento:



Se entre <head> e </head> está contido o estilo da página com o código CSS, entre <body> e </body> encontra-se a estrutura do template.

Visão do conteúdo de body no template Mínima (sem expandir modelo de widget):

<body>

<div id='outer-wrapper'>
<div id='wrap2'>

<!-- skip links for text browsers -->
<span id='skiplinks' style='display:none;'>
<a href='#main'>skip to main </a> |
<a href='#sidebar'>skip to sidebar</a>
</span>

<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Toda Cute (Cabeçalho)' type='Header'/>
</b:section>
</div>

<div id='content-wrapper'>

<div id='crosscol-wrapper' style='text-align:center'>
<b:section class='crosscol' id='crosscol' showaddelement='no'/>
</div>
<div id='main-wrapper'>
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='Postagens no blog' type='Blog'/>
</b:section>
</div>
<div id='sidebar-wrapper'>
<b:section class='sidebar' id='sidebar' preferred='yes'>
<b:widget id='Followers1' locked='false' title='Seguidores' type='Followers'/>
<b:widget id='BlogArchive1' locked='false' title='Arquivo do blog' type='BlogArchive'/>
<b:widget id='Profile1' locked='false' title='Quem sou eu' type='Profile'/>
</b:section>
</div>

</div> <!-- end content-wrapper -->

<div id='footer-wrapper'>
<b:section class='footer' id='footer'/>
</div>

</div>

</div> <!-- end outer-wrapper -->
</body>

</html>

Colori as tags de abertura e fechamento das divs principais para que possam perceber a 'hierarquia', ou ainda, como alguns blocos estão contidos em outros. Entre <body> e </body> a maior div que engloba todas as outras é outer-wrapper, seguida de wrap2 (que não tem estilo definido no CSS) e dentro destes 2 blocos encontra-se:

<!-- skip links for text browsers -->
<span id='skiplinks' style='display:none;'>
<a href='#main'>skip to main </a> |
<a href='#sidebar'>skip to sidebar</a>
</span>

Skiplinks são links com âncoras que levam diretamente para o conteúdo da página, pulando qualquer outro menu ou links que possam existir entre o topo da página e os textos, ou sidebar. É uma alternativa para quem tem deficiência visual e usa um leitor de tela. Você pode obter informações detalhadas sobre Skip Navigation aqui. No template Mínima o trecho style='display:none' esconde estes links e para que apareçam em seu blog, basta deletar este mesmo trecho.
Cabeçalho
O trecho do HTML que corresponde ao cabeçalho da página é este:
<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Toda Cute (Cabeçalho)' type='Header'/>
</b:section>
</div>
O correspondente no CSS é #header-wrapper, #header-inner, #header, #header h1 (título do blog), #header a, #header a:hover (links do cabeçalho - título) , #header .description (descrição do blog)

Content-Wrapper - Esta é a div que engloba as colunas do post e sidebar do blog. No template Mínima não há estilo para content-wrapper. Se você quiser dar algum estilo à esta div terá que acrescentar no CSS:

#content-wrapper{ ....estilo......}

Crosscol-wrapper
<div id='crosscol-wrapper' style='text-align:center'>
<b:section class='crosscol' id='crosscol' showaddelement='no'/>
</div>

Esta é uma div que fica acima das colunas e que também não tem estilo definido no CSS, apenas dentro do código html, em style='text-align:center' (que centraliza qualquer widget). Para fazer com que esta div apareça na página Layout e possa receber um widget, troque onde está no por yes e salve a modificação. Para dar estilo a crosscol-wrapper, acrescente no CSS:

#crosscoll-wrapper {....estilo...}

Main-wrapper, coluna do post
<div id='main-wrapper'>
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='Postagens no blog' type='Blog'/>
</b:section>
</div>
Main-wrapper é a div que recebe o widget Blog1, o widget de postagens do Blogger. Para que a div main-wrapper possa receber outros widgets, troque no por yes e será possível acrescentar widgets antes ou depois dos posts. Para destrancar o widget de posts (pois ele é fixo no template), troque onde está locked='true' por locked='false' e você poderá arrastar os posts para a sidebar, por exemplo. Não que mover os posts para a sidebar possa ser interessante, mas este é mais um dado que se pode anotar: para destrancar (e remover) um widget fixo (muitos templates convertidos e modificados vem com widgets fixas), basta trocar true por false.

O correspondente no CSS para a div main-wrapper é este trecho do código:
#main-wrapper {
width: 410px;
float: $startSide;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}
Entre { e } você poderá acrescentar os estilos que deseja para a coluna de postagem, como background, largura, borda, flutuação (lembrando: float:left, a coluna flutua à esquerda - float:right, a coluna flutua à direita). Todo estilo aqui determinado servirá para a coluna, para a div que recebe o widget de posts (Blog1).

Blog1

Blog1 é o widget fixo em main-wrapper que engloba tudo o que contém o post, da data do artigo à post-footer, o rodapé da postagem, além dos comentários. Para conhecer todas as divs e classes contidas em Blog1 é preciso clicar em Expandir Modelo de Widget, quando todos os códigos 'ocultos' se revelam (o que geralmente desespera um pouco na primeira vez).

Ultimamente muitos códigos novos tem surgido nos templates do Blogger (pelo menos no Mínima, que é o que acompanho), por isso, eu realmente não sei tudo sobre as funções de cada um deles. Também não tenho como explicar aqui cada linha do código que se revela ao expandir o widget, por isso farei um resumo. Daqui em diante sugiro que você acompanhe o texto ao mesmo tempo que observa os códigos que serão mencionados. Crie um blog de testes, escolha o template Mínima, vá em Editar HTML e clique em Expandir Modelo de Widget. Vá procurando a localização dos códigos mencionado. Mostrarei o código html de determinados elementos e seu correspondente no CSS.

Data da postagem - HTML:

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

Data da Postagem - CSS

h2.date-header {
margin:1.5em 0 .5em;}
e
h2 {
margin:1.5em 0 .75em;
font-size:15px;
line-height: 1.4em;
text-transform:capitalize;
letter-spacing:.2em;
color:$sidebarcolor;}

Para o que não for especificado em h2.date-header valerá o que consta em h2.

Título do Post - HTML

<b:if cond='data:post.title'>
<h3 class='post-title entry-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</b:if>
</h3>
</b:if>

Título do Post -CSS

.post h3 {
margin:.25em 0 0;
padding:0 0 4px;
font-size:140%;
font-weight:normal;
line-height:1.4em;
color:$titlecolor;
}

.post h3 a, .post h3 a:visited, .post h3 strong {
display:block;
text-decoration:none;
color:$titlecolor;
font-weight:normal;
}

.post h3 strong, .post h3 a:hover {
color:$textcolor;
}

Como o título do post é um link, no CSS você encontra estilo para o título (post h3), para o título- link no estado normal (.post a...) e para o título-link no estado hover (quando passa o cursor do mouse sobre).

Post - HTML

<div class='post-body entry-content'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>

Post- CSS

.post { /* área ocupada pelo post, o que inclue a data, título, texto e post-footer */
margin:.5em 0 1.5em;
border-bottom:1px dotted $bordercolor;
padding-bottom:1.5em;
}

.post-body { /* estilo para o texto, área ocupada apenas pelo texto */
margin:0 0 .75em;
line-height:1.6em;
}

.post-body blockquote { /* estilo das citações /*
line-height:1.3em;
}

.post img { /* estilo das imagens do post */
padding:4px;
border:1px solid $bordercolor;
}

Post-Footer - HTML

tag de abertura:
<div class='post-footer'>

tag de fechamento:
</div>

Post-Footer - CSS

.post-footer {
margin: .75em 0;
color:$sidebarcolor;
text-transform:uppercase;
letter-spacing:.1em;
font: $postfooterfont;
line-height: 1.4em;
}

A div class Post-Footer engloba:

Autor do Post - HTML:

<span class='post-author vcard'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/>
<span class='fn'><data:post.author/></span>
</b:if>
</span>

Não há estilo no CSS. Para dar estilo ao link do autor do texto, acrescente no CSS:

.post-author{...aqui os estilos....}

Data do Post - HTML

<span class='post-timestamp'>
<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:post.url'>
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr></a>
</b:if>
</b:if>
</span>

Data do Post - CSS

Não há estilo para a data no template Mínima. Acrescente no CSS:

.timestamp-link{ .... estilo .....}

Link Comentários - HTML

<span class='post-comment-link'>
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:post.allowComments'>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
</b:if>
</b:if>
</span>

Link Comentários - CSS

.comment-link {
margin-$startSide:.6em;
}

Marcadores - HTML

<span class='post-labels'>
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
</b:loop>
</b:if>
</span>

Marcadores - CSS

Acrescente no CSS:
.post-labels{ ....estilo ....}

Não vou me estender para além destes elementos ou o post ficará enorme e também confuso, com excesso de informações. Para os outros elementos elaborarei novos tutoriais.

Agora que você conhece o significado destes códigos do HTML, poderá modificar suas posições no template de acordo com sua vontade. Basta selecionar, por exemplo, todo o trecho do html referente aos marcadores, recortar e colar abaixo do trecho para o título do post. Faça diversas experiências, modificando as posições dos códigos e acrescentando estilos diversos (como backgrounds coloridos) para cada um, aumentando a visibilidade do espaço que cada um ocupa na coluna main-wrapper. O interessante é destacar cada item com imagens diferentes, por exemplo, um background para os títulos dos posts e um ícone para os marcadores. Se você destacar um trecho, colar em outro local e receber uma mensagem de erro ou ser impedido de visualizar o blog, provavelmente você nã destacou o trecho completo (que deve ir de <span...> até </span>).

Para colocar um pequeno ícone ao lado de qualquer link (como marcadores ou o link comentários), basta acrescentar no CSS:

.post-labels{background: url(link da imagem do ícone)   no-repeat bottom left; padding-left:20px; } (para o ícone aparecer à esquerda do link)

para modificar a posição do link comentários:

.comment-link{float:right} o link aparecerá à direita no final do post.

Você pode ainda dar estilo às listas que criar nos seus textos:

.post ul{ ....estilo ....}
.post li{....estilo .....}


item de uma lista no post com imagem como marcador:

.post li {background: url(link da imagem ) no-repeat center left; padding-left:20px;} (a imagem aparecerá à esquerda do item, como eu uso aqui no meu blog).


Exemplo1 :


(clique para ampliar a imagem)

Neste exemplo eu coloquei uma imagem na coluna #main-wrapper (uma imagem que se repete indefinidamente) e uma cor para o background de post, ficando assim o código:

#main-wrapper {
  width: 700px;
  background: url(http://i30.tinypic.com/kcm36a.jpg)  repeat;
  border: 2px solid $bordercolor;
  float: $startSide;
  word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
  overflow: hidden;     /* fix for long non-text content breaking IE sidebar float */
  }

.post {
  margin:15px 10px;
  background: #f5f5f5;
  padding:1.5em;
  border: 4px solid #c373a4
  }
Veja que em post eu estipulei uma margin de 15px para o topo e para a base (o que afasta um post do outro e cria o efeito de 'caixas' onde os posts aparecem), além de uma margem de 10px para a esquerda e direita, o que possibilita visualizar a imagem de fundo colocada em main-wrapper. Se a margem de post for 0 (margin:0px) o efeito é completamente diferente:


Veja que sem margin, o background de main-wrapper não pode ser visto nas laterais do post e um texto aparece imediatamente após o outro, sem nenhum espaço.

Note também que em .post, padding afasta o conteúdo (texto) das bordas:

.post {
  margin:15px 10px;
  background: #f5f5f5;
  padding:1.5em;
  border: 4px solid #c373a4
  }

Padding com um valor 0em ficaria assim:



Exemplo2: degrade (gradiente) no background de main-wrapper:

 

#main-wrapper {
width: 700px;
background: #fff url(http://i25.tinypic.com/29cph8n.jpg) repeat-x;
border: 2px solid $bordercolor;
float: $startSide;

Veja que neste exemplo, criei uma imagem dregrade rosa/branco, que se repete na horizontal (repeat-x) e antes do link da imagem coloquei o valor da cor (#fff - branco) do final da imagem:




Use a criatividade e crie estilos diferentes para #main-wrapper e para .post, além dos elementos contidos em Blog1. Recomendo o site do Maujor para aprender noções de CSS e dar estilo aos links e blocos.

Leia também:

Diferença entre margin e padding
Leia Mais

Como fazer um template para o Blogger Listas e Links

Continuando a série sobre como fazer um template, hoje vou tratar dos links e listas no Blogger.

No começo do código do seu template (o Mínima, de testes) você encontra este trecho:

body {
background:$bgcolor;
margin:0;
color:$textcolor;
font:x-small Georgia Serif;
font-size/* */:/**/small;
font-size: /**/small;
text-align: center;
}
a:link {
color:$linkcolor;
text-decoration:none;
}
a:visited {
color:$visitedlinkcolor;
text-decoration:none;
}
a:hover {
color:$titlecolor;
text-decoration:underline;
}

Toda a parte em vermelho refere-se aos links da página: suas cores e se serão sublinhados ou não; mas é claro que nem todos os links precisam se comportar da mesma maneira. Você pode determinar, por exemplo, que os links de sua postagem se apresentem de maneira diferente dos links da sidebar.

Basicamente os estilos dos links são representados desta maneira:



a:link estilo do link no estado inicial
a:visited estilo do link visitado
a:hover estilo do link quando se passa o mouse sobre ele
a:active estilo do link ativo, quando clicado.

As determinações para os links devem respeitar a hierarquia apresentada acima.


Para adicionar um sublinhado no link:
text-decoration: underline;

Sem subinhado:
Text-decoration: none;

Adicionando Sobrelinhado:
text-decoration: overline;

Você pode também acrescentar um fundo colorido para os links, utilizando a propriedade background como para os outros elementos da página.

Para estabelecer o comportamento dos links de sua postagem, é preciso determiná-los dentro da classe .post

.post-body a:link{
color: #993366;
text-decoration: underline;}

.post-body a:hover{
color: #EBC2D7;
text-decoration: underline overline;}

O resultado pode ser visto aqui: Aula Template . Passe o mouse onde está Link Primeiro e veja o efeito de underline e overline juntos.

Você pode detreminar comportamentos e cores diferentes para todos os elementos e classes do template: header, post, sidebar, etc.

Para a sidebar:

.sidebar a:link{
color: #000;
text-decoration: none;}

.sidebar a:hover{
color: #FF6600;
text-decoration: underline;}

Basta respeitar a sintaxe apresentada.

Listas e Menus

Procure no código do seu template este trecho:

.sidebar ul {
list-style:none;
margin:0 0 0;
padding:0 0 0;
}

.sidebar li {
margin:0;
padding-top:0;
padding-$endSide:0;
padding-bottom:.25em;
padding-$startSide:15px;
text-indent:-15px;
line-height:1.5em;
}

Esta é uma lista simples e os valores contidos determinam a aparência das listas na sidebar (lista de marcadores, arquivos, blogroll, etc).

As tags <ul> e </ul> contém cada elemento da lista (ou menu), que são <li> &lt/li>.

Em .sidebar ul se determinará a aparência de toda a lista e em .sidebar li a aparência de cada item desta lista.

list-style é o seletor de marcadores da lista e aqui você determinará se cada item da lista exibirá um marcador ou não :

list-style-image imagem como marcador da lista;
list-style-position onde o marcador da lista é posicionado;
list-style-type tipo do marcador da lista;
list-style maneira abreviada para todas as propriedades;

list-style-type:
none: sem marcador
disc: círculo (bolinha cheia)
circle: circunferência (bolinha vazia)
square: quadrado cheio
decimal: números 1, 2, 3, 4, ...

list-style-image:
none (nenhuma imagem)
URL: url(endereço da imagem)

list-style-position:
outside: marcador fora do alinhamento do texto
inside: marcador alinhado com texto

Ex. 01 - Vou determinar que a minha lista contenha marcadores quadrados:

.sidebar ul{
list-style: square inside; } (quadrado e alinhado aos itens da lista)



Neste exemplo eu determino uma cor para o fundo da lista e outra para cada item :


Óbviamente você está aí pensando: não deu certo, só aparece uma cor e não duas. Sim, a cor que predomina é a cor dos itens da lista, isto por que não existe diferenças entre os limites de .sidebar ul e .sidebar li no template original. É preciso fazer as seguintes mudanças:

.sidebar ul {
width: 220px;
list-style:square inside;
margin:0 0 0;
padding:0 0 0;
background: #B89F67;
}
.sidebar li {
margin:2px auto 2px;
padding-top:0;
width: 200px;
padding: 3px 0 3px 10px;
text-indent:0px;
line-height:1.5em;
background: #E7DECB;
}

Determinei uma largura para ul e outra menor para li, além disso, estipulei uma margem de 2px entre um item da lista e outro, para que a cor de fundo (de .sidebar ul) possa ser notada:


As variações podem ser muitas: você pode acrescentar imagen de fundo e combinações de cor com o fundo da sidebar.

Note que aqui no meu blog, nas listas da sidebar, não só o link se comporta diferente, quando passa-se o mouse por cima, como o background de cada item também se altera (o fundo torna-se transprente e surge uma borda azul). Vejamos como isto é possivel:

Primeiro determine as cores, largura, etc, de sidebar ul:

.sidebar ul {
width: 200px;
list-style:square inside;
margin:10px auto 10px;
padding:5px;
background: #030303;
}

Depois determine a aparência de cada item da lista:

.sidebar li {
margin:2px auto 2px;
width: 190px;
padding: 3px 0 3px 10px;
text-indent:0px;
line-height:1.5em;
background: #F4F4F4;
border-bottom: 1px solid transparent;
}

Veja que aqui acrescentei uma borda de 1px abaixo de cada link da lista, transparente. É necessário que isso seja feito para que o elemento da lista não dance quando se passe o mouse por ele, já que vou acrescentar um border-bottom no estado hover.

Primeiro determino o comportamento dos links no estado natural e hover:

.sidebar a:link{color: #FF6600;text-decoration: none;}

.sidebar a:hover{color: #C6E6FD; text-decoration: none;}

E aqui determino o comportamento do background de cada espaço ocupado por cada um dos itens da lista, quando passa o mouse sobre eles:

.sidebar li:hover{background: transparent; border-bottom: 1px solid #00FFFF}

A diferença aqui é que determinei um comportamento para a linha onde se encontra o item, seja ele um link ou não. O resultado pode ser visto aqui, na lista da sidebar.

Por hoje é isso. Se você quiser ler mais sobre personalização da sidebar, veja aqui.
Dúvidas é só deixar nos comentários, assim que possível, responderei.

Abraços!
Leia Mais

Como fazer um template para o Blogger IV

Quando eu comecei a utilizar o Blogger, imediatamente desejei alterar o template padrão e fui logo xeretando os códigos e tentando modificar alguma coisa. De imediato não percebí muita coisa mas, ao invés de sair perguntando por aí, à torto e à direito 'comofas', descobrí o que era CSS na marra. Uma maneira que encontrei para estabelecer uma ligação com os nomes dos seletores e suas divs ou classes foi colocar cor em tudo. Colorindo minha página,eu tive uma noção clara da localização e dimensão de cada elemento e sugiro que você faça o mesmo.


Aula Template_1220747783735

Mesmo que você tenha entrado aqui só com o intuito de aprender como colocar mais uma coluna no seu template, é importante conhecer todos os elementos que compõem a sua página para diminuir consideravelmente os erros na hora de mudar alguns detalhes.

Coloque em todos os seletores que encontrar a propriedade Background e estabeleça cores diferentes para cada um. Faça isso para #body, #header-wrapper, #header-inner, #header, #header h1, #header .description, #main-wrapper, #sidebar-wrapper, h2.date-header,.post, .post h3,.post-body , .post-footer, #footer e acrescente além disso os seletores .sidebar h2 (que já ensinei como criar no post anterior), #wrap2, #content-wrapper, #crosscol-wrapper, #Blog1 e .hfeed.

Conforme for adicionando cores para os fundos destes elementos, visualize, para perceber a localização e dimensão de cada um.

Para content-wrapper, acrescente, além do background:

word-wrap: break-word; overflow: hidden;

ou a cor (ou imagem) não tomará todo o espaço da div. O código deve ficar assim:

#content-wrapper{
background:#BBCCFF;
word-wrap: break-word; overflow: hidden;}

com croscoll-wrapper é preciso primeiro encontrar este trecho(use Ctrl+F):

<div id='crosscol-wrapper' style='text-align:center'>
<b:section class='crosscol' id='crosscol' showaddelement='no'>
</b:section>
</div>


onde está no coloque yes, depois vá para o painel Layout e insira no novo elemento que aparecrá sob o cabeçalho um gadget qualquer. Eu coloquei uma linha de links do adsense.

Com este método, além de perceber a localização e dimensão dos elementos, ficará claro que algumas divs contém outras divs e por isso as dimensões devem ser respeitadas. Por exemplo, na imagem do meu blog de testes, o que está em cinza é Body, que contém tudo. O que está em preto é Outer-wrapper, que contém todos os outros elementos. Assim, se outer-wrapper tem uma largura de 700px, por exemplo, a soma dos outros elementos não pode exceder esta largura, ou o template ficará desfigurado. Este é o erro mais comum ao tentar colocar uma nova coluna no blog: não respeitar as dimensões. A soma para o acréscimo de qualquer elemento tem que conter os espaços de margin e padding, que já foram explicados aqui além da largura das colunas. Então, a primeira coisa mais importante quando for alterar o seu template é Outer-Wrapper, a div que contém todas as outras.

Como lição de casa :-) faça este colorido no seu blog de testes e vá visualizando, para compreender (e decorar!) a posição dos elementos do template. Você pode ir além e alterar a largura deles também, onde está width. Se no seu blog de testes outer-wrapper tem uma largura width: 660px, aumente para 900px e vá aumentando também a largura ds colunas, para ir se familiarizando.

Leia Mais

Como fazer um template para o Blogger III Background

Bom, agora que já entendemos o que são as variáveis e aprendemos a criar algumas novas, vamos aprender a dar estilo a Body, que é o corpo do nosso documento, da nossa página, e que contém todos os outros elementos.


Procure no código do seu blog de testes este trecho:

body {
background:$bgcolor;
margin:0;
color:$textcolor;
font:x-small Georgia Serif;
font-size/* */:/**/small;
font-size: /**/small;
text-align: center;
}

A primeira propriedade que aparece para body é background, que é o fundo de um elemento html. Originalmente no template Mínima o valor é a variável $bgcolor. As propriedades background e seus valores possíveis são:

background-color: (cor do fundo)

Valores:

  • código hexadecimal: #FFFFFF
  • código rgb: rgb(255,235,0)
  • nome da cor: red, green, white, etc
  • transparente: transparent

background-image

  • url(link da imagem)

background-repeat

  • no-repeat
  • repeat (repete por toda a página na horizontal e vertical)
  • repeat-x (repete a imagem na horizontal)
  • repeat-y (repete a imagem na vertical)

background-attachment (se a imagem rola ou não com a tela)

  • fixed (imagem fixa na tela)
  • scroll (imagem rola com a tela)

background-position: (posição da imagem na tela)

  • x-% y-% (distância em porcentagem das margens do documento, horizontal e vertical)
  • top left
  • top center
  • top right
  • center left
  • center center
  • center right
  • bottom left
  • bottom center
  • bottom right

A propriedade background pode ser aplicada a qualquer outro elemento html, além de body. Você pode determinar backgrounds diferentes para cada coluna, menu, títulos (sidebar, post) e footer.

Em nosso blog de testes vamos aplicar uma imagem de fundo em degradê, para testar.

Em seu editor de imagens (vou exemplificar no Photofiltre, aquele programa free que citei na primeira parte deste tutorial) crie uma imagem em branco de 50 de largura por 550 de altura e determine uma cor qualquer de fundo:

aula9

Clique na ferramenta gradiente: a primeira cor que escolhí foi a mesma que utilizei no fundo da imagem (#a3a3a3) e a segunda o branco:

aula10

Com a ferramenta conta-gotas, anote o valor da cor do final da imagem (bem do finalzinho mesmo, pois é esta cor que se repetira no background do seu template para além da imagem) A cor que eu anotei aqui foi #FEFEFE. Salve a imagem.

Agora vamos colocar esta imagem no background da nossa página.

1- Hospede a imagem no site TinyPic (ou qualquer outro de sua preferência). Tendo feito isso, copie o link fornecido (o último):

aula11

2- No código do template, você pode retirar a variável que está em background e colocar no lugar:

body {
background:#FEFEFE url(http://i33.tinypic.com/2ypd69z.jpg) repeat-x;

ou seja, a cor que eu obtí do final da imagem mais o link da imagem fornecido pelo TinyPic mais o valor repeat-x, pois desejo que a imagem que criei se repita horizontalmente. O resultado é este:

aula12

Note que rolando a página, a cor que continuará pelo background é a cor que colocamos antes do link da imagem e que continua o gradiente perfeitamente.

Posicionando uma imagem.

Vamos posicionar uma imagem no fundo. Vou usar esta imagem, tamanho 335x403:

marilyn

Hospede a imagem, copie o link fornecido e volte ao código do template:

body {
background:#FEFEFE url(http://i34.tinypic.com/behova.jpg) no-repeat top left;

resultado:

aula13

body {
background:#FEFEFE url(http://i34.tinypic.com/behova.jpg) no-repeat top center;

resultado:

aula14

background:#FEFEFE url(http://i34.tinypic.com/behova.jpg) no-repeat bottom left;

resultado:

aula15

ou ainda é possível um posicionamento mais preciso:

body {
background:#FEFEFE url(http://i34.tinypic.com/behova.jpg) no-repeat 80% 60%;

resultado:

aula16

o que eu fiz foi posicionar a imagem à uma distância de 80% da margem esquerda e 60% do topo.

Como lição de casa :-) teste diversas maneiras de posicionar imagens para o background da sua página, utilizando todos os valores possíveis.

Leia Mais

Como fazer um template para o Blogger - Parte II

Variáveis do tipo Font
Continuando a série, vamos ver agora a criação de variáveis do tipo font. Ao analisarmos o código do nosso blog de testes, podemos ver:
<Variable name="bodyfont" description="Text Font"
type="font" default="normal normal 100% Georgia, Serif" value="normal normal 100% Georgia, Serif">

Antes de alterarmos as fontes que se apresentam nas variáveis, é preciso entender primeiro alguns conceitos básicos:

Uma fonte qualquer só é visível se o navegador reconhece esta font, ou seja, é necessário que o leitor tenha esta font gravada em seu computador, caso contrário não irá vê-la. Existe uma infinidade de fontes das mais variadas, porém, não são muitas as que são comuns à todos os usuários. O que devemos fazer é estabelecer uma lista de fontes que podem ser reconhecidas pela maioria dos navegadores, separando-as por vírgulas e obedecendo a regra:
Fontes com nomes duplos precisam vir entre aspas, ex: "Trebuchet MS";
O navegador exibirá ao leitor a primeira fonte que ele reconhecer de uma lista.
Toda lista deve terminar com uma fonte genérica (serif, sans-serif, monospace, cursive e fantasy.) Você pode conferir os tipos de fontes genéricas clicando aqui.
Voltando a nossa variável bodyfont:
<Variable name="bodyfont" description="Text Font"
type="font" default="normal normal 100% Georgia, Serif" value="normal normal 100% Georgia, Serif">
tal qual as variáveis color, precisamos respeitar a sintaxe que se apresenta para a criação de uma variável do tipo font: nome da variável sem espaços, descrição da variável, valores para default e os valores que desejamos aplicar à propriedde fonte. Vamos analisar separadamente o trecho que nos interessa:
value="normal normal 100% Georgia, Serif">
Neste primeiro normal estabelecemos o estilo da fonte (font-style), que pode ser normal, italic e oblique. No segundo normal estabelecemos o quão escura será esta fonte (font-weight) e o valores possíveis são esses:
  1. normal
  2. bold
  3. bolder
  4. lighter
  5. 100
  6. 200
  7. 300
  8. 400
  9. 500
  10. 600
  11. 700
  12. 800
  13. 900
ou seja, se desejamos, neste caso, que a fonte do texto de nossa página se apresente em negrito e no estilo italic, devemos colocar:
value="italic bold 100% Georgia, Serif">
Faça a modificação e clique em visualizar. Deve ficar assim:
aula7
value="italic bold 100% Georgia, Serif">
100% refere-se ao tamanho da fonte, que também pode ser estabelecido em pixels. Georgia é o nome da fonte escolhida para a página e Serif a fonte genérica (fontes normais com serifa). No caso de algum navegador não reconhecer a fonte Georgia, automaticamente irá buscar uma fonte da familia Serif para mostrar ao leitor.
Vamos ver a variável headerfont que se apresenta no código do seu template:
<Variable name="headerfont" description="Sidebar Title Font"
type="font"
default="normal normal 78% 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif" value="normal normal 78% 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif">
Veja que aqui várias fontes foram listadas e devem ser apresentadas na ordem em que estão; ou seja, se o navegador do usuário não encontrar na memória do computador a primeira fonte, usará a segunda e assim por diante.
As variáveis do tipo font no template Mínima são bodyfont, headerfont, pagetitlefont,descriptionfont e postfooterfont. Vamos criar uma nova variável do tipo font, para exercitar:
<Variable name="sidebartitlefont" description="Titulo da Sidebar"
type="font"
default="normal normal 78% 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif" value="normal bold 100% 'Palatino Linotype', 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif">
Veja que criei a variável sidebartitlefont com a seguinte descrição: 'Título da Sidebar' e estabeleci que a letra será normal e em negrito, tamanho 100% e que a primeira font a ser procurada pelo navegador deverá ser a Palatino Linotype (note, está entre aspas), e na falta dela, Trebuchet MS e assim por diante.
Vamos agora colocar esta variável no titulo da sidebar.
No template mínima não existe a regra css para o título da sidebar. Ela está genericamente definida na propriedade h2 para todos os seletores. O que vou fazer é dar valores diferentes para a propriedade h2 do seletor Sidebar, criando a regra:
.sidebar h2{
font: $sidebartitlefont; }
Coloque este trecho no código do seu template, junto às outras regras para sidebar, para facilitar a busca posteriormente.
aula8
Salve as modificações e visualize (se já tiver inserido algum elemento na sidebar, logicamente), e veja a variável em ação.
Você pode criar quantas variáveis do tipo fonte que desejar mas eu particularmente não costumo nem usá-las em meus templates e blogs. Prefiro definir os valores diretamente na regra css para cada seletor, desta maneira:
.sidebar h2{
font-size: 100%;
font-weight: normal;
font-family: 'Palatino Linotype', 'Trebuchet MS', Sans-Serif;
color: #000000;
}
Todos os valores possíveis para a propriedade font, bem como a ordem em que devem ser apresentados, podem ser conferidos aqui.
Como lição de casa :-) se utilize das informações sobre os valores da propriedade fonte para modificar o titulo da sidebar, sem se utilizar de variáveis. Faça como neste último exemplo, alterando o tamanho, cor, estilo e tipos de fontes. Não tenha receio de tentar: enquanto não se clica em salvar, você pode apagar o que fez quantas vezes desejar, clicando em Limpar Edições. Teste todos os valores apresentados na página do Maujor, para ir conhecendo e se familiarizando com cada um.
Leia Mais

Como fazer um template para o Blogger Parte I

Preâmbulo
Muita, muita gente mesmo me pergunta como fazer um template para o Blogger e decidi então explicar, passo a passo, o meu método. Que isto fique claro já agora: vou ensinar aqui como eu faço, pois não tenho à menor idéia do método de outros blogueiros que também criam templates. Este tutorial vai ser longo, por isso se dividirá em várias partes. Posteriormente publicarei como faço para converter temas do Wordpress para o Blogger.
Antes de tudo é necessário algum conhecimento em HTML e CSS. Existem diversos tutoriais sobre o assunto; uma rápida pesquisa no Google trará excelentes resultados logo na primeira página. Recomendo o site do Maujor e o Apostilando, onde é possível baixar diversas apostilas sobre os dois temas.
Também que fique claro que não pretendo aqui dar aulas sobre HTML e CSS e as explicações serão dadas da maneira mais simples e acessível possível. Para quem pretende se aprofundar no assunto, procure os mestres nos sites que já indiquei e em outros tantos.
Que programa usar para criar o template?



Na verdade eu não uso programa nenhum. Faço modificações diretamente em um blog de testes e vou visualizando, até que fique ao meu gosto. Para criar ou editar as imagens que utilizo, uso tanto o Photofiltre Studio 09 quanto o Photoshop. Uma opção de programa gratuito é a versão free do Photofiltre, um programa francês que pode ser traduzido para o Português. Após instalar o programa, faça o download deste documento e descompacte-o dentro da pasta do Photofiltre, em Arquivos de Programas. Feito isso, vá até a pasta do Photofiltre e apague o arquivo EN, como mostra a imagem:
photofiltre
Abra o programa e ele estará traduzido para o Português.
Introdução
Tendo escolhido um programa de edição de imagens, crie um blog de testes, onde você fará o seu primeiro template. Eu criei um que vou chamar Aula Template e escolhí para ele o modelo Mínima que é o mais fácil de modificar. Agora vamos conhecer a estrutura da página onde se encontra o meu blog. Clique em Editar HTML. O que você verá é isso:
aula2
O trecho destacado diz ao navegador qual a linguagem de marcação que está sendo utilizada na página (XHTML) e você não deve modificar nada que está contido ali. É o início do nosso documento HTML e a respectiva tag de fechamento no final (role toda a página) é </html>.
Um documento HTML se compõe da seguinte estrutura básica:
<html>
<head>
cabeçalho: aqui está contido o estilo da página - CSS
<head/>
<body>
corpo - aqui está contida a estrutura da página, seus elementos.
</body>
</html>
Note que todas as tags devem ser fechadas respeitando uma hierarquia. O não fechamento de qualquer tag resultará em erro e rejeição da estrutura.
Início do código CSS
O código CSS, que dá estilo à página, começa com : <b:skin><![CDATA[/* e sua tag de fechamento é ]]></b:skin>. Tudo o que estiver contido entre estas duas tags refere-se ao estilo da página (aparência) e não à sua estrutura. Não é possível criar um novo elemento (uma coluna, por exemplo) com CSS. O CSS irá apenas determinar a aparência deste bloco, deste elemento.
Imediatamente após o fechamento da tag do CSS, encontra-se </head>, fechando o cabeçalho da página e imediatamente após </head> está <body>, dando início ao corpo do documento:
aula3
É entre <body> e </body> que se criam os blocos que serão mostrados na página: colunas, menus, etc.
Para começar, vamos nos deter apenas em modificar a aparência da página atual e deixemos para criar novos elementos mais para frente.
Conhecendo o CSS
CSS é uma sigla em inglês para Cascading Style Sheet, que foi traduzido para folha de estilo em cascata e é um mecanismo para adicionar estilo (fontes, cores, etc) para documentos web.
Regra CSS é uma declaração que segue uma linguagem própria e que define como será aplicado estilo a um ou mais elementos HTML . Um conjunto de regras CSS formam uma Folha de Estilos. Uma regra CSS, na sua forma mais simples, compõe-se de três partes: um seletor, uma propriedade e um valor, que devem ser apresentados conforme mostrado abaixo:
seletor { propriedade: valor; }
Seletor: genericamente, é o elemento HTML para o qual a regra será válida (por exemplo: <post>, <body>, <sidebar-wrapper>, <h1>, <p>, etc...);
Propriedade: é o atributo do elemento HTML ao qual será aplicada a regra (por exemplo: font, background, color,etc...).
Valor: é a característica a ser assumida pela propriedade (por exemplo: letra tipo arial, cor azul, fundo verde, etc...)
Um exemplo prático pode ser encontrado no topo do código do seu template de testes:
body {
background:$bgcolor
Onde body é o seletor (o elemento HTML que receberá o estilo) , background a propriedade deste elemento e $bgcolor o valor
Na sintaxe de uma regra CSS, escreve-se o seletor e a seguir a propriedade e valor separados por dois pontos e entre chaves { }. Quando mais de uma propriedade for definida na regra, deve-se usar ponto-e-vírgula para separá-las. Ex:
body{
background: $bgcolor;
margin:0; }
(fonte das informações: Maujor)
No topo da folha de estilos do seu blog de testes você encontrará Variable definitions, que são valores que podem ser modificados no Painel Fontes e Cores do Blogger. Substituindo valores como #ffffff (cor branca) por uma variável ($bgcolor, por exemplo) você poderá alterar esta cor no painel de Fontes e Cores sem precisar mexer no código do template. Quanto mais variáveis forem criadas, maior a facilidade de mudar cores e fontes dos elementos da página, através do painel. Muitas vezes não se consegue mudar a cor ou fonte de um determinado template por que o autor não usou as variáveis, especificando um determinado valor diretamente em uma propriedade. Por exemplo:
body{
background: #ffffff;}
determina que o fundo da página será branco e isto só poderá ser alterado no código.
body{
background: $bgcolor;}
aqui o valor é uma variável e poderá ser alterada no painel do Blogger (Fontes e Cores).
Uma mesma variável pode ser usada em várias propriedades, contanto que se deseje que as cores mudem de maneira idêntica. Por exemplo:
body{
background: $bgcolor;}
sidebar-wrapper{
background: $bgcolor;}
Ou seja, a mesma cor escolhida no painel Fontes e Cores para Background Color será aplicada nos dois casos (fundo da página e coluna lateral igualmente brancos ou verdes, etc.)
Se você prestar atenção nas variáveis do template Mínima, verá que são poucas as opções e se você pretende futuramente mudar as cores do seu template sem precisar tornar a alterar o código, crie tantas variáveis quanto achar interessante.
Note porém que deve ser respeitada a sintaxe para cada tipo de variável:
Variável Cor:
<Variable name="bgcolor" description="Page Background Color"
type="tipo da variável, no caso color" default="#fff" value="#ffffff">
ou seja:
<Variable name="nome da variável - pode ser qualquer nome que escolher, sem espaços" description="descrição que aparecerá no painel Fontes e Cores, pode conter espaços"
type="color" default="valor padrão, funciona na falta de um outro valor fornecido" value="valor da cor fornecida">
Variável Fonte:
<Variable name="bodyfont" description="Text Font"
type="font" default="normal normal 100% Georgia, Serif" value="normal normal 100% Georgia, Serif">
ou seja:
<Variable name="nome da variável, sem espaços" description="Descrição da variável, pode conter espaços"
type="tipo da variável, no caso, font" default="o mesmo para que se aplica à cores, ou seja, uma fonte padrão" value="fonte escolhida">
Sobre fontes irei me estender mais nos próximos capítulos....
Vamos começar então criando uma nova variável do tipo color, para começar:
<Variable name="cordasidebar" description="Cor do Background da Sidebar"
type="color" default="#fff" value="#CC99FF">
o nome que criei, como exemplo, para esta variável é 'cordasidebar' (um nome qualquer, pois lembre-se que esta variável pode ser utilizada em qualquer propriedade, não apenas no background da sidebar), descrevi-a como Cor do Background da Sidebar (é o que irá aparecer no painel Fontes e Cores), mantive o valor #fff (branco) para default e escolhi o valor hexadecimal #CC99FF que corresponde ao lilás. Cole todo este trecho entre qualquer outra variável de sua página, como mostra a imagem:
aula4
Salve a modificação. Agora vamos ver como esta variável irá se apresentar no Painel. Clique em Fonte e Cores e se você fez tudo certinho até aqui, irá ver a nova variável assim:
aula5
Pois bem, agora que a nossa variável existe, podemos aplicá-la a qualquer propriedade de qualquer seletor onde é possível aplicar cor. Para que a variável funcione é preciso acrescentar o símbolo $ antes dela.
Vou aplicar esta variável na propriedade background de dois seletores, header e sidebar:
#header-wrapper {
width:660px;
background: $cordasidebar;
margin:0 auto 10px;
border:1px solid $bordercolor;
}
#sidebar-wrapper {
width: 220px;
background: $cordasidebar;
float: $endSide;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}
Note que originalmente, no template Mínima, não existe a propriedade background para nenhum dos dois seletores, é preciso criá-las, como fiz aqui.
Agora que você determinou a variável na propriedade background dos dois seletores, salve e retorne ao painel fontes e cores. Note que tanto o cabeçalho quanto a sidebar estão com a mesma cor de fundo:
aula6
Nota: Para fugir das cores do padrão do painel Fontes e Cores, determine outros valores para sua variável, que podem ser escolhidas em uma tabela como essa. Copie o código html e acrescente em value, como já foi explicado.
Para finalizar esta primeira parte, como lição de casa :-) fica a sugestão de criar variáveis do tipo color para cada um destes seletores: body, outer-wrapper, header, main-wrapper, sidebar-wrapper e footer. Não se esqueça de que a propriedade background deve ser criada para todos estes seletores (menos body, que já contém).
Por hoje é só.

continua em : Como fazer um template para o Blogger II
Leia Mais