sexta-feira, 22 de março de 2013

TABELAS HTML

UTILIZAÇÃO DE TABELAS

a) TABLE
Uma tabela é divida em linhas (com a tag <tr>), e cada linha é dividida em células de dados
(com a tag <td>). Ela representa "os dados da tabela," e mantém o conteúdo de uma célula de dados. A tag <td> pode conter texto, links, imagens, listas, formulários, etc.

Um exemplo de uma tabela:

<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>


Representação:
row 1, cell 1row 1, cell 2
row 2, cell 1row 2, cell 2


1. tr, td, th
<tr>: Define a linha em uma tabela.

Exemplo de uma tabela HTML simples, contendo duas colunas e duas linhas:

<table border="1">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100</td>
  </tr>
</table>


Representação:


MonthSavings
January$100


<td>: Define uma coluna em uma tabela.

Exemplo de uma tabela HTML simples, com duas células:

<table border="1">
  <tr>
    <td>Cell A</td>
    <td>Cell B</td>
  </tr>
</table>


Representação:


Cell ACell B


<th>: Define o cabeçalho de uma tabela.

Exemplo de uma tabela em HTML com duas células do cabeçalho e duas células
de dados:

<table border="1">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100</td>
  </tr>
</table>

Representação:


MonthSavings
January$100


2. caption
<caption>: Define a legenda da tabela.

Uma tabela com legenda:

<table border="1">

  <caption>Monthly savings</caption>
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100</td>
  </tr>
</table>

Representação:

Monthly savings
MonthSavings
January$100



3. thead, tfoot, body
<thead>: Define linhas que fazem parte do cabeçalho da tabela.
<tfoot>: Define linhas que fazem parte do rodapé da tabela.
<tbody>: Corpo da tabela, onde se encontram os dados.

Uma tabela com os elementos <thead>, <tfoot>, e <tbody>:


<table border="1">
  <thead>
    <tr>
      <th>Month</th>
      <th>Savings</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td>Sum</td>
      <td>$180</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td>January</td>
      <td>$100</td>
    </tr>
    <tr>
      <td>February</td>
      <td>$80</td>
    </tr>
  </tbody>
</table>


Representação:


MonthSavings
Sum$180
January$100
February$80



Link: http://www.w3schools.com/html/html_tables.asp

segunda-feira, 18 de março de 2013

TEMPLATE LAYOUT

PPSI 2 - Post 2

01. DOCUMENT FLOW
Documentos de fluxo são projetados para otimizar a visualização e legibilidade. Ao invés de ser definida como um layout pré-definido, documentos de fluxo e refluxo ajustam dinamicamente o seu conteúdo com base em tempo de execução de variáveis, ​como tamanho da janela, resolução do dispositivo, e preferências do usuário opcionais. Além disso, documentos de fluxo oferecem recursos avançados, como paginação e colunas.

02. PROPRIEDADE POSITION
O valor da propriedade position especifica qual linha e coluna o elemento será colocado no template. Você escreve apenas uma letra por elemento. Vários elementos podem ser colocados em um mesmo slot. Logo estes elementos terão o mesmo valor de position.

03. PROPRIEDADE FLOAT
A propriedade float em CSS foi criada para dar consistência de layout. Flutuando uma imagem ou qualquer elemento para essa matéria, empurrando para um lado e permite o fluxo do texto no outro lado. Um elemento pode ser 'flutuado' à esquerda ou à direita com uso da propriedade float. Isto significa que o box e seu conteúdo são deslocados para a direita ou para a esquerda do documento. A figura a seguir ilustra o princípio de float:


Um box flutuado à esquerda

Se desejamos que um texto seja posicionado em volta de uma figura como mostrado abaixo, basta flutuarmos a imagem:

Um box flutuado, contendo uma imagem

O HTML para o exemplo acima é mostrado a seguir:

        <div id="picture">

<img src="bill.jpg" alt="Bill Gates">
</div>

<p>causas naturales et antecedentes, 
idciro etiam nostrarum voluntatum...</p>

Para conseguir o efeito mostrado, basta definir uma largura para o box que o contém e declarar para ele float: left;


#picture {
float:left;
width: 100px;
}

Outro exemplo: Colunas

Floats podem ser usados para construir colunas em um documento. Para criar as colunas estruturamos as colunas no código HTML usando <div> como mostrado a seguir:


<div id="column1">
<p>Haec disserens qua de re agatur
et in quo causa consistat non videt...</p>
</div>

<div id="column2">
<p>causas naturales et antecedentes, 
idciro etiam nostrarum voluntatum...</p>
</div>

<div id="column3">
<p>nam nihil esset in nostra 
potestate si res ita se haberet...</p>
</div>

A seguir definimos a largura de cada coluna, por exemplo 33%, e declaramos
float: left; para cada uma das colunas:


#column1 {
float:left;
width: 33%;
}

#column2 {
float:left;
width: 33%;
}

#column3 {
float:left;
width: 33%;
}


A propriedade float pode ser declarado com left, rightnone inherit*.
* O inherit é raramente usado.

Link: http://pt-br.html.net/tutorials/css/lesson13_ex2.php


a) PROPRIEDADE CLEAR

A propriedade clear é usada para controlar o comportamento dos elementos que se seguem aos elementos floats no documento.

Por padrão, o elemento subsequente a um float, ocupa o espaço livre ao lado do elemento flutuado. Veja no exemplo acima que o texto deslocou-se automaticamente para o lado da foto de Bill Gates.

A propriedade clear pode assumir os valores left, right, both ou none. A regra geral é: se clear, for por exemplo definido both para um box, a margem superior deste box será posicionada sempre abaixo da margem inferior dos boxes flutuados que estejam antes dele no código.


<div id="picture">
<img src="bill.jpg" alt="Bill Gates">
</div>

<h1>Bill Gates</h1>

<p class="floatstop">causas naturales et antecedentes, 
idciro etiam nostrarum voluntatum...</p>

Para evitar que o texto se posicione no espaço livre deixado pela foto do Bill Gates basta adicionar a seguinte regra CSS:


#picture {
float:left;
width: 100px;
}

.floatstop {
clear:both;
}

Link: http://pt-br.html.net/tutorials/css/lesson13_ex3.php


b) PROBLEMAS DE PUSHDOWN E POSSÍVEIS SOLUÇÕES

Esta questão merece uma atenção especial, porque frequentemente as pessoas têm problemas com questões de “empurrões”. Olhando novamente o exemplo dado no início deste artigo, a div do conteúdo principal flutua à esquerda da div da barra lateral. Esta é uma estrutura comum em muitos blogs. 
Quer sejam elementos fixos ou fluidos, ambas as DIVs têm uma largura especificada. Eles supostamente comportam-se como elementos flutuantes, ou seja, se um elemento dentro da área do conteúdo principal tem a largura maior que toda esta área (por exemplo, uma imagem muito larga) ele simplesmente se extende através e cobre qualquer coisa que esteja “no caminho”. A forma como o IE6 trata isso é bem diferente. Se um elemento tem a largura maior que a de seu elemento pai, no IE6 a barra lateral vai ser simplesmente empurrada para baixo (“pushdown“), quebrando completamente o layout.



A melhor solução é não colocar elementos com largura maior que a de seu elemento pai. Para se proteger melhor, e se seu layout funciona de outra forma (não especifique alturas!), você pode trabalhar com “overflow:hidden” para esconder algo que seja preciso. Ainda há outra solução, que seria usar posicionamento absoluto para posicionar a barra lateral mais à direta. Entretanto, que posicionamento absoluto retira o elemento do fluxo da página – algo para se levar em consideração.

POSICIONAMENTO ABSOLUTO
Um elemento posicionado absolutamente não cria nenhum espaço no documento. Isto significa que não deixa nenhum espaço vazio após ser posicionado.

Para posicionar um elemento de forma absoluta a propriedade position deve ser definida para absolute. Você pode então usar as propriedades left, right, top, e bottom para definir as coordenadas e posicionar o elemento.

Para exemplificar o posicionamento absoluto escolhemos colocar quatro boxes nos quatro cantos da página:


#box1 {
position:absolute;
top: 50px;
left: 50px;
}

#box2 {
position:absolute;
top: 50px;
right: 50px;
}

#box3 {

position:absolute;
bottom: 50px;
right: 50px;
}

#box4 {
position:absolute;
bottom: 50px;
left: 50px;
}


POSICIONAMENTO RELATIVO
Para posicionar um elemento de forma relativa a propriedade position deve ser definida para relative. A diferença entre os dois tipos de posicionamento é a maneira como o
posicionamento é calculado.


O posicionamento para posição relativa é calculado com base na posição original do elemento no documento. Isto significa uma movimentação do elemento para a esquerda, para a direita, para cima ou para baixo. Assim fazendo o elemento ocupa um espaço após ser posicionado.

Como exemplo de posicionamento relativo vamos tentar posicionar três imagens relativamente as suas posições originais na página. Notar como as imagens deixam um espaço vazio nas suas posições originais no documento:


#dog1 {
position:relative;
left: 350px;
bottom: 150px;
}
#dog2 {
position:relative;
left: 150px;
bottom: 500px;
}

#dog3 {
position:relative;
left: 50px;
bottom: 700px;
}

Link: http://pt-br.html.net/tutorials/css/lesson14_ex2.php

i. FALSO POSICIONAMENTO ABSOLUTO

Muitos projetos de websites são baseados em um layout de colunas com um cabeçalho e rodapé. Com layouts posicionados absolutamente, é quase impossível posicionar o rodapé se as colunas podem crescer verticalmente. Com layouts flutuantes, alterações de conteúdo inesperados podem causar que colunas inteiras irem para baixo. 
Nesta abordagem procura-se uma solução baseada em encontrar uma maneira para calcular o deslocamento à esquerda de uma posição fixa, ao contrário de cálculo a partir da extremidade direita do elemento precedente. Isso é feito usando uma combinação de posição: relativo , à esquerda: 100% e um negativo da margem esquerda . 
Nesse método, tem a construção de uma grade de linhas e itens. Nós podemos colocar qualquer número de itens em uma linha e qualquer número de linhas no elemento que contém:


<div id="canvas">
<div class="line">
<div class="item" id="item1">
<div conteúdo class="sap-content"> aqui </ div>
</ Div>
</ Div>
</ Div>


... E assim por diante. Cada item tem um extra sap-content div com diversas finalidades:
· impede bug no IE6 ,
· que nos dá uma maior flexibilidade para adicionar preenchimento (exemplo abaixo), e
· permite-nos jogar com posição: overflow (sem quebrar a grade!).


O genérico CSS aplicados a estes elementos é o seguinte: 
. Linha {
float: left;
largura: 100%;
display: block;
position: relative;
}. Item {
position: relative;
float: left;
esquerda: 100%;
}


Para posicionar um determinado item, tudo o que precisamos de fazer é dar-lhe um margem esquerda negativa e uma largura . Por exemplo:


#item1{
A margem esquerda: -100%;
largura: 30%;
}

Com algum estilo extra, para fins de demonstração, é parecido com este:



c) PROBLEMAS CROSSBROWSER E POSSÍVEIS SOLUÇÕES
Cross-Browser significa a habilidade de um site ou aplicação web de suportar múltiplos navegadores indiferente da tecnologia, seja HTML, CSS ou algum script client-side, como Javascript. Mais que suportar múltiplos navegadores, o ideal é que este site seja visualizado de forma idêntica independente do sistema operacional, resolução ou navegador conforme foi planejado. 


Para resolver este problema seguem algumas dicas:

1) Identifique a resolução do seu público-alvo 
Antes de abrir qualquer programa para desenhar o layout, veja qual resolução seus usuários mais utilizam, então poderá criar as telas para seu público-alvo. Para realizar tal tarefa utilize um serviço de Web-Analytics, como o Google Analytics que fornece não somente esta, mas diversas estatísticas sobre seu site. Este processo facilita o planejamento das alterações sejam elas pequenas atualizações ou grandes reformas.

2) Trabalhe em cima das Web Standards 
Procure trabalhar em cima das Web Standards, e se houver Javascript certifique-se que é não-obstrutivo, assim as chances do seu site estar visível e funcionar para um maior número maior de usuários aumenta.

3) Faça testes em diversos navegadores 
Testar para mim é uma das fases mais importantes no processo de desenvolvimento, seja em criação de sites ou programação de um software, embora muitas vezes por falta de tempo ou verba esta fase, principalmente em projetos web, é esquecida ou colocada em segundo plano. Realize todos os testes de todas, ou as principais, páginas do seu site nos mais variados navegadores.

4) Realize os testes primeiro em navegadores modernos 
E quando realizar os testes, faça primeiro em navegadores que estão atualizados e tem amplo suporte as novas tecnologias, como o Mozilla Firefox e Google Chrome, e posteriormente rebaixe seu projeto aos outros navegadores.


d) TEMPLATE LAYOUT

A propriedade float é muito simples de se entender. O problema não é o funcionamento, mas os efeitos que a propriedade float causa nos elementos próximos. Se você pede para duas colunas fica­rem flutuando à esquerda e outra coluna à direita, o rodapé sobe. Ou se você coloca um elemento envolvendo outros elementos com float, esse elemento perde a altura. Estes são problemas corri­queiros que já tem soluções inteligentes e que não apresentam chateações mais graves.
Infelizmente o float não é o ideal para a diagramação e organização dos elementos do layout. Ele resolve muitos problemas, mas deixa a desejar em diversos sentidos. O float está completamente ligado a ordem dos elementos no HTML. Existem técnicas que você consegue fazer quase que qualquer organização visual sem encostar no código HTML. Mas há outras necessidades que in­variavelmente você precisará modificar a ordem dos elementos no meio do HTML para que a diagramação do site saia conforme o esperado. Essa organização do HTML pode alterar desde pro­gramação server-side e até resultados de SEO e acessibilidade. Por isso é interessante que o HTML fique organizado de forma que ele supre as necessidades dessas bases. Sua organização visual deve ser independente desta organização.

O módulo Template Layout basicamente define slots de layout para encaixar e posicionar seus elementos. O mapeamento dos slots é feito com duas propriedades que já
conhecemos que este módulo adiciona mais alguns valores e funcionalidades, são as propriedades position e display.

i. TEMPLATE BASED-POSITIONING

Tendo em vista estes e outros problemas o W3C criou um novo módulo. Na verdade ele não é o único, e nem pode ser para que tenhamos diversas formas de trabalhar. O módulo em questão é chamado de Template Layout. Esse módulo consiste em uma forma de criarmos e organizarmos os elementos e informações do layout de forma menos espartana e mais flexível. 
Podemos dividir a construção do layout em duas grandes partes: 1) Definição dos elementos mestres e grid a ser seguido. 2) Formatação de font, cores, background, bordas etc.
As propriedades nesta especificação trabalham associando uma política de layout de um elemento. Essa política é chamada de template-based positioning (não tem nada a ver com a propriedade position, pelo contrário é uma alternativa) que dá ao elemento uma grid invisível para alinhar seus elementos descendentes.
Porque o layout deve se adaptar em diferentes janelas e tamanhos de papéis, as colunas e linhas do grid deve ser fixas ou flexiveis dependendo do tamanho. 
O W3C mostra alguns casos comuns:
· Páginas complexas com múltiplas barras de navegação em áreas com posições fixas como publicidade, submenus e etc.
· Formulários complexos, onde o alinhamento de labels e campos podem ser facilmente definidos com as propriedades deste módulo com a ajuda das propriedades de margin, padding e tables. 
· GUIs, onde botões, toolbars, labels, ícones etc, tem alinhamentos complexos e precisam estar sempre alinhados caso o tamanho ou a resolução da tela mudam. 
· Medias que são paginadas, como medias de impressão onde cada página são divididos em áreas fixas para conteúdos de gêneros diferentes.
Template-based positioning são uma alternativa para a propriedade position com o valor absolute. Antigamente lembro-me que quase todos os desenvolvedores tentavam organizar e diagramar layouts utilizando position. Não que seja errado, mas definitivamente não é a melhor forma. Costumo dizer em meus cursos e palestras que position é para detalhes. Nada muito grande, mas para pequenos detalhes. Usamos position para posicionarmos elementos que não tem relação direta com sua posição no código HTML. Ou seja, não importa onde o elemento esteja, o position:absolute; irá posicionar o elemento nas coordenadas que você quiser.

quinta-feira, 14 de março de 2013

TAQUIGRAFIA CSS


PPSI 2 - Post 1

O QUE É CSS?
Cascading Style Sheets (ou simplesmente CSS) é uma linguagem de estilo utilizada para definir a apresentação de documentos escritos em uma linguagem de marcação, como HTML ou XML. Seu principal benefício é prover a separação entre o formato e o conteúdo de um documento.

SINTAXE

Uma regra CSS é uma declaração que segue uma sintaxe prória 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 elementar, compõe-se de três partes: um seletor, uma propriedade e um valor e tem a sintaxe conforme mostrando abaixo:

seletor { propriedade: valor; }

Seletor: genericamente, é o elemento HTML identificado por sua tag, ou por uma classe, ou por uma ID, ou etc., e para o qual a regra será válida (por exemplo: <p>, <h1>, <form>,.minhaclasse, etc...);

Propriedade: é o atributo do elemento HTML ao qual será aplicada a regra (por exemplo: font, color, background, etc...).

Valor: é a característica específica a ser assumida pela propriedade (por exemplo: letra tipo arial, cor azul, fundo verde, etc...)


Ex:
elemento.minhaclasse {
propriedade: valor;
}

a) Fundo

A propriedade background define as características (os valores na regra CSS) do fundo dos elementos HTML.

As propriedades background são as listadas abaixo:

background-color: Cor do fundo;

01.<html>
02.<head>
03.<style type="text/css">
04.body {background-color: #cff;} /*azul claro*/
05.h2 {background-color: #f00;}   /* vermelho */
06.p {background-color: #0f0;}    /*  verde   */
07.</style>
08.</head>
09.<body>
10.<h2>Estude CSS</h2>
11.<p>Com CSS você controla melhor seu layout</p>
12.</body>
13.</html>


Este é o efeito da folha de estilo acima:

Estude CSS
Com CSS você controla melhor seu layout

background-image: Imagem de fundo;

01.<html>
02.<head>
03.<style type="text/css">
04.body { background-image: url("/images/css.gif");}
05.</style>
06.</head>
07.<body>
08.</body>
09.</html>




background-repeat: Maneira como a imagem de fundo é posicionada;

POSIÇÃO VERTICAL


01.<html>
02.<head>
03.<style type="text/css">
04.body {
05.background-image: url("/images/css.gif");
06.background-repeat: repeat-y;
07.}
08.</style>
09.</head>
10.<body>
11.</body>
12.</html>





POSIÇÃO HORIZONTAL

01.<html>
02.<head>
03.style type="text/css">
04.body {
05.background-image: url("/images/css.gif");
06.background-repeat: repeat-x;
07.}
08.</style
09.</head>
10.<body>
11.</body>
12.</html>


background-position: Como e onde a imagem de fundo é posicionada;

01.<html>
02.<head>
03.<style type="text/css">
04.body {
05.background-image: url("/images/css.gif");
06.background-repeat: no-repeat;
07.background-position: 200px 70px;
08.}
09.</style>
10.</head>
11.<body>
12.</body>
13.</html>


b) Cor: 
Detalhar as diferentes maneiras de se escrever a sintaxe para os valores das cores em uma regra CSS.



Regras de Estilo
1-) div.um {background-color: #FF0000;}

 2-) div.dois {background-color: #F00;}

 3-) div.tres {background-color: rgb(255, 0, 0);}

 4-) div.quatro {background-color: rgb(100%, 0%, 0%);}

 5-) div.cinco {background-color: red;}

 6-) div.seis {background-color: ThreeDShadow;}

Aqui estão apresentadas seis maneiras diferentes de definir uma cor de fundo para uma div .
Se considerarmos que para as duas primeiras regras é válido usar letras minúsculas, existem 08 (oito) maneiras de se definir uma cor em uma regra CSS.

As maneiras mais usadas são as mostradas em 1 e em 2, ou seja, com uso do código hexadecimal de cores.

O efeito das regras no navegador

 Observe agora no screenshot a seguir como estas seis DIV's serão renderizadas:

 



 As cinco primeiras estão com a mesma cor de fundo, vermelha o que nos leva a concluir que as cinco primeiras regras mostradas são equivalentes, ou seja são cinco maneiras diferentes de definir um mesmo valor para uma cor.
 
#FF0000 = #F00 = rgb(255,0,0) = rgb(100%,0%,0%) = red

A sexta cor, ThreeDShadow depende do equipamento do usuário.

Eis aqui duas maneiras de se definir uma cor.

A primeira é a mais conhecida, cuja maneira é definir a cor pelo seu código hexadecimal.

Convém ressaltar que em uma regra CSS é indiferente usar letras maiúsculas ou minúsculas na sintaxe hexadecimal de cores e também que é válido abreviar a notação para três dígitos.

Na notação abreviada cada um dos três dígitos é automaticamente dobrado conforme exemplos a seguir:

#FFF = #FFFFFF

#CF9 = #CCFF99

#cde = #ccddee

#49c = #4499cc

Não é do escopo deste tutorial detalhar o código hexadecimal, contudo ressalto que os dezesseis dígitos hexadecimais são:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F e somente eles são válidos para definir uma cor, podendo em geral ser usada qualquer combinação deles. Assim: #FFDDHH não define uma cor, pois H não é válido.

A seguir, outra maneira de se definir uma cor: a palavra-chave. Nela você pode definir uma cor usando o nome. Os nomes de cor válidos são os listados nas recomendações CSS do W3C.

As Recomendações para CSS 2.1 listam as seguintes 17 cores: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, e yellow

Descrição: As dezessete cores



Assim, as regras a seguir são válidas para definir cor.

p {color: aqua;}
div {background-color: teal;}

c) Fonte: As propriedades para as fontes, definem as características (os valores na regra CSS) das letras que constituem os textos dentro dos elementos HTML.

As propriedades básicas para fontes e que abordaremos neste tutorial são as listadas abaixo:

color: Cor da fonte

Exemplo:

<html>
<head>
<style type="text/css">
<!--
h1 {color: #FF0000;}
h2 {color: #00FF00;}
p {color: rgb(0,0,255);}
-->
</style>
</head>
<body>
<h1>Cabeçalho com letras vermelhas</h1>
<h2>Cabeçalho com letras verdes</h2>
<p>Parágrafo com letras azuis</p>
</body>
</html>
Cabeçalho com letras vermelhas
Cabeçalho com letras verdes
Parágrafo com letras azuis

font-family: Tipo de fonte.

Exemplo:

<html>
<head>
<style type="text/css">
<!--
h2 {font-family: arial, helvetica, serif;}
p {font-family: sans-serif;}
-->
</style>
</head>
<body>
<h2>Família por nome: arial, helvetica, serif;</h2>
<p>Família genérica: sans-serif;<p>
</body>
</html>
Família por nome: arial, helvetica, serif;
Família genérica: sans-serif;

font-size: Tamanho de fonte.

Exemplo:

<html>
<head>
<style type="text/css">
<!--
h1 {font-size: 14px;}
h2 {font-size: smaller;}
p {font-size: 100%;}
-->
</style>
</head>
<body>
<h1>Letras com tamanho: 14px</h1>
<h2>Letras com tamanho: smaller</h2>
<p>Letras com tamanho:100%</p>
</body>
</html>
Letras com tamanho: 14px
Letras com tamanho: smaller
Letras com tamanho:100%

font-style: Estilo de fonte.

Exemplo:
<html>
<head>
<style type="text/css">
<!--
h1 {font-style: italic;}
h2 {font-style: normal;}
p {font-style: oblique;}
-->
</style>
</head>
<body>
<h1>Este é o estilo italic</h1>
<h2>Este é o estilo normal</h2>
<p>Este é o estilo oblique</p>
</body>
</html>
Este é o estilo italic
Este é o estilo normal
Este é o estilo oblique


font-variant: Fontes maiúsculas de menor altura.

Exemplo:

<html>
<head>
<style type="text/css">
<!--
h3 {font-variant: normal;}
p{font-variant: small-caps;}
-->
p</style>
</head>
<body>
<h3>Este cabeçalho com letras normais</h3>
<p>Este parágrafo com letras em "small-caps"</p>
</body>
</html>
Este cabeçalho com letras normais
Este parágrafo com letras em "small-caps"

font-weight: Quanto mais escura a fonte é (negrito).

Exemplo:

<html>
<head>
<style type="text/css">
<!--
p {font-weight: bold;}
-->
</style>
</head>
<body>
<p>
Este é um parágrafo em negrito</p>
</body>
</html>
Este é um parágrafo em negrito


d) Margem: A propriedade para margens, define um valor para espessura das
margens dos elementos HTML.

As propriedades para margens são as listadas abaixo:

margin-top:
Define a margem superior;

Ex:

<html>
<head>
<style type="text/css">
<!--
p {margin-top: 2cm;}
-->
</style>
</head>
<body>
<p>Uma margem superior de 2cm</p>
</body>
</html>
Uma margem superior de 2cm

margin-right: Define a margem direita;

Ex:

<html>
<head>
<style type="text/css">
<!--
p {margin-right: 300px;}
-->
</style>
</head>
<body>
<p>Uma margem direita de 300px nesta
 frase mais longa dentro do parágrafo</p>
</body>
</html>
Uma margem direita de 300px nesta frase mais longa dentro do parágrafo

margin-bottom: Define a margem inferior;

Ex:

<html>
<head>
<style type="text/css">
<!--
p {margin-bottom: 2em;}
-->
</style>
</head>
<body>
<p>Uma margem inferior de 2.0em</p>
</body>
</html>
Uma margem inferior de 2.0em

margin-left: Define a margem esquerda;

Ex:

<html>
<head>
<style type="text/css">
<!--
p {margin-left: 10%;}
-->
</style>
</head>
<body>
<p>Uma margem esquerda de 10%</p>
</body>
</html>
Uma margem esquerda de 10%


e) Padding: A propriedade para espaçamentos (alguns traduzem como "enchimento"), define um valor para os espaçamentos entre o conteúdo e as bordas dos elementos HTML.


As propriedades para espaçamentos são as listadas abaixo:


padding-top: Define a espaçamento superior;

<html>
<head>
<style type="text/css">
<!--
p {padding-top: 2cm;}
-->
</style>
</head>
<body>
<p>Um espaçamento superior de 2cm</p>
</body>
</html>
Um espaçamento superior de 2cm

padding-right: Define a espaçamento direita;

<html>
<head>
<style type="text/css">
<!--
p {padding-right: 300px;}
-->
</style>
</head>
<body>
<p>Um espaçamento direito de 300px nesta
 frase mais longa dentro do parágrafo</p>
</body>
</html>
Um espaçamento a direita de 300px nesta frase mais longa dentro do parágrafo

padding-bottom: Define a espaçamento inferior;

<html>
<head>
<style type="text/css">
<!--
p {padding-bottom: 2em;}
-->
</style>
</head>
<body>
<p>Um espaçamento inferior de 2.0em</p>
</body>
</html>
Um espaçamento inferior de 2.0em


padding-left: 
Define a espaçamento esquerda;

<html>
<head>
<style type="text/css">
<!--
p {padding-left: 10%;}
-->
</style>
</head>
<body>
<p>Um espaçamento esquerdo de 10%</p>
</body>
</html>
Um espaçamento esquerdo de 10%


Link : 
http://maujor.com/