Colocação de borda dentro do div e não na sua borda
Eu tenho um elemento <div>
e eu quero colocar uma borda nele. Eu sei que posso escrever style="border: 1px black"
, mas isto adiciona 2px a cada lado do div, que não é o que eu quero.
Eu preferia que esta borda estivesse a -1px da borda do div. O div em si é 100px x 100px, e se eu adicionar uma borda, então eu tenho que fazer alguma matemática para fazer a borda aparecer.
Existe alguma forma de eu poder fazer a fronteira aparecer, e garantir que a caixa ainda será de 100px (incluindo a fronteira)?
461
3
Defina a propriedade "tamanho da caixa" para "caixa de fronteira":
Funciona em IE8 & acima.
Você também pode usar box-shadow como este:
Exemplo aqui: http://jsfiddle.net/nVyXS/ (pairar para ver a fronteira)
Isto funciona apenas em navegadores modernos. Por exemplo: Sem suporte do IE 8. Veja caniuse.com (funcionalidade box-shadow) para mais informações.
para uma renderização consistente entre navegadores novos e antigos, adicione um contentor duplo, o exterior com a largura, o interior com a borda.
isto só é obviamente se a sua largura precisa for mais importante do que ter uma marcação extra!