Mencoba menggunakan warna hex khusus untuk segitiga css saya (batas). Namun karena ini menggunakan properti perbatasan saya tidak yakin bagaimana cara melakukan ini. Saya ingin menghindari javascript dan css3 hanya karena kompatibilitas. Saya mencoba membuat segitiga memiliki latar belakang putih dengan batas 1px (di sekitar sisi siku segitiga) dengan warna # CAD5E0. Apakah ini mungkin? Inilah yang saya miliki sejauh ini:
.container {
margin-left: 15px;
width: 200px;
background: #FFFFFF;
border: 1px solid #CAD5E0;
padding: 4px;
position: relative;
min-height: 200px;
}
.container:after {
content: '';
display: block;
position: absolute;
top: 10px;
left: 100%;
width: 0;
height: 0;
border-color: transparent transparent transparent #CAD5E0;
border-style: solid;
border-width: 10px;
}
Biola saya: http://jsfiddle.net/4ZeCz/
css
border
css-shapes
Ed R
sumber
sumber
border-color
atributnya, tergantung pada batas berwarna yang akan ditunjukkan segitiga ke arah yang berbeda. Untuk memutar panah ke kiri, ubahborder-color
ketransparent #e3f5ff transparent transparent;
keduanya,.container:after
dan.container:before
Saya tahu Anda menerimanya tetapi periksa yang ini juga dengan lebih sedikit css:
http://jsfiddle.net/4ZeCz/3/
sumber
-webkit-
awalan sekarang (dan-ms-
untuk IE9). Semua browser lain mendukungnya tanpa prefiks.Saya pikir ini lebih sederhana menggunakan clip-path :
sumber
Cara lain untuk mencapai ini, terutama bagi seseorang yang membutuhkan ini untuk bekerja dengan segitiga sama sisi atau bahkan tidak sama panjang seperti yang saya lakukan, adalah menggunakan
filter: drop-shadow(...)
beberapa nilai dan tanpa radius buram. Ini memiliki keuntungan tambahan karena tidak memerlukan banyak elemen, atau akses ke keduanya : sebelum dan: sesudah (saya mencoba melakukannya dengan: setelah konten yang sebaris, jadi ingin menghindari pemosisian absolut juga).Untuk kasus di atas, CSS: after bisa terlihat seperti ini ( biola ):
Saya pikir ada beberapa batasan atau keanehan:
<offset-y>
nilai di drop-shadow kedua () di atas tampak lebih seperti 1px daripada 1px, meskipun saya membayangkan itu terkait dengan trigonometri (meskipun setidaknya di monitor saya, saya tidak melihat perbedaan antara nilai sebenarnya berbasis trigonometri atau .5px atau bahkan .1px dalam hal ini).<spread-radius>
) dari drop-shadow () mungkin yang sebenarnya saya cari daripada beberapa nilai filter, tetapi menambahkannya hanya akan merusak semuanya.) Di sini Anda dapat melihat apa mulai terjadi saat melampaui 1px ( biola ):Perhatikan kelucuan bahwa yang pertama (hijau) diterapkan sekali, tetapi yang kedua (merah) diterapkan baik ke segitiga kuning yang dibuat melalui perbatasan serta drop-shadow hijau (), dan yang terakhir (biru) diterapkan ke semua hal di atas. (Mungkin itu juga terkait dengan hal tampilan .5px).
Tapi saya rasa Anda bisa memanfaatkan drop-shadow ini yang saling membangun jika Anda membutuhkan sesuatu yang tampak lebih lebar dari 1px, dengan mengubahnya menjadi seperti berikut ( biola ):
di mana yang pertama memiliki rangkaian blur-radius (dalam hal ini 2.5px, meskipun hasilnya tampak berlipat ganda), dan sisanya memiliki blur pada 0. Tetapi ini hanya akan berfungsi untuk warna yang sama di semua sisi, dan hasilnya di beberapa sudut yang tampak membulat serta tepi yang cukup kasar, semakin besar ukurannya.
sumber
sumber