Saya bertanya-tanya apakah ada cara yang lebih mudah untuk membuat div lingkaran daripada apa yang saya lakukan sekarang.
Saat ini, saya hanya membuat gambar untuk setiap ukuran yang berbeda, tetapi itu menjengkelkan untuk melakukan ini.
Adakah tetap menggunakan CSS untuk membuat div yang melingkar dan saya dapat menentukan radius?
html
css
geometry
css-shapes
bmaster
sumber
sumber
Jawaban:
Berikut ini demo: http://jsfiddle.net/thirtydot/JJytE/1170/
CSS:
HTML:
Untuk membuatnya bekerja di IE8 dan yang lebih lama , Anda harus mengunduh dan menggunakan PIE CSS3 . Demo saya di atas tidak akan berfungsi di IE8, tapi itu hanya karena jsFiddle tidak host
PIE.htc
.Demo saya terlihat seperti ini:
sumber
div
pada halaman Anda adalah bulat, yang dapat Anda lihat jika Anda menambahkan misalnyaborder: 5px solid red
untuk itu. Masalahnya adalah bahwa bagian-bagian gambar yang "menggantung lingkaran" tidak disembunyikan. Tak satu pun dari solusi yang biasa sangat mudah diterapkan di sini .. Saya sarankan menggunakan-webkit-mask-image
properti untuk memperbaiki browser WebKit (dan simpanborder-radius
, untuk browser lain). Info lebih lanjut di sini: webkit.org/blog/181/css-masks . Anda juga dapat mempertimbangkan mengajukan pertanyaan di sini di Stack Overflow, untuk melihat apakah ada orang lain yang memiliki ide lain.Mengatur batas-jari-jari setiap sisi elemen hingga 50% akan membuat tampilan lingkaran pada ukuran berapa pun:
sumber
Coba ini
sumber
Ini sebenarnya mungkin.
Lihat: Tip CSS: Cara Membuat Lingkaran Tanpa Gambar . Lihat demo .
Tetapi berhati-hatilah, pada dasarnya memiliki kelemahan serius dalam hal kompatibilitas, Anda membuat kulit kucing.
Lihat berhasil di sini
Seperti yang akan Anda lihat, Anda hanya perlu mengatur
height
danwidth
untuk setengahnyaborder-radius
Semoga berhasil!
sumber
jsfiddle
tautan Anda ! Tautan ini adalah satu-satunya yang berfungsi dari jawaban Anda untuk saat ini. ;)Ada juga [ide buruk] menggunakan beberapa (20+) horisontal atau vertikal 1px divs untuk membuat lingkaran. Plugin jQuery ini menggunakan metode ini untuk membuat bentuk yang berbeda.
sumber
Berikan lebar dan tinggi tergantung pada ukurannya tetapi, jaga keduanya tetap sama
sumber
border-radius: 50%;
cukup.Hanya ingin menyebutkan solusi lain yang menjawab pertanyaan "Cara lebih mudah untuk membuat lingkaran div daripada menggunakan gambar?" yaitu menggunakan FontAwesome.
Anda mengimpor file css fontawesome atau dari CDN di sini
dan kemudian Anda hanya:
dan Anda dapat memberikan warna apa saja yang Anda inginkan ukuran font apa pun.
sumber
Anda dapat mencoba
radial-gradient
fungsi CSS:Terapkan ke
div
layer:sumber
Katakanlah Anda memiliki gambar ini:
untuk membuat lingkaran dari ini, Anda hanya perlu menambahkan
Jadi, jika Anda memiliki div Anda dapat melakukan hal yang sama.
Lihat contoh di bawah ini:
sumber
Anda dapat menggunakan jari-jari tetapi tidak akan bekerja pada IE:
border-radius: 5px 5px;
.sumber
sumber
pada dasarnya ini menggunakan posisi div absolut untuk menempatkan karakter pada koordinat yang diberikan. jadi dengan menggunakan persamaan parametrik untuk lingkaran, Anda bisa menggambar lingkaran. jika Anda mengubah posisi div menjadi relatif, itu akan menghasilkan gelombang sinus ...
intinya kita membuat persamaan dengan menyalahgunakan properti posisi. Saya tidak berpengalaman dalam css, jadi seseorang pasti bisa membuat ini lebih elegan. Nikmati.
ini berfungsi pada semua browser dan perangkat seluler (yang saya ketahui). saya menggunakannya di situs web saya sendiri untuk menggambar gelombang teks sinus (www.cpixel.com). sumber asli kode ini dapat ditemukan di sini: www.mathopenref.com/coordcirclealgorithm.html
sumber
Menambahkan
css
properti dari:border-radius: 50%;
untuk setiap div membuatnya melingkar.
sumber
Untuk lingkaran, buat elemen div dan kemudian masukkan lebar = 2 kali dari jari-jari batas = 2 kali padding. Juga garis-tinggi = 0 Misalnya, dengan 50px sebagai jari-jari lingkaran, kode di bawah ini berfungsi dengan baik:
sumber