Rumah hujung hadapan web tutorial css 用CSS hack技术解决浏览器兼容性问题

用CSS hack技术解决浏览器兼容性问题

Apr 05, 2017 am 10:55 AM
css hack keserasian pelayar

什么是CSS Hack?

  不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack。

CSS Hack 形式

  CSS Hack大致有3种表现形式:CSS属性Hack、CSS选择符Hack以及IE条件注释Hack, Hack主要针对IE浏览器。

  1、属性级Hack:比如IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而firefox两个都不能认识。等等

  2、选择符级Hack:比如IE6能识别*html .class{},IE7能识别*+html .class{}或者*:first-child+html .class{}。等等

  3、IE条件注释Hack:比如针对所有IE:,针对IE6及以下版本:,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。

  注意书写顺序:一般是将识别能力强的浏览器的CSS写在后面。通常先写FF等非IE浏览器所需样式,其次写IE8所需样式,接着是IE7的,再接着才是IE6的。

常用CSS hack

  admin10000.com整理,以 color:red 将字体设置为红色为例:

/* CSS属性级Hack */
color:red;    /* 所有浏览器可识别*/
_color:red;     /*  仅IE6 识别 */
*color:red;    /*  IE6、IE7 识别 */
+color:red;    /*  IE6、IE7 识别 */
*+color:red;    /*  IE6、IE7 识别 */
[color:red;    /*  IE6、IE7 识别 */
color:red\9;    /* IE6、IE7、IE8、IE9 识别 */
color:red\0;    /* IE8、IE9 识别*/
color:red\9\0;    /* 仅IE9识别 */
color:red \0;    /* 仅IE9识别 */
color:red!important; /* IE6 不识别!important 详情参见*/
-------------------------------------------------------------
/* CSS选择符级Hack */
*html #demo { color:red;}   /*  仅IE6 识别 */
*+html #demo { color:red;}  /*  仅IE7 识别 */
body:nth-of-type(1) #demo { color:red;} /* IE9+、FF3.5+、Chrome、Safari、Opera 可以识别 */
head:first-child+body #demo { color:red; } /* IE7+、FF、Chrome、Safari、Opera 可以识别 */
:root #demo { color:red\9; } : /* 仅IE9识别 */
--------------------------------------------------------------
/* IE条件注释Hack 详情参见 */
<!--[if IE]>此处内容只有IE可见<![endif]--> 
<!--[if IE 6]>此处内容只有IE6.0可见<![endif]--> 
<!--[if IE 7]>此处内容只有IE7.0可见<![endif]--> 
<!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->
<!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
<!--[if !IE]>此处内容只有非IE可见<![endif]-->
Salin selepas log masuk

  注意:css hack虽然可以解决个浏览器之间css显示的差异问题,但是毕竟不符合W3C规范,我们平时写css最好是按照标准来,这样对我们以后维护也是大有好处的,实在不行再用。

比较著名的css hack 兼容一览图:http://centricle.com/ref/css/filters/
相关文档:最全的CSS浏览器兼容问题
 

Atas ialah kandungan terperinci 用CSS hack技术解决浏览器兼容性问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

HTML: Struktur, CSS: Gaya, JavaScript: Tingkah Laku HTML: Struktur, CSS: Gaya, JavaScript: Tingkah Laku Apr 18, 2025 am 12:09 AM

Peranan HTML, CSS dan JavaScript dalam pembangunan web adalah: 1. HTML mentakrifkan struktur laman web, 2. CSS mengawal gaya laman web, dan 3. JavaScript menambah tingkah laku dinamik. Bersama -sama, mereka membina kerangka, estetika dan interaktiviti laman web moden.

Selesaikan masalah caching dalam kraf CMS: Menggunakan plug-in wiejeben/craft-laravel-mix Selesaikan masalah caching dalam kraf CMS: Menggunakan plug-in wiejeben/craft-laravel-mix Apr 18, 2025 am 09:24 AM

Apabila membangunkan laman web yang menggunakan CraftCMS, anda sering menghadapi masalah caching fail sumber, terutamanya apabila anda sering mengemas kini fail CSS dan JavaScript, versi lama fail mungkin masih di -cache oleh penyemak imbas, menyebabkan pengguna tidak melihat perubahan terkini dalam masa. Masalah ini bukan sahaja memberi kesan kepada pengalaman pengguna, tetapi juga meningkatkan kesukaran pembangunan dan debugging. Baru-baru ini, saya menghadapi masalah yang sama dalam projek saya, dan selepas beberapa penjelajahan, saya dapati plugin Wiejeben/Craft-Laravel-Mix, yang sempurna menyelesaikan masalah caching saya.

Titik pengoptimuman Laravel8 Titik pengoptimuman Laravel8 Apr 18, 2025 pm 12:24 PM

Laravel 8 menyediakan pilihan berikut untuk Pengoptimuman Prestasi: Konfigurasi Cache: Gunakan Redis ke Pemacu Cache, Fasad Cache, Pandangan Cache, dan Page Page. Pengoptimuman pangkalan data: Menetapkan pengindeksan, gunakan skop pertanyaan, dan gunakan hubungan fasih. Pengoptimuman JavaScript dan CSS: Gunakan Kawalan Versi, Gabungan dan Secrink Aset, Gunakan CDN. Pengoptimuman kod: Gunakan pakej pemasangan komposer, gunakan fungsi pembantu Laravel, dan ikuti piawaian PSR. Pemantauan dan Analisis: Gunakan Pengakap Laravel, gunakan teleskop, memantau metrik aplikasi.

Cara Memudahkan Pembangunan CMS dengan Komposer: Aplikasi Praktikal Perpustakaan Lebenlabs/SimpleCms Cara Memudahkan Pembangunan CMS dengan Komposer: Aplikasi Praktikal Perpustakaan Lebenlabs/SimpleCms Apr 18, 2025 am 09:45 AM

Apabila membangunkan Sistem Pengurusan Kandungan baru (CMS), saya menghadapi masalah yang sama tetapi sukar: bagaimana dengan cepat membina CMS berfungsi sepenuhnya tanpa menambah terlalu banyak kerumitan. Terdapat banyak penyelesaian CMS siap sedia yang terdapat di pasaran, tetapi mereka sering terlalu besar dan kompleks untuk mengkonfigurasi dan boleh menjadi beban untuk projek-projek kecil. Selepas beberapa penjelajahan, saya dapati Perpustakaan Lebenlabs/SimpleCMS, yang menyediakan penyelesaian yang mudah dan cekap melalui komposer.

Pertukaran mata wang 2025 yang lebih selamat? Pertukaran mata wang 2025 yang lebih selamat? Apr 20, 2025 pm 06:09 PM

Sepuluh teratas yang selamat dan boleh dipercayai di lingkaran cryptocurrency 2025 termasuk: 1. Pertukaran ini dinilai sebagai selamat dan boleh dipercayai berdasarkan pematuhan, kekuatan teknikal dan maklum balas pengguna.

Apakah sebab mengapa penyemak imbas tidak bertindak balas selepas pelayan WebSocket mengembalikan 401? Bagaimana menyelesaikannya? Apakah sebab mengapa penyemak imbas tidak bertindak balas selepas pelayan WebSocket mengembalikan 401? Bagaimana menyelesaikannya? Apr 19, 2025 pm 02:21 PM

Kaedah tidak responsif penyemak imbas selepas pelayan WebSocket mengembalikan 401. Apabila menggunakan Netty untuk membangunkan pelayan WebSocket, anda sering menghadapi keperluan untuk mengesahkan token. � ...

Cara belajar iaravel Cara belajar iaravel Apr 18, 2025 pm 12:21 PM

Langkah -langkah untuk belajar Laravel adalah: mempunyai pengetahuan asas PHP. Pasang rangka kerja Laravel. Ketahui mengenai seni bina Laravel. Ketahui sintaks asas: laluan, pengawal, pandangan, model. Bina rangka kerja amalan permohonan kecil untuk digunakan. Lihat dokumentasi rasmi untuk panduan terperinci. Sertai komuniti untuk bertukar pengalaman dan dapatkan bantuan. Tetap dikemas kini dan perhatikan ciri -ciri baru.

Bagaimana cara menjana dan memaparkan applet WeChat dengan betul dengan kod QR parameter di Java? Bagaimana cara menjana dan memaparkan applet WeChat dengan betul dengan kod QR parameter di Java? Apr 19, 2025 pm 04:48 PM

Menjana kod QR Applet WeChat dengan parameter di Java dan memaparkannya pada halaman HTML adalah keperluan umum. Artikel ini akan membincangkan secara terperinci cara menggunakan ...

See all articles