Rumah >hujung hadapan web >tutorial css >Mengapa Penunjuk Segi Tiga Berpusat Mendatar Saya Beralih Semasa Mengubah Saiz?
Pernyataan Masalah
Pengguna berhasrat untuk mendatar memusatkan segitiga penunjuk dalam elemen bekas. Walaupun berjaya dalam saiz tetingkap tertentu, penuding beralih daripada penjajaran apabila saiz tetingkap diubah.
Penyelesaian
Memahami Isu:
Percubaan awal untuk memusatkan penunjuk dengan kiri: 48% meletakkan penunjuk berdasarkan kirinya tepi. Pendekatan ini tidak mengambil kira lebar elemen, mengakibatkan salah penjajaran apabila saiz tetingkap berubah.
Menggunakan transformasi untuk Mencapai Pemusatan:
Untuk memusatkan segitiga dengan betul, ia adalah disyorkan untuk menggunakan sifat transformasi:
.triangle { position: absolute; left: 50%; transform: translate(-50%,0); }
Peraturan ini mengalihkan kedudukan segi tiga sebanyak 50% daripadanya lebar, memusatkannya dengan berkesan dalam bekas.
Menggabungkan penjelmaan dengan Putaran:
Dalam senario khusus ini, elemen segi tiga juga mempunyai penjelmaan: putar(45deg) digunakan . Walau bagaimanapun, peraturan lata CSS mengatasi perubahan pertama dengan yang kedua, menghalang pemusatan mendatar.
Untuk menangani perkara ini, rantaikan fungsi transformasi:
.container::before { left: 50%; transform: translate(-50%,0) rotate(45deg); }
Fungsi transformasi berbilang boleh digunakan bersama, memohon mengikut susunan yang disenaraikan. Dalam kes ini, terjemah digunakan dahulu, diikuti dengan putaran.
Complete Kod Coretan:
body { background: #333333; } .container { width: 98%; height: 80px; line-height: 80px; position: relative; top: 20px; min-width: 250px; margin-top: 50px; } .container-decor { border: 4px solid #C2E1F5; color: #fff; font-family: times; font-size: 1.1em; background: #88B7D5; text-align: justify; } .container::before { top: -33px; left: 50%; transform: translate(-50%,0) rotate(45deg); position: absolute; border: solid #C2E1F5; border-width: 4px 0 0 4px; background: #88B7D5; content: ''; width: 56px; height: 56px; } <div class="container container-decor">great distance</div>
Atas ialah kandungan terperinci Mengapa Penunjuk Segi Tiga Berpusat Mendatar Saya Beralih Semasa Mengubah Saiz?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!