div+css浏览器兼容之对css hack的理解_html/css_WEB-ITnose
写了这么久的div+css代码,我还真不知道这个hack是什么? 上网仔细查了一下。简单的说针对不同的浏览器写不同的 CSS code 的过程,就叫 CSS hack , 也叫写 CSS hack 。
Css hack 的原理: 由于不同的浏览器对 CSS 的支持及解析结果不一样,还由于 CSS 中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的 CSS 。
比如 IE6 能识别下划线 "_" 和星号 " * " , IE7 能识别星号 " * " ,但不能识别下划线 "_" ,而 firefox 两个都不能认识。等等
书写顺序,一般是将识别能力强的浏览器的 CSS 写在后面
浏览器优先级别 :FF
来看下面div+css浏览器兼容的例子:
#demo {width:100px;} /* 被 FIREFOX,IE6,IE7 执行 .*/
* html #demo {width:120px;} /* 会被 IE6 执行 , 之前的定义会被后来的覆盖 , 所以 #demo 的宽度在 IE6 就为 120px; */
*+html #demo {width:130px;} /* 会被 IE7 执行 */
所以最后 ,#demo 的宽度在三个浏览器的解释为 :
firefox:100px;
ie6:120px;
ie7:130px;
以上例子也可以用我的上一篇文章“div+css浏览器兼容一 中的方法来解决!在这里就不再举例了。”
div+css浏览器兼容技巧:
① 垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)
② 水平居中. margin: 0 auto;(当然不是万能)
③ 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)
④ FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.
⑤ ul 标签在 FF 下面默认有 list-style 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)
⑥ 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.
⑦ 关于手形光标. cursor: pointer. 而hand 只适用于 IE.
⑧ FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)
注:针对firefox IE6 IE7的css样式
现在大部分都是用!important来hack,对于IE6和firefox测试可以正常显示,
但是IE7 !important可以正确解释,会导致页面没按要求显示!找到一个针
对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了。
现在写一个 浏览器兼容:
#cshk{ height:20px; } /* Moz */
* html #cshk {height:50px; } /* IE6 */
*+html #cshk {height:80px; } /* IE7 */
那么在firefox下高度为20,IE6下的高度为50,IE7下的高度为80。
给大家一点意见:能不用 CSS Hack还是不用的好。其实在设计网站的时候,如果能考虑到一些可能出现CSS bug的地方,是最好的,我设计网站的时候都尽量避免CSS bug.一般高手都不用hack.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le cache de mise à jour de la page Web du compte officiel, cette chose est simple et simple, et elle est suffisamment compliquée pour en boire un pot. Vous avez travaillé dur pour mettre à jour l'article officiel du compte, mais l'utilisateur a toujours ouvert l'ancienne version. Dans cet article, jetons un coup d'œil aux rebondissements derrière cela et comment résoudre ce problème gracieusement. Après l'avoir lu, vous pouvez facilement faire face à divers problèmes de mise en cache, permettant à vos utilisateurs de toujours ressentir le contenu le plus frais. Parlons d'abord des bases. Pour le dire franchement, afin d'améliorer la vitesse d'accès, le navigateur ou le serveur stocke des ressources statiques (telles que des images, CSS, JS) ou du contenu de la page. La prochaine fois que vous y accédez, vous pouvez le récupérer directement à partir du cache sans avoir à le télécharger à nouveau, et il est naturellement rapide. Mais cette chose est aussi une épée à double tranchant. La nouvelle version est en ligne,

L'article discute de l'utilisation des attributs de validation de formulaire HTML5 comme les limites requises, motifs, min, max et longueurs pour valider la saisie de l'utilisateur directement dans le navigateur.

L'article examine les meilleures pratiques pour assurer la compatibilité des navigateurs de HTML5, en se concentrant sur la détection des fonctionnalités, l'amélioration progressive et les méthodes de test.

Cet article démontre un ajout de bordure PNG efficace aux pages Web à l'aide de CSS. Il soutient que CSS offre des performances supérieures par rapport à JavaScript ou à des bibliothèques, détaillant comment ajuster la largeur, le style et la couleur des bordures pour un effet subtil ou proéminent

L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

Cet article explique le html5 & lt; time & gt; élément de représentation sémantique de date / heure. Il souligne l'importance de l'attribut DateTime pour la lisibilité à la machine (format ISO 8601) à côté du texte lisible par l'homme, stimulant AccessIbilit

L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex
