返回顶部
首页 > 资讯 > 前端开发 > node.js >如何理解CSS Hack
  • 662
分享到

如何理解CSS Hack

2024-04-02 19:04:59 662人浏览 安东尼
摘要

本篇内容介绍了“如何理解CSS Hack”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!摘要: &

本篇内容介绍了“如何理解CSS Hack”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

摘要:
      在我们制作页面时CSS hack由于不同的浏览器,比如Internet Explorer,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。

  CSS Hack大致有3种表现形式,属性级Hack、选择器Hack以及IE条件Hack

注意:尽可能减少对CSS Hack的使用。

原理:
  由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。

实际应用:
选择器:
  
语法:
       <hack> selector{ sRules }

说明:
 选择不同的浏览器及版本
通常如未作特别说明,所有的代码和示例的默认运行环境都为标准模式。
一些CSS Hack由于浏览器存在交叉认识,所以需要通过层层覆盖的方式来实现对不同浏览器进行Hack的。
简单列举几个:

代码如下:

* html .test{color:#090;}                                                  
* + html .test{color:#ff0;}                                                
.test:lang(zh-cn){color:#f00;}                                            
.test:nth-child(1){color:#0ff;}                                            
:root .test {background-color:green;}                                      
@media screen and (-WEBkit-min-device-pixel-ratio:0) {.test {color:gray;}}
@-moz-document url-prdfix() {.test {color:#fff}}                          
* 上述代码中的3,4两行就是典型的利用能力来进行选择的CSS Hack。


          
IE条件Hack:
语法:

代码如下:

<!--[if <keyWords>? IE <version>?]>
HTML代码块
<![endif]-->

取值:
<keywords>

  if条件共包含6种选择方式:是否、大于、大于或等于、小于、小于或等于、非指定版本

     是否:
指定是否IE或IE某个版本。关键字:空
     大于:
选择大于指定版本的IE版本。关键字:gt(greater than)
     大于或等于:
选择大于或等于指定版本的IE版本。关键字:gte(greater than or equal)
     小于:
选择小于指定版本的IE版本。关键字:lt(less than)
     小于或等于:
选择小于或等于指定版本的IE版本。关键字:lte(less than or equal)
     非指定版本:
选择除指定版本外的所有IE版本。关键字:!
<version>
      目前的常用IE版本为6.0及以上

说明:
用于选择IE浏览器及IE的不同版本
if条件Hack是HTML级别的(包含但不仅是CSS的Hack,可以选择任何HTML代码块)
如不想在非IE中看到某区域,可这样写:

代码如下:

<!--[if IE]>
<p>你在非IE中将看不到我的身影</p>
<![endif]-->

上述p代码块,将只在IE中可见。

if条件6种选择方式的使用示例(下述代码中被条件注释包含的HTML代码块也可以是link标记):
是否,示例代码:

代码如下:

<!--[if IE]>
<style>
.test{color:red;}
</style>
<![endif]-->

在上述代码中,只有IE浏览,才能看到应用了test类的元素是红色文本。

大于,示例代码:

代码如下:

<!--[if gt IE 6]>
<style>
.test{color:red;}
</style>
<![endif]-->

在上述代码中,只有IE6以上,才能看到应用了test类的元素是红色文本。

大于或等于,示例代码:

代码如下:

<!--[if gte IE 6]>
<style>
.test{color:red;}
</style>
<![endif]-->

在上述代码中,只有IE6以上(含IE6),才能看到应用了test类的元素是红色文本。

小于,示例代码:

代码如下:

<!--[if lt IE 7]>
<style>
.test{color:red;}
</style>
<![endif]-->

在上述代码中,只有IE7以下,才能看到应用了test类的元素是红色文本。

小于或等于,示例代码:

代码如下:

<!--[if lte IE 7]>
<style>
.test{color:red;}
</style>
<![endif]-->

在上述代码中,只有IE7以下(含IE7),才能看到应用了test类的元素是红色文本。

非指定版本,示例代码:

代码如下:

<!--[if ! IE 7]>
<style>
.test{color:red;}
</style>
<![endif]-->

在上述代码中,除IE7以外的IE版本,都能看到应用了test类的元素是红色文本。

属性级:
    语法:
        selector{<hack>property:value;}或者selector{property:value<hack>;}

    取值:
        _:选择IE6及以下。连接线(中划线)(-)亦可使用,为了避免与某些带中划线的属性混淆,所以使用下划线(_)更为合适。
        *:选择IE7及以下。诸如:(+)与(#)之类的均可使用,不过业界对(*)的认知度更高
        \9:选择IE6+,可以区别所有IE和FireFox。
        \0:选择IE8+和Opera
        [;property:value;];:选择webkit核心浏览器(Chrome,Safari)。IE7及以下也能识别。中括号内外的3个分号必须保留,第一个分号前可以是任意规则或任意多个规则
                [;color:#f00;]; 与 [color:#f00;color:#f00;]; 与 [margin:0;padding:0;color:#f00;]; 是等价的。生效的始终是中括号内的最后一条规则,所以通常选用第一种写法最为简洁。
     注意:!important并不是一个hack手段,他是被用来改变css的优先级的,因为ie6是不识别!important,所以就被拿来当做css hack的一种,这是错误的。
    说明:
    选择不同的浏览器及版本
  浏览器优先级别:FF<IE9<IE8<IE7<IE6,CSS hack书写顺序一般为FF IE9 IE8 IE7 IE6
一些CSS Hack由于浏览器存在交叉认识,所以需要通过层层覆盖的方式来实现对不同浏览器进行Hack的。如下面这个例子:
如想同一段文字在IE6,7,8显示为不同颜色,可这样写:

代码如下:

.test{
color:#090\9;
*color:#f00;  
_color:#ff0;  
}

  * 上述Hack均需运行在标准模式下,若在怪异模式下运行,这些Hack将会被不同版本的IE相互识别,导致失效。

HACK Demo:
  

代码如下:

.demo{color:#f1ee18; background-color:#00deff\9; +background-color:#a200ff; _background-color:#1e0bd1}
@media screen and (-webkit-min-device-pixel-ratio:0){.demo{background-color:#f1ee18}}{}
@media all and (min-width: 0px){ .demo{background-color:#f1ee18; background-color:#4cac70\0;} }{}
.demo, x:-moz-any-link, x:default{background-color:#4eff00;}
@-moz-document url-prefix(){.demo{background-color:#4eff00;}}
* +html .demo{background-color:#a200ff;}

.demo, x:-moz-any-link, x:default{display:block;+display:none}
@-moz-document url-prefix(){.demo{display:block;}}
@media screen and (-webkit-min-device-pixel-ratio:0){.demo{display:block;}}{}
@media all and (min-width: 0px){.demo{display:none\0;} }{}

“如何理解CSS Hack”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何理解CSS Hack

本文链接: https://lsjlt.com/news/82012.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何理解CSS Hack
    本篇内容介绍了“如何理解CSS Hack”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!摘要: &...
    99+
    2024-04-02
  • 常用CSS HACK问题及如何解决
    这篇“常用CSS HACK问题及如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“常用...
    99+
    2024-04-02
  • 如何解析针对IE6的CSS hack用法
    今天就跟大家聊聊有关如何解析针对IE6的CSS hack用法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。通过实例向大...
    99+
    2024-04-02
  • CSS hack的使用原理
    本篇内容介绍了“CSS hack的使用原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CSS hack的...
    99+
    2024-04-02
  • CSS hack的工作原理
    本篇内容主要讲解“CSS hack的工作原理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS hack的工作原理”吧!CSS hack简介CSS hack由...
    99+
    2024-04-02
  • IE8浏览器如何兼容CSS hack
    小编给大家分享一下IE8浏览器如何兼容CSS hack,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! CSS hack区分以下...
    99+
    2024-04-02
  • CSS hack用法案例详解
    之前一直很狭隘的对CSS hack持有偏见,觉得写得规范的代码不应该使用这些“邪门歪道”,可最近产品发布一个小问题却让我头疼了很久,最后查了一下资料,竟然使用CSS hack轻松解决...
    99+
    2024-04-02
  • CSS Hack的工作原理和用法
    本篇内容介绍了“CSS Hack的工作原理和用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!你对CSS ...
    99+
    2024-04-02
  • CSS Hack技术的原理和用法
    这篇文章主要介绍“CSS Hack技术的原理和用法”,在日常操作中,相信很多人在CSS Hack技术的原理和用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS Hack...
    99+
    2024-04-02
  • CSS中Hack的基本原理和实现方式
    本篇内容主要讲解“CSS中Hack的基本原理和实现方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS中Hack的基本原理和实现方式”吧!CSS Hack的...
    99+
    2024-04-02
  • 如何编写IE系列的Css if hack条件语法
    这篇文章主要讲解了“如何编写IE系列的Css if hack条件语法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写IE系列的Css if hack条...
    99+
    2024-04-02
  • PHP中如何使用hack
    这篇文章将为大家详细讲解有关PHP中如何使用hack,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PHP hack示例:< php  $tabs =&nb...
    99+
    2023-06-17
  • 常用CSS HACK问题有哪些怎么解决
    这篇“常用CSS HACK问题有哪些怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2024-04-02
  • 常用的CSS HACK问题有哪些及怎么解决
    本篇内容介绍了“常用的CSS HACK问题有哪些及怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 如何理解CSS优先级
    这篇文章给大家介绍如何理解CSS优先级,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当你将一个样式添加到元素上却发现不起作用时,那就是遇到优先级问题了。那么应该如何处理 CSS 优先级...
    99+
    2024-04-02
  • 如何理解html、css和JavaScript
    这篇“如何理解html、css和JavaScript”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2024-04-02
  • 如何理解CSS中filter滤镜
    本篇内容主要讲解“如何理解CSS中filter滤镜”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解CSS中filter滤镜”吧!1.CSS静态滤镜样式 (...
    99+
    2024-04-02
  • 如何理解CSS对齐方式
    本篇内容主要讲解“如何理解CSS对齐方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解CSS对齐方式”吧!一、居中1. 居中对齐元素将块元素水平居中对齐...
    99+
    2024-04-02
  • 如何理解Bootstrap3.0中CSS知识
    这篇文章主要介绍“如何理解Bootstrap3.0中CSS知识”,在日常操作中,相信很多人在如何理解Bootstrap3.0中CSS知识问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解Bootstrap...
    99+
    2023-06-08
  • 如何理解CSS中的URL工具
    这篇文章主要介绍“如何理解CSS中的URL工具”,在日常操作中,相信很多人在如何理解CSS中的URL工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解CSS中的URL...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作