Estou tentando aplicar um gradiente a uma borda, achei tão simples quanto fazer isso:
border-color: -moz-linear-gradient(top, #555555, #111111);
Mas isso não funciona.
Alguém sabe qual é a maneira correta de fazer gradientes de borda?
O WebKit agora (e pelo menos o Chrome 12) suporta gradientes como imagem de borda:
-webkit-border-image: -webkit-gradient(linear, left top, left bottom, from(#00abeb), to(#fff), color-stop(0.5, #fff), color-stop(0.5, #66cc00)) 21 30 30 21 repeat repeat;
Prooflink - http://www.webkit.org/blog/1424/css3-gradients/
Suporte ao navegador: http://caniuse.com/#search=border-image
em vez de bordas, eu usaria gradientes de fundo e preenchimento. mesma aparência, mas muito mais fácil, mais suportado.
um exemplo simples:
EDIT: Você também pode aproveitar o
:before
seletor como @WalterSchwarz apontou:fonte
border-image-slice
estenderá um gradiente de imagem de borda CSSIsso (como eu o entendo) evita o fatiamento padrão da "imagem" em seções - sem ela, nada aparece se a borda estiver apenas de um lado e se estiver ao redor de todo o elemento, quatro pequenos gradientes aparecerão em cada canto.
fonte
border-radius
, o raio da borda será ignorado :(- https://developer.mozilla.org/en/CSS/-moz-linear-gradient
- http://www.cssportal.com/css3-preview/borders.htm
fonte
Experimente isso, funciona bem no kit da web
fonte
É um truque, mas você pode obter esse efeito em alguns casos usando a imagem de plano de fundo para especificar o gradiente e mascarando o plano de fundo real com uma sombra de caixa. Por exemplo:
De: http://blog.nateps.com/the-elusive-css-border-gradient
fonte
Tente isso, funcionou para mim.
O link é para o violino https://jsfiddle.net/yash009/kayjqve3/1/ espero que isso ajude
fonte
Eu concordo com o szajmon. O único problema com as respostas dele e de Quentin é a compatibilidade entre navegadores.
HTML:
CSS:
fonte
filter
para apoiar o IE para algo tão pequeno, basta usar uma borda sólida.!important
. Agora, Alohci, sua vez explicando porque também :)O Webkit suporta gradientes nas bordas e agora aceita o gradiente no formato Mozilla.
O Firefox alega apoiar gradientes de duas maneiras:
O IE9 não tem suporte.
fonte
Experimente o exemplo abaixo:
fonte
Outro truque para obter o mesmo efeito é utilizar várias imagens de plano de fundo, um recurso suportado no IE9 +, Firefox recente e na maioria dos navegadores baseados no WebKit: http://caniuse.com/#feat=multibackgrounds
Também existem algumas opções para usar vários planos de fundo no IE6-8: http://www.beyondhyper.com/css3-multiple-backgrounds-in-non-supportive-browsers/
Por exemplo, suponha que você queira uma borda esquerda de 5 px de largura que seja um gradiente linear de azul para branco. Crie o gradiente como uma imagem e exporte para um PNG. Liste qualquer outro plano de fundo CSS após o gradiente de borda esquerda:
Você pode adaptar essa técnica aos gradientes de borda superior, direita e inferior alterando a parte da posição de segundo plano da
background
propriedade taquigráfica.Aqui está um jsFiddle para o exemplo dado: http://jsfiddle.net/jLnDt/
fonte
Bordas de gradiente do CSS-Tricks: http://css-tricks.com/examples/GradientBorder/
fonte
Para suporte entre navegadores, você também pode imitar uma borda de gradiente com
:before
ou:after
pseudo-elementos, dependendo do que deseja fazer.fonte
Exemplo para borda de gradiente
Usando a propriedade border-image css
Créditos para: border-image no Mozilla
fonte
tente este código
ou talvez consulte este violino: http://jsfiddle.net/necolas/vqnk9/
fonte
Aqui está uma boa maneira semi-navegador de bordas de gradiente que desaparecem na metade do caminho. Simplesmente, definindo a parada de cores como
rgba(0, 0, 0, 0)
Uso explicado:
Mais aqui: https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
fonte
Há um bom artigo sobre truques de CSS aqui: https://css-tricks.com/gradient-borders-in-css/
Consegui criar uma solução bastante simples e de elemento único para isso usando vários planos de fundo e a propriedade de origem do plano de fundo.
As coisas boas dessa abordagem são:
Confira: https://codepen.io/AlexOverbeck/pen/axGQyv?editors=1100
fonte