..:: MX Studio Fóruns ::..: DIV Flutuante com Opacidade - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

DIV Flutuante com Opacidade Para tirar algumas dúvidas desse recurso

#1 User is offline   Adriano Aguiar 

  • Group: Membros
  • Posts: 118
  • Joined: 19-May 06

Posted 11 July 2006 - 05:30 PM

DIV Flutuante com Opacidade

Tive vendo que algumas pessoas tinham curiosidade em saber mais sobre como funciona um efeito em CSS, no qual percebesse que o "fundo" fica estático enquanto o layout rola verticalmente, dando a impressão que ele desliza sobre à página.

Aqui temos o Layout que demostra a utilização deste recurso.

Então criaremos um novo documento, pode ser tanto no Dreamweaver quanto em qualquer outro editor de texto simple, como bloco de notas. Agora temos que intender algumas etapas importantes para a criação, que nesse caso iremos utilizar DIV's prezando sempre o hábito desta TAG na criação de nossas páginas HTML/(X)HTML, onde nossa estrutura completa terá que ser reconhecida por mais de um browser, no caso utilizei para testes o IE (Internet Explorer) e o FF (FireFox) sendo a sua formatação em CSS, acabei optando por utilizar um recurso chamado Cometários Condicionais e usei um CSS padrão para o FireFox e o condicional para o Internet Explorer, assim poderei sempre gerar dois CSS para ser visualizado em diferentes Browser's. Agora aqui abaixo temos a estrutura básica em HTML:

CODE

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<!--[if IE]>
<link href="style_flutuante_ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
<link href="style_flutuante.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="global">
<div id="titulo">Utilizar DIV Flutuante com Opacidade CSS </div>
<br />
<br />
<div id="bonzai"></div>
<div id="corpo">
<h1>Historia do Bonsai </h1>
<p>Aqui Fica o Conteudo.</p>
</div>
</div>
</body>
</html>


QUOTE
Salve este Documento com nome Index.html


Agora temos abaixo a estrutura CSS padrão, no caso que comentei acima, este CSS é o responsável para que a estrutura seja visualizada no FireFox:

CODE

#bonzai {
width: 350px;
background-image: url(bonzai2.gif);
background-repeat: no-repeat;
-moz-opacity: .5;
height: 433px;
position: absolute;
left: 85px;
top: 190px;
}


#global {
text-align: center;
width: 772px;
margin: 0 auto;
}


body {
margin: 0;
}

#corpo {
margin-left: 100px;
height: 600px;
width: 600px;
background-image: url(corpo2.gif);
background-repeat: no-repeat;
}


p {
font-family: "Times New Roman", Times, serif;
font-size: 12px;
padding-right: 24px;
padding-left: 24px;
text-align: justify;
text-indent: 20px;
color: #333333;
}


h1 {
font-family: "Times New Roman", Times, serif;
font-size: 14px;
padding-top: 30px;
padding-left: 24px;
font-weight: bold;
color: #333333;
text-align: center;
}

body {
background-image: url(fundo2.gif);
background-attachment: fixed;
margin: 0px;
}


#titulo {
font-family: "Times New Roman", Times, serif;
font-size: 16px;
font-weight: bold;
color: #333333;
margin-left: -270px;
}


QUOTE
Salve este documento com o nome style_flutuante.css


Agora temos nosso último CSS que no caso será o condicional, ele será o resposável para o layout ser visualizado no Internet Explorer:

CODE

#bonzai {
width: 350px;
background-image: url(bonzai2.gif);
background-repeat: no-repeat;
filter: Alpha(Opacity=50);
height: 433px;
position: absolute;
margin-left: 35px;
margin-top: -10px;

}
#global {
text-align: center;
width: 772px;
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
}


body {
margin: 0;
}

#corpo {
height: 600px;
width: 600px;
background-image: url(corpo2.gif);
background-repeat: no-repeat;
}


p {
font-family: "Times New Roman", Times, serif;
font-size: 12px;
padding-right: 24px;
padding-left: 24px;
text-align: justify;
text-indent: 20px;
color: #333333;
}


h1 {
font-family: "Times New Roman", Times, serif;
font-size: 14px;
padding-top: 30px;
padding-left: 24px;
font-weight: bold;
color: #333333;
text-align: center;
}

body {
background-image: url(fundo2.gif);
background-attachment: fixed;
margin: 0px;
}


#titulo {
font-family: "Times New Roman", Times, serif;
font-size: 16px;
font-weight: bold;
color: #333333;
text-indent: 90px;
}


QUOTE
Salve este documento com o nome style_flutuante_IE.css


QUOTE
Pronto, terminamos de mostrar toda a estrutura do layout, temos aqui as imagens disponíveis para ser colocado no layout:

Corpo da Página. (Salve esta imagem com o nome: corpo2.gif)

Imagem Bonsai. (Salve esta imagem com o nome: bonzai2.gif)

Imagem de Fundo. (Salve esta imagem com o nome: fundo2.gif)


Agora entraremos no intendimento da formatação CSS, o importante é você ter uma visão diferente de como observar o resultado antes dele estar pronto, isso é saber sobre as TAG's com que você está trabalhando, então mãos a obra um observar as estruturas baixo, comentarei o CSS padrão primeiro:

QUOTE
ID CSS Feito para FireFox

#bonzai {
width: 350px;
background-image: url(bonzai2.gif);
background-repeat: no-repeat;
-moz-opacity: .5;
height: 433px;
position: absolute;
left: 85px;
top: 190px;
}

ID CSS feito para Internet Explorer

#bonzai {
width: 350px;
background-image: url(bonzai2.gif);
background-repeat: no-repeat;
filter: Alpha(Opacity=50);
height: 433px;
position: absolute;
margin-left: 35px;
margin-top: -10px;

}

Então temos ai um chaveamento de um ID que se chama #bonzai, tendo propriedades importantes que podemos ver no Tutorial que postei anteriormente, mas de novidade temos ai uma TAG -moz-opacity: .5; que serve para causar efeito de Opacidade (clareamento da imagem), sendo que o aconselhável é sempre exportar imagens para trabalhar assim com formato .GIF, pois na maioria das vezes como vai usar DIV's terá que sobrepor Layers em cima de layers, tendo então que trabalhar com imagens que venha exportadas com fundo transparente, esta TAG tem característica especifica do FireFox, por isso não confunda com Alpha(Opacity=?) pois ela serve para causar um efeito de opacidade para Layout que seram visualizados no Internet Explorer, sendo sua utilização também não aconselhada no FireFox, mas esperamos que no CSS3, isso se resolva e contribua para uma WEB unificada.


QUOTE
ID CSS Feito para FireFox

#global {
text-align: left;
width: 772px;
margin: 0 auto;
}

ID CSS Feito para Internet Explorer


#global {
text-align:left;
width: 772px;
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
}

Agora temos uma comparação da ID global, que no caso é de fundamental importância em um layout criado em DIV's pois ele é responsável para agrupar as DIV's do BODY, sendo esta a forma correta, pois ja abservei casos em que Colocam para agrupar e até mesmo centralizar um layout, uma TABLE, sendo que o correto Seria uma DIV global que ficaria responsável para para fazer este agrupamento e na hora de configuralo faria isso tudo pelo CSS, então ai temos de uma forma de formatação CSS que está responsável justamente para fazer isso, sendo que na TAG margin podemos observar uma pequena diferença na estrutura entre eles, mas isso fica somente na aparência pois na prática os dois exemplos (FireFox e do Internet Explorer) estão fazendo a mesma função, então esta ai as formas diferentes de se centralizar um layout, caso tenham interesse em saber mais sobre como centralizar temos uma matéria que do Diego Eis no TABLELESS que comenta mais sobre o assunto.


QUOTE
ID CSS Feito para FireFox e Internet Explorer

body {
background-image: url(fundo2.gif);
background-attachment: fixed;
margin: 0px;
}

Ai esta nosso segredinho para fazer o "efeito deslizante", bem simples, apenas temos uma propriedade chamada background-attachment: fixed; que fixa a imagem de fundo colocada na TAG BODY. Então finalizamos, sendo que espero que tenha aproveitado o tutorial, não esquecendo de sempre aquecer seus conhecimentos.


Aproveitem e até mais thumbsup.gif
Adriano Aguiar - adrianoaguiaralves@gmail.com
Em caso de duvidas postem abaixo ou utilizem nosso Fórum de CSS..
0

#2 User is offline   Thony Conde 

  • Group: Moderadores
  • Posts: 851
  • Joined: 19-May 05

Posted 11 July 2006 - 05:34 PM

boa!
tongue.gif
0

#3 User is offline   Firemaster 

  • Group: Membros
  • Posts: 1410
  • Joined: 14-September 04

Posted 17 July 2006 - 10:12 AM

Excelente. Só não esqueça dos outros browsers hein. Pro ópera a propriedade -moz-* não funciona ;-)

abraços
0

#4 User is offline   Adriano Aguiar 

  • Group: Membros
  • Posts: 118
  • Joined: 19-May 06

Posted 17 July 2006 - 10:28 AM

Fixei a idéia marcelo. thumbup.gif

valeu e até a próxima!
0

#5 User is offline   Níck171 

  • Group: Membros
  • Posts: 145
  • Joined: 15-May 05

Posted 07 April 2007 - 12:04 PM

bom... no meio de 2006 eu postei isso...
http://www.mxstudio.com.br/forum/index.php?showtopic=27939

Funcionou em todos os browsers que testei...

E utilizei atualmente no link PORTIFÓLIO do site que eu e meu supervisor fizemos da empresa que trabalho
http://www.contactonet.com.br


QUOTE
hehhe, vlw aeeee =)

O código lá não é javascript não... é CSS mesmo =)

Eu só criei 2 DIV's

Uma branca (com um estilo que deixa transparente) e por cima dela uma com a descrição do trabalho e tal.

Estilo de transparência
CODE
.transparent {
          filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
          -moz-opacity : 0.6;
}


A primeira linha deixa transparente no IE (60 => Nivel de Opacidade)
A segunda deixa no mozilla firefox (0.6 => Nivel de Opacidade)

=)


PRIMEIRA DIV (ESTILO)
CODE
#FLUTUANTE {
          position:absolute;
          top: 0px;
          left: 0px;
          width:100%;
          height:175%;
          z-index:1;
          background-color: #FFFFFF;
          visibility: hidden;
}


Eu utilizei o tamanho de 175% pois ele completava toda a pagina, se coloca 100% ele deixa a DIV do tamanho que você ve no navegador, por tanto a parte de baixo do site não fica branca, já assim fica o site todo. (no meu caso né, hehe)





Dai no Código html eu fiz assim.
CODE
<div id="FLUTUANTE" class="transparent"></div>

<div id="SITE" style="position: absolute; top: 20%; left: 20%; z-index: 2; visibility: hidden;">
--- código
--- código
--- código
--- código
--- código
--- código
</div>



Repare que eu coloquei a div SITE fora da FLUTUANTE (que carrega a classe de transparência) ficando as duas separadas.

Se eu colocasse a div SITE dentro da FLUTUANTE a transparência afetaria também a div SITE.

biggrin.gif


Bom cara a idéia é essa, o resto é com você

E vlw pelo comentário
thumbsup.gif


0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)