Estoy tratando de aplicar un degradado a un borde, pensé que era tan simple como hacer esto:
border-color: -moz-linear-gradient(top, #555555, #111111);
Pero esto no funciona.
¿Alguien sabe cuál es la forma correcta de hacer gradientes fronterizos?
en lugar de bordes, usaría gradientes de fondo y relleno. mismo aspecto, pero mucho más fácil, más compatible.
Un ejemplo simple:
EDITAR: También puede aprovechar el
:before
selector como @WalterSchwarz señaló:fuente
border-image-slice
extenderá un gradiente de imagen de borde CSSEsto (según tengo entendido) evita la división predeterminada de la "imagen" en secciones; sin ella, no aparece nada si el borde está solo en un lado, y si está alrededor del elemento completo, aparecen cuatro pequeños gradientes en cada esquina.
fuente
border-radius
, el radio del borde se ignora :(- https://developer.mozilla.org/en/CSS/-moz-linear-gradient
- http://www.cssportal.com/css3-preview/borders.htm
fuente
Prueba esto, funciona bien en el kit web
fuente
Es un truco, pero puede lograr este efecto en algunos casos utilizando la imagen de fondo para especificar el gradiente y luego enmascarando el fondo real con una sombra de cuadro. Por ejemplo:
De: http://blog.nateps.com/the-elusive-css-border-gradient
fuente
Prueba esto, funcionó para mí.
El enlace es al violín https://jsfiddle.net/yash009/kayjqve3/1/ espero que esto ayude
fuente
Estoy de acuerdo con szajmon. El único problema con sus respuestas y las de Quentin es la compatibilidad entre navegadores.
HTML:
CSS:
fuente
filter
para admitir IE para cosas menores, solo use un borde sólido.!important
. Ahora, Alohci, tu turno explica por qué también :)Webkit admite gradientes en bordes y ahora acepta el degradado en el formato Mozilla.
Firefox afirma que admite gradientes de dos maneras:
IE9 no tiene soporte.
fuente
Pruebe el siguiente ejemplo:
fuente
Otro truco para lograr el mismo efecto es utilizar múltiples imágenes de fondo, una característica que es compatible con IE9 +, Firefox nuevo y la mayoría de los navegadores basados en WebKit: http://caniuse.com/#feat=multibackgrounds
También hay algunas opciones para usar múltiples fondos en IE6-8: http://www.beyondhyper.com/css3-multiple-backgrounds-in-non-supportive-browsers/
Por ejemplo, suponga que desea un borde izquierdo de 5 píxeles de ancho que sea un degradado lineal de azul a blanco. Cree el gradiente como una imagen y expórtelo a PNG. Enumere cualquier otro fondo CSS después del del gradiente del borde izquierdo:
Puede adaptar esta técnica a los gradientes de borde superior, derecho e inferior cambiando la posición de fondo de la
background
propiedad de taquigrafía.Aquí hay un jsFiddle para el ejemplo dado: http://jsfiddle.net/jLnDt/
fuente
Bordes de degradado de Css-Tricks: http://css-tricks.com/examples/GradientBorder/
fuente
Para la compatibilidad entre navegadores, puede intentar imitar un borde degradado con
:before
o:after
pseudo elementos, dependiendo de lo que desee hacer.fuente
Ejemplo de borde degradado
Uso de la propiedad css de imagen de borde
Créditos a: border-image en Mozilla
fuente
prueba este código
o tal vez consulte este violín: http://jsfiddle.net/necolas/vqnk9/
fuente
Aquí hay una buena forma de semi-navegador cruzado para tener bordes degradados que se desvanecen a la mitad. Simplemente configurando el color-stop en
rgba(0, 0, 0, 0)
Uso explicado:
Más aquí: https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
fuente
Hay un buen artículo de trucos css sobre esto aquí: https://css-tricks.com/gradient-borders-in-css/
Pude encontrar una solución bastante simple y de un solo elemento para esto usando múltiples fondos y la propiedad de origen de fondo.
Las cosas buenas de este enfoque son:
Compruébalo: https://codepen.io/AlexOverbeck/pen/axGQyv?editors=1100
fuente