Rumah > hujung hadapan web > tutorial css > Mengapa Penunjuk Segi Tiga Berpusat Mendatar Saya Beralih Semasa Mengubah Saiz?

Mengapa Penunjuk Segi Tiga Berpusat Mendatar Saya Beralih Semasa Mengubah Saiz?

DDD
Lepaskan: 2024-12-21 12:52:10
asal
558 orang telah melayarinya

Why Does My Horizontally Centered Triangle Pointer Shift During Resizing?

Pemusatan Mendatar Penunjuk Segitiga Menghadapi Isu Semasa Saiz Semula Skrin

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);
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan