返回顶部
首页 > 资讯 > 前端开发 > JavaScript >CSS的Hack表现形式有哪些
  • 189
分享到

CSS的Hack表现形式有哪些

2024-04-02 19:04:59 189人浏览 八月长安
摘要

这篇文章主要讲解了“CSS的Hack表现形式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS的Hack表现形式有哪些”吧!摘要: &nb

这篇文章主要讲解了“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表现形式有哪些”的内容了,经过本文的学习后,相信大家对CSS的Hack表现形式有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: CSS的Hack表现形式有哪些

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

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

猜你喜欢
  • CSS的Hack表现形式有哪些
    这篇文章主要讲解了“CSS的Hack表现形式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS的Hack表现形式有哪些”吧!摘要: &nb...
    99+
    2024-04-02
  • CSS中Hack表现形式有几种
    这篇文章主要介绍了CSS中Hack表现形式有几种,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是CSS hack由于不同厂商的流览器或某...
    99+
    2024-04-02
  • CSS hack使用方式有哪些
    这篇文章主要介绍“CSS hack使用方式有哪些”,在日常操作中,相信很多人在CSS hack使用方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS hack使用...
    99+
    2024-04-02
  • CSS hack的知识有哪些
    这篇文章主要介绍“CSS hack的知识有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS hack的知识有哪些”文章能帮助大家解决问题。   ...
    99+
    2024-04-02
  • CSS Hack的知识点有哪些
    这篇文章主要讲解了“CSS Hack的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS Hack的知识点有哪些”吧! 一、CSS ...
    99+
    2024-04-02
  • php中链表的表现形式有哪些
    这篇文章主要介绍php中链表的表现形式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!循环链表就像上文所说的,我们让最后一个节点指向第一个节点,这样形成的链表就是一个循环链表,如下图所示:关于循环的链表的操作我们...
    99+
    2023-06-20
  • java多态的表现形式有哪些
    Java多态的表现形式有以下几种:1. 方法重载:同一个类中,存在多个方法名相同但参数列表不同的方法,通过参数列表的不同来实现多态。...
    99+
    2023-09-23
    java
  • 有哪些css插入形式
    本篇内容介绍了“有哪些css插入形式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • java中多态的表现形式有哪些
    本篇文章给大家分享的是有关java中多态的表现形式有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编...
    99+
    2023-06-14
  • css选择器的形式有哪些
    这篇文章主要介绍“css选择器的形式有哪些”,在日常操作中,相信很多人在css选择器的形式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css选择器的形式有哪些”的疑惑...
    99+
    2024-04-02
  • CSS层模型的形式有哪些
    本文小编为大家详细介绍“CSS层模型的形式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS层模型的形式有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。   在网...
    99+
    2024-04-02
  • Css if hack条件语法有哪些
    本篇内容介绍了“Css if hack条件语法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! &l...
    99+
    2024-04-02
  • css样式表有哪些
    css 是一种样式表语言,用于控制网页元素的外观,包括字体、颜色和布局。它具有以下优点:内容和表现分离、可维护性高、性能提升、可用性和可访问性增强、响应式设计支持。css 样式表类型有三...
    99+
    2024-04-06
    css 网页布局
  • IE各版本CSS Hack的语法有哪些
    今天小编给大家分享一下IE各版本CSS Hack的语法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • python中切片参数的表现形式有哪些
    这篇文章将为大家详细讲解有关python中切片参数的表现形式有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python有哪些常用库python常用的库:1.requesuts;2.sc...
    99+
    2023-06-14
  • CSS中hack和注释规范有哪些
    这篇文章给大家介绍CSS中hack和注释规范有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。CSS中hack和注释书写规范一.hack书写规范因为不同浏览器对W3C标准的支持不一样...
    99+
    2024-04-02
  • python列表的切片形式有哪些
    这篇文章给大家分享的是有关python列表的切片形式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、切片形式(1)正向切片正向切片即使用正向索引,索引从0开始进行切片。(2)反向切片反向切片即使用反向索引...
    99+
    2023-06-15
  • python的数据表示形式有哪些
    本篇内容主要讲解“python的数据表示形式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python的数据表示形式有哪些”吧!程序的主要功能是处理数据。有许多数据。我们在手机和电脑上看到...
    99+
    2023-06-30
  • 页面中使用css的形式有哪些
    小编给大家分享一下页面中使用css的形式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 三种形...
    99+
    2024-04-02
  • css中有哪些样式表
    这期内容当中小编将会给大家带来有关css中有哪些样式表,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 css样式表有3种:行内样式表、内部样式...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作