Saya mencoba menerapkan gradien ke perbatasan, saya pikir itu sesederhana melakukan ini:
border-color: -moz-linear-gradient(top, #555555, #111111);
Tetapi ini tidak berhasil.
Apakah ada yang tahu apa cara yang benar untuk melakukan gradien perbatasan?
alih-alih perbatasan, saya akan menggunakan gradien latar belakang dan padding. terlihat sama, tetapi jauh lebih mudah, lebih didukung.
contoh sederhana:
EDIT: Anda juga dapat memanfaatkan
:before
pemilih seperti yang ditunjukkan @WalterSchwarz:sumber
border-image-slice
akan memperluas gradien gambar tepi CSSIni (seperti yang saya pahami) mencegah pengiris default "gambar" menjadi beberapa bagian - tanpanya, tidak ada yang muncul jika perbatasan berada di satu sisi saja, dan jika itu di sekitar seluruh elemen empat gradien kecil muncul di setiap sudut.
sumber
border-radius
, jari-jari perbatasan diabaikan :(- https://developer.mozilla.org/en/CSS/-moz-linear-gradient
- http://www.cssportal.com/css3-preview/borders.htm
sumber
Coba ini, berfungsi baik di web-kit
sumber
Ini adalah retasan, tetapi Anda dapat mencapai efek ini dalam beberapa kasus dengan menggunakan gambar latar belakang untuk menentukan gradien dan kemudian menutupi latar belakang sebenarnya dengan bayangan kotak. Sebagai contoh:
Dari: http://blog.nateps.com/the-elusive-css-border-gradient
sumber
Coba ini, itu berhasil untuk saya.
Tautannya adalah ke biola https://jsfiddle.net/yash009/kayjqve3/1/ harap ini membantu
sumber
Saya setuju dengan szajmon. Satu-satunya masalah dengan jawabannya dan Quentin adalah kompatibilitas lintas-browser.
HTML:
CSS:
sumber
filter
untuk mendukung IE untuk hal sepele seperti itu, cukup gunakan perbatasan padat.!important
. Sekarang, Alohci, giliran Anda menjelaskan alasannya juga :)Webkit mendukung gradien dalam batas , dan sekarang menerima gradien dalam format Mozilla.
Firefox mengklaim mendukung gradien dalam dua cara:
IE9 tidak memiliki dukungan.
sumber
Coba contoh di bawah ini:
sumber
Peretasan lain untuk mendapatkan efek yang sama adalah dengan memanfaatkan beberapa gambar latar belakang, fitur yang didukung di IE9 +, Firefox yang baru, dan sebagian besar peramban berbasis WebKit: http://caniuse.com/#feat=multibackgrounds
Ada juga beberapa opsi untuk menggunakan beberapa latar belakang di IE6-8: http://www.beyondhyper.com/css3-multiple-backgrounds-in-non-supportive-browsers/
Misalnya, Anda menginginkan batas kiri selebar 5px yang merupakan gradien linier dari biru ke putih. Buat gradien sebagai gambar dan ekspor ke PNG. Buat daftar latar belakang CSS lainnya setelah yang untuk gradien batas kiri:
Anda dapat menyesuaikan teknik ini ke gradien batas atas, kanan, dan bawah dengan mengubah bagian posisi latar belakang dari
background
properti steno.Berikut adalah jsFiddle untuk contoh yang diberikan: http://jsfiddle.net/jLnDt/
sumber
Gradient Borders dari Css-Tricks: http://css-tricks.com/examples/GradientBorder/
sumber
Untuk dukungan lintas-browser, Anda dapat mencoba juga meniru batas gradien dengan
:before
atau:after
elemen semu, tergantung pada apa yang ingin Anda lakukan.sumber
Contoh untuk Gradient Border
Menggunakan properti css border-image
Penghargaan untuk: gambar-batas di Mozilla
sumber
coba kode ini
atau mungkin merujuk ke biola ini: http://jsfiddle.net/necolas/vqnk9/
sumber
Berikut cara semi-browser yang bagus untuk memiliki batas gradien yang menghilang setengah jalan. Cukup dengan mengatur color-stop to
rgba(0, 0, 0, 0)
Penggunaan menjelaskan:
Lebih lanjut di sini: https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
sumber
Ada artikel trik css yang bagus tentang ini di sini: https://css-tricks.com/gradient-borders-in-css/
Saya dapat menemukan solusi yang sangat sederhana, elemen tunggal, untuk ini menggunakan beberapa latar belakang dan properti latar belakang.
Hal-hal baik tentang pendekatan ini adalah:
Lihat itu: https://codepen.io/AlexOverbeck/pen/axGQyv?editors=1100
sumber