2011 07 julho de 2011

A questão da CSS corte

Tinha lido isso em algum blog ... pensei que era bom para catalogar isso para ref futuro .... também poderia ser uma questão importante entrevista que você pediu a alguns dias ....

Escreva um trecho de CSS que irá exibir um parágrafo em azul em navegadores mais antigos, os navegadores mais recentes em vermelho, verde e preto em IE6 no IE7

#content p{color:blue}
html>body #content p {color:red}
* html #content p{color:green}
html>body #content p {*color:black;}


2010 20 de maio de 2010

Re-Cycling CSS: Um olhar sobre CSS Frameworks

Re Ciclismo é Buzzword e em Desenvolvimento Web isso significa não é diferente. Ele conserva a energia, em termos de esforço!

Ao longo de anos de escrita e criação de HTML CSS a partir de desenhos, eu tenho seguido algumas das melhores práticas, em busca de economia de tempo e energia naquilo que comumente termo como "Re-inventar a roda". E outra vez, eu disse a mim mesmo, que eu preciso criar alguns modelos, alguns CSS reutilizável padrão que eu usaria OUT OF THE BOX no meu trabalho futuro. Embora não completamente, mas eu consegui atingir alguns dos objetivos.

Ao promover, Re-utilização de CSS, eu tinha um olhar para os quadros alguns CSS que são comumente disponível para nós e decidiu colocá-los para usar, uma vez que estes são experimentadas e testadas e criadas por muito desenvolvedores experientes, do que eu. Mais importante "evitar a re-inventar".

Apesar de conhecimento comum para os veteranos, eu tentei caneta alguns dos principais conceitos / melhores práticas / pensamentos que tem ido para a criação dessas estruturas, para fazer reciclagem de CSS possível. Espero que isto ajude alguns desenvolvedores CSS que estão prestes a embarcar e, recentemente, o bandwagon CSS!

Teclas de reciclagem de CSS:

Use Convenções de Nomeação

Isso tem que ser o fator mais importante para tornar a CSS / HTML re-utilizável. Dando nomes consistentes para os elementos da página permite a reutilização dos componentes PAGE, e suas cores, com pouca ou modificações. De acordo com este argumento, Mesmo HTML5, em uma mudança grande mudança em relação aos seus antecessores, é apresentar alguns viz marcas estrutural. <article>, <section>, <header>, <aside> e <nav> [ O que vai trazer HTML5? ]. Mesmo com HTML 4 (ou inferior), é melhor para nomear seções padrão da sua página consistanly como no exemplo simples abaixo ...

Lembre-se, A maioria das páginas do seu projeto, acabam por ter os mesmos elementos principais estruturais. Identificar esses elementos de página comuns núcleo ....

  <div id="container">
    <div id="header"> ... </ div>
    <div id="nav"> ... </ div>
    <div id="sidebar"> ... </ div>
    <div id="footer"> ... </ div>
   </ Div> 

Redefinir estilos padrão (CSS Redefine): Se você usa um quadro ou escrever o seu próprio, você deve fornecer CSS Redefine [ Quais são CSS Redefine? ], como eles às vezes reduzir ou eliminar as inconsistências visuais que ocorrem entre vários navegadores. Em palavras simples o Mecanismo Redefinir CSS define os estilos de Elemento HTML para valores zero ou nulo, portanto, substituindo os valores padrão do navegador podem coloca. Isso fornece uma ardósia limpa para definir as propriedades destes elementos vazio de quaisquer padrões User-Agent [ CSS2.1 User Agent Padrões de folha de estilo ]. Todos os quadros CSS têm de mecanismo de reset. Se você está escrevendo você próprio CSS Redefine, uma palavra de cautela é que, se acontecer de você se esqueça de repor uma propriedade de chave, ele pode levar a questões cross-browser, que são muito difíceis de depurar. Lembre-se, Mantenha uma cópia dos estilos de reset e deixá-los em cada novo projeto que você criar.

  corpo, div, dl, dt, dd, ul, ol, li,
  h1, h2, h3, h4, h5, h6,
  pré formulário, fieldset, input, select, textarea,
  p, blockquote, tabela, th, td
  {
    margem: 0px;
    margin: 0;
    padding: 0;
  } 

Padrões definidos (Estilos de linha de base) para elementos:

Depois de ter definido (a zero ou nulo) os valores padrão de certos atributos de certos elementos de HTML, é necessário aplicar alguns estilos em todas as instâncias desses elementos. Estes configuração padrão pode variar de acordo com o projeto ou de acordo com as melhores práticas que você segue.

A maioria dos quadros CSS, sempre apresenta alguns novos padrões, além de redefinir estilos padrão do navegador.
Esses padrões estar vazio dos Padrões de User-Agent (arrancada pela redefinição CSS), estes irão ser consistente em todos os navegadores.

Lembre-se, estilos de referência são utilizados para definir estilos que vão ser usados ​​projeto como um todo. por exemplo.

  html {font-size: 77%; font-family: Arial, sans-serif;}
 forte, H1, H2, H3, H4, H5, H6 {font-weight: bold;} 

Estilos comuns abstratos para componentes HTML e classes comuns:

A maior parte do projeto que consiste em várias páginas terá elementos HTML comuns utilizados em todo o site, por algum tipo de formas, por exemplo, alertas e erros, Popups personalizados, etc Lightboxes Como esses componentes são usados ​​mais uma vez entre os projetos, ele vai ser útil para fornecer uma conjunto de classes associadas com estilos pré-definidos para estes componentes e você pode salvar um monte de tempo.

Além de definir definições reutilizáveis ​​estilos para os componentes comuns em HTML, poderíamos classes abstratas estilos pertencentes a cor tipografia, ou mesmo layout. Eu mesmo tendem você usa ... as classes comuns, como Clearfix, Font08, FontGrey, AlignL, DisplayB etc

  formulário de entrada {border: 0px; background: # ffffff; padding: 0px 10px; _padding: 0px 0px; height: 26px; color: # 000000; line-height: 30px; font-size: 1.1em;}
 formulário textarea {border: 0px; background: # ffffff; color: # 000000; font-size: .9 em; line-height: 1.5em; overflow: visível;}
 . Fbold {font-weight: bold; color: # cccccc;}
 . Fgrey {color: # 666666;}
 . Flightgrey {color: # bbbbbb;}
 . Clearfix {clear: both;}
 . Divisor {border-top: 1px solid # 647B06; border-bottom: 1px solid # 9CC00A; height: 0px;}
 . Displayb {display: block;}. Displayn {display: none;}
 . Alignr {text-align: right}. Alignc {text-align: center}
 . Floatr {float: right;}. Floatl {float: left;} 

Correções para peculiaridades comuns do navegador

Vários navegadores implementar o código CSS e proporcionar variação do nível de suporte para as especificações de CSS. O resultado desta .... "Peculiaridades do Navegador", que nós, os desenvolvedores são deixados para enfrentar. Especialmente, IE6 assombra mais codificadores CSS com um prazo a cumprir. A boa notícia é experiência reuniu possíveis correções reutilizáveis ​​para estas questões (muitas vezes denominado como CSS Hacks ).

Lembre-se, Mantenha estes hacks / correções à mão

  / * O zoom seguinte: 1 regra é especificamente para IE6 + IE7.  * /
    * Html. Clearfix,
    *:. First-child + html {clearfix
           zoom: 1;
      } 

Mantenha refinar sua CSS

  • O hábito de reciclagem não vai chegar até você em dia. Tem que desenvolvido. Portanto, planeje sua reciclagem. Tenha isto em mente que você poderia padrões abstratos, definições estilos de tipografia, Layouts, Estilos Elemento HTML etc Tente pensar no futuro.
  • Também olhar para trás em seus projetos anteriores, vai ajudar a identificar estilos que tendem a usar muitas vezes através porjects. Resumo-lo.
  • Remova todos os estilos não utilizados. Esta prática irá manter o seu quadro de CSS a partir de um sintoma comum chamado de "inchaço" -
  • Remover estilos repetitivos.
  • Construir um conjunto de estilos que são flexíveis o suficiente para transportá-lo através de projetos.

Um olhar sobre CSS Frameworks

Finalmente. Se você está inspirado e pretende usar um ou mais dos quadros CSS, Heres é rápida lista de alguns populares ....

  • 960 Grid System : The Grid System 960 é um esforço para agilizar o fluxo de trabalho de desenvolvimento web, proporcionando dimensões comumente usados, com base em uma largura de 960 pixels. Existem três variantes: 12, 16 e 24 colunas, que podem ser utilizados separadamente ou em conjunto. Pensamento nada que você não pode criar um para o seu próprio com bastante facilidade, o quadro fornece modelos de grade para impressão em formato PDF, que pode-se usar a esboçar o seu designs.Bet página, faria uma impressão profissional, se você levar algumas folhas quando você vai a um cliente para levantamento de requisitos de interface do usuário. Ele também fornece modelos de grade básicas para design de software populares, como Fireworks, Flash, InDesign, Illustrator, Photoshop, Visio, etc fornecendo um "Starter for Ten" para começar o seu trabalho de design.
  • Blueprint : Blueprint fornece arquivos distintamente classificados CSS para Redefine, Grades, formulários, impressão, tipografia, Plugins para botões, abas e sprites etc Ele também fornece suporte para IE como um separado incluir.
  • SenCSs : Ao contrário dos dois acima, SenCSs (Sense pronunciado), não tem definições de CSS para layout. Ele inclui fontes, preenchimentos, margens, tabelas, listas, cabeçalhos, blockquotes, formulários e muito mais.
  • BlueTrip : Seu pedido inicial para a fama era isso, era uma combinação dos melhores recursos fornecidos por outros frameworks outros como azul de viagem de impressão, oli ... de onde vem seu nome. Seu conjunto de recursos inclui 24-coluna de grade, estilos de tipografia, estilos ORM, impressão, botões, etc
  • YUI Grids : Trazido a você pelo Developer Network Yahooo, suporta fluido largura (100%), bem como layouts pré-definidos de largura fixa layouts em 750px, 950px, 974px e, ea capacidade de personalizar facilmente para qualquer número. Como você pode ver, sua técnica apenas os componentes de layout. YUI também forneceu HTML / CSS conjuntos para outros elementos da página
  • YAML (Yet layout Outra várias colunas)
  • Emastic

Lembre-se, utilizando frameworks CSS não implica que você é preguiçoso para criar o seu próprio ... Isso implica que você é inteligente para aprender com outras experiências e erros, economizar tempo e aumentar a produtividade!!


2010 13 mar 2010

@ Fontface: Expressando-lo com uma fonte de sua escolha; Usando WebFonts

CSS completou 10 anos existência este ano! Aqueles que estiveram ao redor por um tempo, ganhando o seu pão (ou não) usando o CSS, então você pode consciência de como temos fome de uma boa selecção de fontes. Mesmo com a falta de fontes designers como aqueles em CSS Zen Garden fizeram uso de imagens de fundo CSS para substituir fontes na busca de fazer alguma justiça a seus projetos. Nós também tentamos Flash / JavaScript ® hacks para atingir os objetivos de nosso projeto. De maneira nenhuma este é um caminho errado para obter as fontes que desejamos em nossos projetos de web, mas definitivamente, não é a forma mais desejável. e ao longo dos anos web designer, como eu, totalmente contou com dez ou mais fontes para seus projetos.

Desenvolvimentos recentes na web standards e formatos de letra tornam possível processar texto HTML em caracteres tipográficos que não sejam as mesmas fontes padrão antigo. Vem no "@ fontface" decleration CSS.

@ Fontface provids uma solução para link para o arquivo fonte real e recuperá-la na web. Usando @ fontface, os designers podem usar fontes sem ter que congelar o texto como imagens de fundo. A aplicação é muito simples, como mostrado abaixo, mas como todas as coisas boas têm um papel CON-lo, nem todos os navegadores suportam um "tipo de fonte" única. Se você estiver planejando usar fontface @ no site com necessidade de suporte cross-browser, então você terá que fornecer fontes para vários tipos de font-o mesmo.

  1. TrueType - Um formato projetado para ficar bem na tela. Recomendado especialmente para o Windows navegadores (Chrome).
  2. OpenType (CFF) - Este formato é melhor para o trabalho de impressão e nem sempre ficam bem em Windows.
  3. EOT - Você precisa desse formato se você deseja direcionar o Internet Explorer. IE não vai usar qualquer outro formato. Nosso EOT seriam considerados "Lite", já que não são nem comprimida nem o domínio restrito.
  4. SVG - Este é um formato XML suportada por alguns navegadores, incluindo o iPhone.
  5. WOFF - Este cross-browser, web-somente o formato da fonte é leve (dados da fonte é compactado) e pode ser compilado com TrueType ou PostScript (CFF) descreve. Hoje é suportado pelo Firefox 3.6 +.

Usando @ fontface

  @ Font-face {
 font-family: "CalligraphyFLFRegular ';
 src: url ('CalligraphyFLF.eot');
 src: local ("CalligraphyFLF '), local (' CalligraphyFLF '), formato de url (' CalligraphyFLF.woff") ("WOFF '), url (' CalligraphyFLF.ttf ') formato (' truetype '), url (' CalligraphyFLF . svg # CalligraphyFLF ') formato (' svg ');
 }
 @ Font-face {
   font-family: "O tipo de letra";
   src: url ("fonts / font_filename.eot");
   src: local ("nome alternativo"), local ("Alternatename"),
     formato de url ("fonts / font_filename.woff") ("WOFF"),
     formato de url ("fonts / font_filename.otf") ("OpenType"),
     formato de url ("fonts / font_filename.svg # font_filename") ("svg");
   }
 h2 {font-family: "O tipo de letra", Georgia, serif;} 

Como você pode ver no exemplo acima, para incluir o tipo de letra escolhido, tem de se vincular a um conjunto de fonttypes para o mesmo tipo de letra. Daí as pessoas se referem a ele como "Kit Fonte".
Há Kits de fonte disponíveis que explicitamente permite a ligação com o @ propriedade CSS font-face-to-lo sob End User License Agreement (EULA).

Recursos úteis WebFont:

  • Fontes disponíveis para @ font-face-embedding página wiki em http://webfonts.info/wiki/index.php?title=Main_Page
  • Ray Larabie . Ele é um designer de renome fonte que fez centenas de interessantes fontes TrueType disponíveis gratuitamente para uso na web. Suas fontes são elegantes, decorativo, e brincalhão.
  • Dieter Steffmann é outra grande fonte de designer. Ele também fez muitas fontes bonitas disponíveis para qualquer um usar.
  • Loja Fonte : oferece fontes projetadas especificamente para uso na web. Mais de 30 das famílias FontFont mais bem-sucedidos estão agora disponíveis como FontFonts web. FontShop tem também um detalhado guia do usuário WebFont http://www.fontshop.com/blog/newsletters/pdf/webfontfontuserguide.pdf
  • Esquilo Fonte : Vitrinas todas as fontes que Squirrel Font oferece para uso com a incorporação CSS @ font-face. Esquilo Font oferece uma quantidade impressionante de tipo, faz com que seja muito simples de escolher um para fora, e com folga oferece "kits" - a fonte de sua escolha, em diversos formatos, embalados com demo HTML & CSS que usa muito atual sintaxe @ font-face . Eles também oferecem uma maneira de fazer suas próprias @ font-face kits . Se o tipo de letra que pretende utilizar foi licenciado de forma adequada (os que vêm com o computador não são necessariamente bem), o gerador produz EOT, SVG, e hey! WOFF arquivos.

2009 07 novembro de 2009

CSS ZOOM - Yet Another peculiaridade IE; A mudança pixel 3

Tempo e outra vez, quando todos os outros navegadores vistas a se comportar como disse pelas regras W3C, espirais IE-lo do espírito de desenvolvimento, jogando uma birra, que não parecem ter uma correção. Apenas um tal é esta questão no IE7.

Declaração de problema:
Eu e por isso podem muitos dos outros desenvolvedores web graves ter notado mais do que muitas vezes, que quando há aninhados flutua no layout, na pairam sobre alguns links (tags de âncora), o recipiente contendo parece estar a transferir alguns pixels para a direita . Tentei soluções do Google para este problema, mas quase não encontrei uma resposta razoável por que e quando ele ocorre (que possam ajudar a evitar que esse problema acontecer), daí eu nunca encontrei uma solução clara para o problema ou ...

Solução possível:
Fora da experiência, tenho por cento aviso prévio de 90% do ie vezes, que esse problema é corrigido pela adição de uma propriedade zoom na definição da CSS do recipiente mal se comportando ...

 # {Somediv
       zoom: 1;
 }

novamente as razões são ambíguos ... tente isso ...
Alguns elementos do IE ter um "hasLayout" propriedade, que é "verdade" por padrão. Muitos comportamentos visuais CSS, por exemplo, um filtro de alfa só funciona em um elemento que hasLayout. eo {zoom: 1} parece dar os elementos-alvo a propriedade hasLayout .... Útil? Eu não penso assim ...

A propriedade de zoom é também parece suportado pelo Chrome, mas a sua força utilização parece fazer efeito adverso muito na minha disposição ... experimentá-lo, se ele funciona para você ... se isso não acontecer, bookmark esta página em "craps CSS"


2009 28 de julho de 2009

CSS2.1 User Agent Folha de padrões de estilo

Ontem, após o problema que eu encontrei com o Redefine CSS no Google Chrome ... pensei escavar um pouco mais para a área de folhas de estilo do usuário do agente ...
Encontrado esta tabela sobre os valores padrão de CSS2.1 usuário Folhas de Estilo agente ... (para quem não sabe do que "usuário Folhas de Estilo" Agente é seguir o que é Folhas de Estilo User Agent (especificação) .

Para obter uma lista completa de CSS 2.1 do utilizador Folhas Agente padrões de estilo clique aqui


2009 27 de julho de 2009

Usuário Folhas de Estilo: Agente Margens Mistério no Google Chrome

Ontem, como todos os outros "Dia Ground Hog", eu estava trabalhando em alguns layouts CSS / tableless. Tudo estava indo bem no IE 7, 3 FF e Chrome, untill de repente, vi algumas margens un-ignoráveis ​​visto apenas no Google Chrome. Apesar de muito estranho e PREOCUPANTE, era algum problema de novo bug / que eu tinha vindo accross, houve finalmente um pouco de tempero no meu trabalho mundano. Triste (mas agradável) que foi fixado dentro de alguns minutos da sonda ...

Basicamente, Parecia Google Chrome ignorou meu CSS Redefine (margin: 0px). Na verdade, foi causado pelo estilo agente do usuário (-webkit-preenchimento inicial: 40px). Então a solução foi redefinir esse estilo, definindo padding: 0 os elementos mal-comportados.
Uma boa maneira de evitar que esse problema acontece com qualquer elemento é usar um descanso CSS global como segue

* {Margin: 0; padding: 0;}

O que é o User Agent Folhas de Estilo (especificação)?
O seguinte excerto é retirado http://meiert.com/en/blog/20070922/user-agent-style-sheets/ link, siga para ler mais sobre Folhas de Estilo do usuário do Agente

CSS 1 introduz a idéia ao afirmar que cada User Agent (UA, muitas vezes um "navegador" ou "cliente web ') terá uma folha de estilo padrão que apresenta documentos em um razoável - mas, sem dúvida mundano - maneira. CSS 2 diz que os agentes do usuário conforme deve aplicar uma folha de estilo padrão (ou se comportam como se fez) e que uma folha de agente de usuário estilo padrão deve apresentar os elementos da linguagem do documento de forma que satisfaçam as expectativas de apresentação gerais para o idioma do documento; CSS 3 é susceptível de ser da mesma mente.

Como as especificações CSS deixá-lo até implementações se usar uma folha de estilo "real" para a exibição padrão ou não, não é surpreendente que você não encontrar uma folha de estilo padrão em cada pasta de instalação do navegador. Ao contrário do Internet Explorer da Microsoft, bem como o Opera, por exemplo (e, tanto quanto eu sei), navegadores Gecko como o Firefox eo Netscape Navigator (procure por "html.css"), mas também o Konqueror torná-lo bastante simples de compreender o seu estilo padrão.


2009 18 de fevereiro de 2009

Adicionando DropShadow Para Imagens Utilizando CSS

Outra tut rápido. Aqui é algo simples e agradável usando o poder do CSS ... mas foi concieve difícil (e certamente não era eu), para começar. Adicionando Dropshadow, pode ser um pedaço de bolo para muitos de nós, usando algumas ferramentas de edição de imagem como o Photoshop anf fogos de artifício etc
A razão pela qual, optei por sombra usando CSS é que, geralmente durante a criação de um design de página / html de um aplicativo, os requisitos de manter a iteração. O que quero dizer é, em um site já existente, com muitas imagens, como as que exibem freinds lista ou uma galeria de imagens, será difícil para o reprocessamento de toda a carga de imagens que já haviam sido descarregadas para adicionar ou remover as sombras, para que matéria.
Então, se você fez um pouco de pensamento frente ao criar os htmls para adicionar essas divisões extras ou geralmente a situação é que você tem uma lógica de loop gerando esses ícones / Miniaturas em XSL, PHP. JAVA ou qualquer linguagem de programação / scripting outro, você pode adicioná-la a qualquer momento, então é apenas a questão de mostrar e esconder essas sombras usando a propriedade Display CSS, como por os clientes em constante mudança requisitos ... Eu havn't feito esse tipo de visão de futuro antes disso ... mas ahev começou agora!

No exemplo abaixo, a imagem original é a sombra livre e as dropshadows são aplicados como necessário! Além disso, eu ter ido um pouco mais, usando os truques da minha Tut anteriores (Well! estes são, provavelmente, menor variedade de tutoriais, por isso só se justifica chamá-los de "Tut" 's) sobre Usando CSS propriedade do clipe para mostrar apenas

Imagem Original

original_image

Dropshadow Resultados CSS
css_dropshadow_results
Veja o Demo | Download de SourceFiles


2009 17 fev 2009

Understandng a propriedade Clip CSS

Por que eu quero entender isso?? Humm ...!!

A maioria dos escritores CSS concordaria que o CSS propriedade Clip é provavelmente uma das propriedades não-utilizados CSS. Era tão verdadeiro para mim também e foi mais feliz para negligenciá-lo, até que comecei a modificar o MooTools DOIS Knob componente Slider (pino) (com indicador de Range) .

Houve uma boa sugestão de um dos utilizadores de componentes para modificar o componente deslizante utilizando imagens recortadas backgroud (contra uma divisão de largura variável) para indicar a gama deslizante. Assim chegou a minha hora de entrar na diversão, mas un fretado (para mim é claro) águas da propriedade Clip CSS.

Bem! quão difícil pode ser? Não muita coisa ... SIM e NÃO. A sintaxe a utilizar a propriedade Clip CSS é muito vertical, mas o significado / usuage é um pouco croocked. Com uma memória como a minha, toda vez que eu sento para retocar a minha Script Slider ... Tenho tokeep referindo-se ao uso desta propriedade CLIP, para me lembrar a lógica que eu criei no meu script .... DAÍ! pensado para pen-lo para baixo, com uma esperança de lembrar que o futuro (e também para o benefício daqueles que parecem boggled pela propriedade Clip CSS)

O que Clipe CSS fazer?

Clipe é parte do módulo de efeitos visuais do CSS 2,1. Simplificando, seu trabalho é colocar uma janela visível em cima de um objeto que está sendo cortada, portanto, recorte de imagens e criação de miniaturas sem ter que criar arquivos adicionais (Já coloquei este recurso para melhorar o uso do componente Slider :) )

Usando a propriedade Clip CSS, você pode criar um recorte usando a forma rect. Como muitas outras propriedades CSS (como margem de preenchimento etc,), utilizando rect requer quatro coordenadas superior, inferior, direita, esquerda (TRBL). A natureza croocked desta propriedade reflete quando você dar uma olhada no clipe como calcula a região de corte, usando essas quatro coordenadas (envia cérebro em um lance por um tempo). Agora, para confundi-lo do fundo começa a partir do topo, eo direito começa a partir da esquerda. :) . Você vê o que eu disse? .... Por isso este post ...

Esta pequena confusão pode facilmente desaparecer, com esta explicação visual da propriedade CSS Clip / rect como abaixo!!

Clipe Requisitos CSS

A tarefa que temos começado é para cortar a imagem em miniatura a seguir em uma imagem mais quadrada olhando (e também uma imagem de grande-angular)

original_image clip_demo
Thumbnal Original / Imagem Requisitos Clipe para Sqaure Thumbmail

Clipe Resultados CSS

clip_results

Veja o Demo | Download de SourceFiles


2008 12 de outubro de 2008

Vertical (e horizontal) Centro Alinhar conteúdo de uma DIV usando CSS

Antes tínhamos que lidar com CSS para criar layouts de nossas páginas, alinhando algum conteúdo dentro de uma célula da tabela parecia jogar apenas criança. Basta definir o "alinhamento" ou propriedade "valign" da tabela para o alinhamento de sua escolha, pedaço de bolo!
Com layouts CSS, embora tenhamos "vertical-align" propriedade para os elementos, ele não parece ser tão simples como a "alinhar" ou "valign" propriedades. Para ser mais specifiic o "vertical-align" nunca parece resolver qualquer um dos seus problemas, especialmente se forem escrever uma peça de cross-browser CSS.

Sem o uso de tabelas HTML, o problema da centralização no objeto, seja uma imagem ou um texto dentro de uma divisão contendo, provavelmente tem sido cada UI / CSS pesadelo desenvolvedores em algum ponto. Este problema ainda extrapola as suas preocupações de alinhar, se o objeto a ser centralizado é de natureza dinâmica, isto é, quando a sua altura é variável (altura desconhecido).

Embora não há nenhuma solução conhecida para a frente que iria trabalhar em toda a gama de navegadores que temos de lidar, a solução que eu tentei chegar a faz parece funcionar em todos os navegadores poucos que eu tentei em (IE6, IE 7 , FF).

SOLUÇÃO:
Em navegadores como Mozilla, Opera e Safari, O estranho comportamento "vertical-align" propriedade pode ser trazido para os seus sentidos, simplesmente definindo o "display" de propriedade da divisão contendo a "table-cell" (display: table-cell) .

O problema ainda permanece com a família de navegadores IE, que, no entanto, parecem não entender o que com o "table-cell" propriedade e ignorantes como são, eles simplesmente ignorá-lo. A solução dada abaixo, embora simples, anúncios de alguns elementos mais para o seu DOM HTML para fazer as coisas acontecerem.

A CSS e HTML se parece com isso
.outer_container {
display: table;
text-align:center;
height: 140px;
width:140px;
position: relative;
overflow: hidden;
float:left;
margin:0px 10px 0px 0px;
}
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute;
#top: 50%;
#left:50%;
}
.obj{
#position: relative;
#top: -50%;
#left:-50%;
margin:0px auto 0px auto;
}

HTML: -
<div class="outer_container">
<div class="obj_container">
<div class="obj"> <img src="image1.jpg"/> <br/> visualizações: 3456 </ div>
</ Div>
</ Div>

O resultado se parece com isso: -

HTML_CSS_vertical_align_vertical_middle_aligned_images

ver a demo aqui | baixar arquivos de origem (baixado 453 vezes)


Compreender a solução:
Para os navegadores que entendem display: table e display: table-cell propriedades, ele raramente precisa de qualquer explicação. Para o IE, com o uso um hack IE específico (hack hash), é absolutamente posicionar o contêiner do objeto (obj_container) na metade da altura disponível. Então objeto (obj) dentro é a posição relativa e é movido por meio da sua altura ... Bem! Parece-me compreender o olhar em seu rosto, mas funciona. Experimente!
As técnicas acima são combinados para nos dar a solução de browser cruz.


O CSS pode ser facilmente modificado como a seguir para alcançar, vertical-align: top ou vertical-align: bottom

TOP Alinhar CSS
.obj_container_top {
display: table-cell;
vertical-align: top;
#position: absolute;
#top: 0%;
#left:50%;
}
.obj_top{
#position: relative;
#top: 0%;
#left:-50%;
margin:5px auto 0px auto;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
color:#cccccc;
}

HTML: -
<div class="outer_container">
<div class="obj_container_top">
<div class="obj_top"> <img src="image1.jpg"/> <br/> visualizações: 1234 </ div>
</ Div>
</ Div>

O resultado se parece com isso: -

HTML_CSS_vertical_align_vertical_top_aligned_images

Alinhar Parte Inferior CSS
.obj_container_bottom {
display: table-cell;
vertical-align: bottom;
#position: absolute;
#bottom: 0%;
#left:50%;
}
.obj_bottom {
#position: relative;
#bottom: 0%;
#left:-50%;
margin:5px auto 0px auto;
}

HTML: -
<div class="outer_container">
<div class="obj_container_bottom">
<div class="obj_bottom"> <img src="image1.jpg"/> <br/> visualizações: 1234 </ div>
</ Div>
</ Div>

O resultado se parece com isso: -

HTML_CSS_vertical_align_vertical_bottom_aligned_images

ver a demo aqui | Faça o download aqui


Horizontal centralização do objeto simplesmente alcançado com a propriedade margem, definindo a margem esquerda ea margem direita para auto

Parece que as idades, desde que eu estava tentando encontrar uma solução razoável para este problema de alinhamento. Mas agora, com esta solução, me sinto em paz pouco.

Com uma esperança de que algum dia

  • vertical-alinhamento propriedade em CSS funcionará como ele faz dentro de uma célula da tabela, sem ter que bater muito em torno do arbusto
  • Pelo menos, estabelecendo margin-top: auto e margin-bottom: auto, dará como resultado mesmo com a margem esquerda ea margem direita conjunto para auto
  • As guerras do navegador vai acabar algum dia.
  • Haverá apenas um navegador para a ALL.

Faça o download do CSS e HTML da solução acima aqui (Transferido 453 vezes) .. de compreensibilidade, o CSS não está sendo otimizado

PS: E pelo jeito, são miniaturas de algumas fotos que tenham clicado ... :)


2008 Outubro 10, 2008

Não para o IE Only - seletores filho CSS não funcionam no IE

CSS para não-IE Navegadores: Não é nenhuma novidade para os desenvolvedores CSS que, seletores filho CSS como no exemplo abaixo, não parecem funcionar no IE.

por exemplo div> span {alguns css}, que significa "quando um elemento span é uma criança (e não um neto ou filho grande grande etc) de um elemento de divisão".

Mas nós usamos essa CON a nosso favor. Historicamente, o selector de criança tem sido utilizado para ocultar comandos CSS de IE. Simplesmente colocando html>body na frente de qualquer comando CSS IE irá ignorá-lo:

html>body .foo { CSS commands go here ;}

Isso funciona porque <body> é sempre um filho de <html> - pode nunca ser, obviamente, um neto ou bisneto de <html> .

Agora que o IE 7 entende o seletor filho, você tem que inserir uma tag de comentário vazio logo após o sinal de maior que o IE 7 não vai, então, entender este selector (quem sabe por que?) E, portanto, ignorar totalmente este comando CSS.:

html> /**/ body .foo { CSS commands go here ;}

Se não tiverem já visto estes antes, ter uma leitura através do seguinte bem


NDK casa | Expressando IT | Palate Expressando | Penmenship Expressando | Awe Expressando | expressar-me