Apakah kegunaan sifat sebelum asterisk dalam CSS?

王林
Lepaskan: 2023-09-16 14:53:04
ke hadapan
961 orang telah melayarinya

CSS 中星号前面的属性有什么用?

Dalam pembangunan web, CSS (Cascading Style Sheets) membolehkan pembangun menentukan rupa visual dan reka letak tapak web. Walau bagaimanapun, oleh kerana pelayar yang berbeza mempunyai mekanisme sokongan yang berbeza untuk CSS, mungkin terdapat ketidakkonsistenan apabila pengkompil memaparkan halaman web.

Untuk mengatasi isu keserasian ini, pembangun sering memilih untuk menggunakan penggodaman CSS bagi memastikan halaman web mereka dipaparkan secara konsisten merentas penyemak imbas dan peranti yang berbeza. Satu penggodaman sedemikian ialah atribut asterisk (juga dikenali sebagai penggodaman atribut asterisk), yang digunakan terhadap versi Internet Explorer (IE) tertentu yang mempunyai sokongan terhad untuk CSS.

Dalam artikel ini, kami akan meneroka penggodaman atribut bintang dalam CSS dan membincangkan kegunaan dan batasannya. Kami juga akan memberikan contoh cara menggunakan teknik ini dengan berkesan dan amalan terbaik untuk melaksanakannya dalam kod CSS.

Bintang harta pertama

Ini ialah penggodaman CSS untuk mengisytiharkan sifat berbeza elemen HTML. Atribut yang didahului oleh asterisk (*) atau garis bawah (_) hanya dipaparkan dalam IE 7 dan ke bawah, manakala untuk IE 8 dan ke atas ia dianggap sebagai sampah oleh pengkompil.

Tatabahasa

element{
   background-color: red;  // for other browsers
   _background-color: red;   // for IE 6 and below
   *background-color: red;   // for IE 7 and below
}
Salin selepas log masuk

Sekarang, mari kita memahami perkara ini dengan lebih baik dengan contoh. Kami akan menggunakan penggodaman ini untuk menjadikan sifat dalam IE 6, IE 7 dan pelayar lain.

NOTA - Godam ini berfungsi dengan penyemak imbas yang berbeza, jadi jalankan program dalam penyemak imbas yang ditentukan untuk melihat output yang betul.

Contoh

Berikut ialah cara untuk memberitahu pengkompil untuk memaparkan sifat CSS kepada elemen dalam Internet Explorer 7 dan lebih awal.

<!DOCTYPE html>
<html>
<head>
   <title>Internet Explorer 7 and Below Versions</title>
   <style>
      .my-div {
         background-color: red;
         width: 30%;
         height: 80%;
         padding: 3px;
         letter-spacing: 1px;
         margin-top: 40px;
         /* default margin applied in all other browsers */
         *margin-top: 0;
         /* IE6 margin */
      }
   </style>
</head>
<body>
   <h1>Star Preceded Property</h1>
   <h3>Given below is a div element whose margin-top will be 0 in IE 6 while it will be 20px in all other browsers.</h3>
   <div class="my-div"> This is my div element. </div>
</body>
</html>
Salin selepas log masuk

Untuk IE7 dan ke bawah, margin atas elemen div ialah sifar.

Jika anda menjalankan kod dalam mana-mana penyemak imbas lain, margin atas elemen div ialah 40px.

Dalam contoh di atas, pemilih CSS .my-div menggunakan margin atas sebanyak 40 piksel. Walau bagaimanapun, peraturan *margin-top: 0; hanya berfungsi dalam Internet Explorer 6, menetapkan margin kepada 0 piksel. Asterisk (*) sebelum nama hartanah (margin-top) ialah “asterisk” dalam “star property hack”. Ini ialah ralat sintaks dalam penyemak imbas lain, jadi mereka mengabaikan baris ini.

Contoh

Cara lain untuk membuat pengkompil memaparkan sifat CSS kepada elemen dalam Internet Explorer 6 dan lebih rendah digambarkan di bawah. Ia tidak berfungsi dengan IE 7.

<!DOCTYPE html>
<html>
<head>
   <style>
      .my-div {
         background-color: blue;
         /* default background color */
         width: 30%;
         height: 80%;
         padding: 3px;
         letter-spacing: 1px;
         _background-color: red;
         /* background color in IE 6 and below versions */
      }
   </style>
</head>
<body>
   <h1>Star Preceded Property </h1>
   <h3>Given below is a div element whose background color will be red in IE 6 and below while it will be blue in all other browsers.</h3>
   <div class="my-div"> This is my div element. </div>
</body>
</html>
Salin selepas log masuk

Untuk IE6 dan ke bawah, warna latar belakang elemen div akan menjadi biru.

Jika anda menjalankan kod dalam mana-mana pelayar lain, warna latar belakang akan menjadi merah.

Dalam contoh di atas, pemilih CSS .my-div menggunakan warna latar belakang merah. Walau bagaimanapun, peraturan _background-color: blue; hanya berfungsi dalam Internet Explorer 6, menetapkan warna latar belakang kepada biru.

Penggunaan dan Pengehadan Hack Harta Bintang

"Atribut bintang" ialah teknik yang digunakan pada masa lalu untuk menyasarkan versi tertentu Internet Explorer menggunakan gaya CSS. Walaupun ia mencapai matlamat ini dengan berkesan, ia juga mempunyai beberapa kelebihan dan kekurangan.

Gunakan

  • Ia membolehkan pembangun web menggunakan pelbagai gaya CSS khusus pada versi Internet Explorer yang lebih lama tanpa menjejaskan keputusan dalam semua penyemak imbas lain. Ini membantu mencipta pengalaman yang konsisten dan bersatu untuk pengguna merentas berbilang penyemak imbas.

  • Ia mudah digunakan dan mengurangkan jumlah kod, menjadikannya alternatif yang menarik untuk pembangun web. Ia menghalang mereka daripada menulis komen bersyarat atau helaian gaya khusus untuk penyemak imbas tertentu.

  • Ia digunakan secara meluas dan popular dalam komuniti pembangunan web, yang menjadikannya mudah untuk mencari contoh dan sokongan. Selain itu, ia juga sangat mesra pengguna.

Sekatan

  • "Asterix sebelum harta" adalah hack. Ini bukan cara yang standard dan serasi untuk menulis kod CSS. Ia bergantung pada pepijat dalam Internet Explorer untuk berfungsi. Selain itu, tiada jaminan bahawa ia akan berfungsi dalam versi pelayar yang diubah suai pada masa hadapan atau dalam pelayar lain.

  • Ini menjadikan kod lebih sukar dibaca dan diselenggara. Memandangkan ia melibatkan penulisan kod bukan standard, sukar untuk memahami apa yang dilakukan oleh kod tanpa ulasan atau dokumentasi tambahan.

  • Ini mungkin membawa kepada akibat yang tidak diingini, seperti menjejaskan elemen lain pada halaman atau menyebabkan penyemak imbas berkelakuan di luar jangkaan.

Kesimpulan

Teknik ini ialah kaedah yang menyasarkan penyemak imbas tertentu dengan gaya berbeza, memberikan sandaran untuk penyemak imbas lama seperti Internet Explorer 6. Secara keseluruhannya, walaupun "penggodaman atribut bintang" berguna pada masa itu, ia tidak lagi disyorkan sebagai amalan pembangunan web pilihan terbaik. Teknik pembangunan web moden memberi tumpuan kepada penggunaan kod standard dan serasi yang berjalan pada berbilang penyemak imbas dan bukannya bergantung pada penggodaman khusus penyemak imbas.

Atas ialah kandungan terperinci Apakah kegunaan sifat sebelum asterisk dalam CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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