Eu tenho o li
seguinte estilo:
li{
display:inline-block;
padding:5px;
border:1px solid none;
}
li:hover{
border:1px solid #FC0;
}
Quando eu passo o mouse sobre a li
borda, aparece sem fazer o li
deslocamento do. É possível ter uma 'borda' que não é visível?
css
transparency
border-color
William Calleja
fonte
fonte
Muitos de vocês devem estar chegando aqui para encontrar uma solução para bordas opacas em vez de transparentes. Nesse caso, você pode usar
rgba
, ondea
significaalpha
.Demo
Aqui, você pode mudar o
opacity
doborder
de0-1
Se você simplesmente quer uma borda transparente completa, a melhor coisa a usar é
transparent
, comoborder: 1px solid transparent;
fonte
Você pode remover a borda e aumentar o preenchimento:
fonte
<a/>
caixa totalmente clicável . A borda pertence ao elemento (portanto, clicável), enquanto o preenchimento pertence ao pai.ei, esta é a melhor solução que já experimentei .. este é CSS3
use a seguinte propriedade para seu div ou em qualquer lugar que você queira colocar fronteira transparente
por exemplo
isso vai funcionar ..
fonte
Sim, você pode usar
border: 1px solid transparent
Outra solução é usar
outline
ao passar o mouse (e definir a borda como 0), o que não afeta o fluxo do documento:NB. Você só pode definir o contorno como uma propriedade sharthand, não para lados individuais. Ele deve ser usado apenas para depuração, mas funciona bem.
fonte
Já que você disse em um comentário que quanto mais opções você tiver, melhor, aqui está outra.
No CSS3, existem dois chamados "modelos de caixa" diferentes. Um adiciona a borda e o preenchimento à largura de um elemento de bloco, enquanto o outro não. Você pode usar o último especificando
Então, nos navegadores modernos, o elemento sempre terá a mesma largura. Ou seja, se você aplicar uma borda a ele ao pairar, a largura da borda não será adicionada à largura geral do elemento; a borda será adicionada "dentro" do elemento, por assim dizer. No entanto, se bem me lembro, você deve especificar
width
explicitamente para que isso funcione. O que provavelmente não é uma opção para você neste caso em particular, mas você pode manter isso em mente para situações futuras.fonte
Esta entrada de blog pode ser emulada
border-color: transparent
no IE6. O exemplo a seguir inclui a correção "hasLayout" que é apresentada nos comentários de entrada do blog:Certifique-se de que o
border-color
usado na correção do IE6 não seja usado em nenhum lugar do.testDiv
elemento. Mudei o exemplo depink
para#FEFEFE
porque parece ainda menos provável de ser usado.fonte
A solução mais fácil para isso é usar
rgba
como a cor:border-color: rgba(0,0,0,0);
Essa é uma cor de borda totalmente transparente.fonte
Use propriedade transparente
fonte