Saat menggunakan tag <details>
, saya ingin menampilkan segitiga flippy di sebelah kanan elemen <summary>
.
Jadi, alih-alih default:
▶ My Cool List
(rata kiri)
Aku ingin melakukan ini:
My Cool list ▶
(rata kanan)
Dan ini berfungsi di Chrome:
Pertanyaan ini membantu saya menulis CSS, yang berfungsi di Chrome dan Firefox:
// Right-align all summaries.
details > summary {
list-style: none; // Remove the default arrow.
display: flex;
align-items: center; // Vertically center the arrow.
}
details > summary::-webkit-details-marker {
display: none;
}
details > summary::after {
content: '▶';
}
details[open] > summary::after {
content: "▼";
}
Namun, di Safari (menguji Mojave di desktop + iOS14 + iOS12), segitiga flippy didorong ke baris baru:
My Cool List
▶
Di Safari:
Jadi, bagaimana cara agar Safari menampilkan segitiga flippy di baris yang sama seperti Firefox + Chrome? Sepertinya masalah ini disebabkan oleh kombinasi penggunaan display: flex
dengan pseudoelement ::after
, tapi saya tidak tahu banyak tentang pengembangan frontend jadi saya bingung untuk menyelesaikannya.