Oke, jadi semua orang tahu Anda bisa membuat segitiga menggunakan ini:
#triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid red;
}
Dan itu menghasilkan padat, diisi segitiga. Tapi bagaimana Anda akan membuat segitiga seperti panah berlubang, seperti ini?
html
css
css-shapes
Besok
sumber
sumber
Jawaban:
Anda dapat menggunakan
before
atauafter
pseudo-element dan menerapkan beberapa CSS padanya. Ada berbagai cara. Anda dapat menambahkanbefore
danafter
, serta memutar dan memposisikan masing-masing untuk membentuk salah satu batang. Solusi yang lebih mudah adalah menambahkan dua batas hanya kebefore
elemen dan memutarnya menggunakantransform: rotate
.Gulir ke bawah untuk solusi berbeda yang menggunakan elemen sebenarnya, bukan elemen pseuso
Dalam hal ini, saya telah menambahkan panah sebagai peluru dalam daftar dan menggunakan
em
ukuran untuk membuatnya berukuran sesuai dengan font daftar.Tentu saja Anda tidak perlu menggunakan
before
atauafter
, Anda dapat menerapkan trik yang sama ke elemen normal juga. Untuk daftar di atas lebih mudah, karena Anda tidak memerlukan markup tambahan. Tetapi terkadang Anda mungkin menginginkan (atau membutuhkan) markup. Anda dapat menggunakan adiv
atauspan
untuk itu, dan saya bahkan telah melihat orang-orang bahkan mendaur ulangi
elemen untuk 'ikon'. Jadi markup itu bisa terlihat seperti di bawah ini. Apakah menggunakan<i>
untuk ini benar masih bisa diperdebatkan, tetapi Anda dapat menggunakan rentang untuk ini juga agar berada di sisi yang aman.Jika Anda mencari lebih banyak inspirasi, pastikan untuk memeriksa perpustakaan ikon CSS murni yang mengagumkan ini oleh Nicolas Gallagher . :)
sumber
border-color
, karena panah sebenarnya bukan karakter tetapi perbatasan. Untuk pemosisian, Anda dapat menambahkanposition: relative
panah dan memindahkannya menggunakantop
danleft
. Saya telah menunjukkan keduanya di potongan pertama yang dimodifikasi, dan juga posisi di potongan kedua. Perhatikan kombinasi bagusli:hover::before
yang mengacu padabefore
elemen semu dari item daftar yang di-hover.0
dengan sendirinya, jadi Anda memerlukan margin negatif untuk menghapus spasi kosong. Misalnya di potongan kedua, Anda dapat menambahkanmargin-left: -0.4em;
untuk meletakkan panah di sebelah kata sebelumnya tanpa spasi.Ini bisa diselesaikan jauh lebih mudah daripada saran lainnya.
Cukup gambar persegi dan terapkan
border
properti ke hanya 2 sisi yang saling bergabung.Kemudian putar persegi sesuai dengan arah yang Anda ingin panah tunjuk, misalnya:
transform: rotate(<your degree here>)
sumber
Tanda Pangkat / Tanda Panah Responsif
mereka mengubah ukurannya secara otomatis dengan teks Anda dan diwarnai dengan warna yang sama. Pasang dan mainkan :)
taman bermain demo jsBin
sumber
v. 6.2.0 September 2012 1
UnicodeUTF-8
ditetapkan ke 110182, dan Sekarang memiliki HTML5 dan UTF-8 default dan terlihat karakter kita terlihat bagus: unicode.org/Public/UNIDATA/UnicodeData.txt\231d
karakter mungkin tersedia di sini, tetapi tidak di Mac atau perangkat Android. Versi HTML dan pengkodean respons tidak ada hubungannya dengan itu.Berikut pendekatan yang berbeda:
1) Gunakan karakter perkalian:
×
×2) Sembunyikan setengahnya dengan
overflow:hidden
3) Kemudian tambahkan segitiga sebagai elemen semu untuk ujungnya.
Keuntungannya di sini adalah tidak diperlukan transformasi. (Ini akan bekerja di IE8 +)
BIOLA
sumber
Cukup gunakan sebelum dan sesudah Pseudo-elements - CSS
sumber
Pendekatan lain menggunakan batas dan tanpa properti CSS3 :
sumber
>
itu sendiri adalah panah yang sangat indah! Tambahkan saja div dengan itu dan beri gaya.sumber
Panah Kiri Kanan dengan efek hover menggunakan trik box-shadow Roko C. Buljan
sumber
Saya perlu mengubah
input
menjadi panah dalam proyek saya. Di bawah ini adalah pekerjaan terakhir.Ini Fiddle
sumber
Mirip dengan Roko C, tetapi sedikit lebih mengontrol ukuran dan penempatan.
sumber