Rumah > Artikel > hujung hadapan web > CSS menggunakan teknologi Sprites untuk mencapai pertukaran sudut bulat_Pengalaman
Pertama sekali, mari kita bincangkan secara ringkas tentang apa itu Sprites ialah kaedah pemprosesan aplikasi imej web. Ia membolehkan anda memasukkan semua gambar bertaburan yang terlibat dalam halaman ke dalam satu gambar besar, supaya apabila halaman itu diakses, gambar yang dimuatkan tidak akan dipaparkan satu persatu seperti sebelum ini. Untuk kelajuan rangkaian popular semasa, masa pemuatan yang diperlukan untuk satu imej tidak melebihi 200KB pada asasnya adalah sama, jadi tidak perlu risau tentang isu ini.
Langkah 1: Cipta Sprite kami
Gunakan alatan seperti PS untuk mensintesis gambar seperti yang ditunjukkan dalam gambar (dibezakan dengan garis merah satu piksel)
Langkah 2: Tulis kod HTML
Pertama, kami akan memberikan div kontena kelas .roundedBox:
Kini, kita perlu menambah empat lagi div, yang akan digunakan apabila membuat sudut bulat pada masa hadapan. Kemudian kelas .corner mesti dimuatkan untuk setiap satu dan kelas mesti dikenal pasti untuk menentukan kedudukan grid mereka.
Langkah 3: Tulis gaya CSS
Elemen yang diposisikan secara mutlak biasanya diletakkan mengikut elemen induknya yang agak kedudukannya. Jika elemen induk tidak dapat ditakrifkan, maka ia akan pergi ke elemen induk yang agak diposisikan terkini, sehingga teg badan.
Mari kita tentukan semua fillet dahulu
Semua fillet mesti diletakkan secara mutlak dan ditandakan dengan ketinggian dan lebar. Lebar dan tinggi definisi fillet saya ialah 17px.
Sekarang mula mentakrifkan gaya bekas div:
Dalam mana-mana elemen yang ditakrifkan dengan kelas .roundedBox, elemen yang diposisikan secara mutlak akan diposisikan secara relatif kepada elemen ini, bukan badan label. Kita juga perlu menetapkan beberapa nilai padding Jika tidak ditetapkan, sudut bulat akan meliputi teks kita, yang pastinya bukan kesan yang kita inginkan. Penting: Nilai padding atas dan bawah mestilah sama dengan ketinggian fillet. Nilai padding kiri dan kanan mestilah bersamaan dengan lebar fillet. Seperti yang anda sedia maklum, lebar dan tinggi fillet saya adalah sama, oleh itu, nilai padding empat penjuru juga sama:
Kami akan menetapkan kedudukan mutlak setiap sudut bulat dan meletakkan imej latar belakang (mengikut sprite kami):
Akhir sekali, padankan warna latar belakang dengan #type1 supaya ia sebati dengan sudut bulat dalam sprite:
Semua kod: