Bagaimana Anda menggambar lingkaran menggunakan HTML5 dan CSS3?
Apakah mungkin juga untuk meletakkan teks di dalamnya?
html
css
geometry
css-shapes
Sergey Metlov
sumber
sumber
Jawaban:
Anda tidak bisa menggambar lingkaran saja. Tapi Anda bisa membuat sesuatu yang identik dengan lingkaran.
Anda harus membuat persegi panjang dengan sudut membulat (melalui
border-radius
) yang merupakan setengah dari lebar / tinggi lingkaran yang ingin Anda buat.sumber
border-radius: 50%;
bekerja dengan baik, mengubah ukuran sesuai keinginan. Untuk warna Anda bisa menggunakanbackground-color
atauborder
.Ini sangat mungkin dalam HTML 5 . Pilihan Anda adalah: SVG tertanam dan
<canvas>
tag .Untuk menggambar lingkaran di SVG tersemat:
Lingkaran di
<canvas>
:sumber
Ada beberapa lingkaran unicode yang dapat Anda gunakan:
Lebih banyak bentuk di sini .
Anda dapat menghamparkan teks pada lingkaran jika Anda ingin:
Tampilkan cuplikan kode
Anda juga dapat menggunakan font khusus (seperti ini ) jika Anda ingin memiliki kesempatan lebih tinggi untuk terlihat sama pada sistem yang berbeda karena tidak semua komputer / browser menginstal font yang sama.
sumber
border-radius:50%
jika Anda ingin lingkaran menyesuaikan dengan dimensi apa pun yang didapat wadah (misalnya jika teks memiliki panjang variabel)Jangan lupa awalan
-moz-
dan-webkit-
!sumber
Mulai tahun 2015, Anda dapat membuatnya dan memusatkan teks hanya dengan 15 baris CSS ( Fiddle ):
Tanpa
-webkit-
s, ini berfungsi di IE11, Firefox, Chrome dan Opera, dan ini adalah HTML5 (eksperimental) dan CSS3 yang valid.Sama di MS Edge (2020).
sumber
sumber
Anda dapat menggunakan atribut border-radius untuk memberikan border-radius yang setara dengan border-radius element. Sebagai contoh:
(Alasan menggunakan ekstensi -moz dan -webkit adalah untuk mendukung Gecko dan Webkit versi pra-CSS3-final.)
Ada lebih banyak contoh di halaman ini . Sejauh memasukkan teks, Anda dapat melakukannya tetapi Anda harus memperhatikan posisinya, karena sebagian besar model padding kotak browser masih menggunakan kotak luar.
sumber
Secara teknis tidak ada cara menggambar lingkaran dengan HTML (tidak ada
<circle>
tag HTML), tetapi lingkaran bisa digambar.Cara terbaik untuk menggambarnya adalah dengan menambahkan
border-radius: 50%
ke tag sepertidiv
. Berikut contohnya:sumber
border-radius: 50%;
akan mengubah semua elemen menjadi lingkaran, berapa pun ukurannya. Setidaknya, selamaheight
danwidth
dari targetnya sama, jika tidak maka akan berubah menjadi oval .Catatan : prefiks browser tidak diperlukan lagi untuk radius-batas
Alternatifnya, Anda juga dapat menggunakan
clip-path: circle();
untuk mengubah elemen menjadi lingkaran. Bahkan jika elemen memiliki lebih besarwidth
dariheight
(atau sebaliknya), itu akan tetap menjadi lingkaran, dan bukan oval.Catatan : jalur klip belum (belum) didukung oleh semua browser
Anda dapat menempatkan teks di dalam lingkaran, cukup dengan menulis teks di dalam tag target,
seperti:
Jika Anda ingin memusatkan teks di lingkaran, Anda dapat melakukan hal berikut:
sumber
Anda dapat menggunakan properti border-radius, atau membuat div dengan tinggi dan lebar tetap dan background dengan lingkaran png.
sumber
Cukup lakukan hal berikut di tag skrip:
Dan begitulah Anda mendapatkan lingkaran Anda.
sumber
sumber
sumber
sederhana dan pemula :)
sumber
sumber
Jika Anda menggunakan sass untuk menulis CSS, Anda dapat melakukan:
Output mana:
Coba di sini: https://www.sassmeister.com/
sumber