逢10月小长假,几天不敲键盘,浑身难受。也是有时间分享一下自己遇到的css问题。先说一下什么css hack

简单介绍一下css hack:

定义:

  一般都是利用各浏览器的支持CSS的能力和BUG来进行的,可以分为能力选择和怪癖选择(BUG)。

  能力通常是指浏览器对CSS特性的支持程度,而怪癖是指浏览器特有的一些BUG。

  总结:这里定义的很清晰哦:第一浏览器的对  css  支持程度 不一样,第二,不同的浏览器携带自身特有的属性

提醒:

  尽量找到通用方法而减少对CSS Hack的使用,大规模使用CSS Hack会带来维护成本的提高以及浏览器版本变化而带来类似Hack失效等系列问题

  总结:这里指出,不是hack 写的越多越好,考虑到 每种浏览器各个版本之间还存在差异,时间花费,也不一定就有好的成效。

书写方法:

  CSS hack书写顺序,一般是将适用范围广、被识别能力强的CSS定义在前面。稍后回有例子。

本次主要说明   浏览器的对  css  支持程度

三种书写方法:

  一:条件Hack    ( IE )

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

  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版本。关键字:!

特别强调 IE10以后没有条件hack了。

举例子:

  <!--[if IE 8]>   //这是格式

    //这里是code区域,不仅可以是css  也可以使html标签    (HTML代码块 )

    <style>
      div{position:relative;}     
    </style>

  <![endif]-->

  二:属性Hack    ( 了解,官方说明:需谨慎使用 )

    selector{<hack>?property:value<hack>?;}

    就简单举个例子,就不做详细的说明了

     

   如想同一段文字在IE6,7,8显示为不同颜色,可这样写:

  .test {
   color: #090\9; /* For IE8+ */
*color: #f00; /* For IE7 and earlier */
_color: #ff0; /* For IE6 and earlier */
  }

   三:选择符级Hack    ( 了解,官方说明:需谨慎使用 )

    这个就是我们常用的css选择器。只要多注意一些css语法的兼容性,一般不建议使用hack。

    * html .test { color: #090; }       /* For IE6 and earlier */
    * + html .test { color: #ff0; } /* For IE7 */
    .test:lang(zh-cmn-Hans) { color: #f00; } /* For IE8+ and not IE */
    .test:nth-child(1) { color: #0ff; } /* For IE9+ and not IE */ 总结一下:
    这里简单介绍一下css hack的说明。关于兼容浏览器的hack,尽量少使用。
  原因:
    1 开发项目 不仅考虑 浏览器之前的版本,更要注意 浏览器的后续发展,不能已解决现在的问题,就是完全解决问题。         一方面:这样敲代码,用一位前辈的话来说: Inhumanity,不人道的,后面接手的兄弟(或者妹子)完全抓狂         另外一点:多考虑,有利于今后解决问题的多思路,对于今后的代码容错有非常大的帮助。     2 浏览器的兼容,需要说明兼容的版本,以及理由,这也是我们程序员的应该要考虑的。
      
        作为一个面向大学生消费群体的应用,去兼容IE67 这样的需求,完全可以拍回去。

web端 css hack(一)的更多相关文章

  1. Web前端技术研究:Css hack技术---令人沮丧的技术

    我最近想好好整理下csshack技术,但是结果很沮丧,下面我将我最初写的笔记和大家分享下. 我在单位整理的研究笔记: 不同的浏览器对某些CSS代码解析会存在一定的差异,因此就会导致不同浏览器下给用户展 ...

  2. web前端开发常用的10个高端CSS UI开源框架

    web前端开发常用的10个高端CSS UI开源框架   随着人们对体验的极致追求,web页面设计也面临着新的挑战,不仅需要更人性化的设计理念,还需要设计出更酷炫的页面.作为web前端开发人员,运用开源 ...

  3. 如何使用css来让图片居中不变形 微信小程序和web端适用

    图片变形很多人祭奠出了妖魔鬼怪般的各种大法,比如使用jq来写,或者使用css表达式来写.今天我总结的是使用css3来写,唯一最大缺点就是对一些浏览器版本不够兼容.下面就是关于如何使用css来让图片居中 ...

  4. 盒子端 CSS 动画性能提升研究

    不同于传统的 PC Web 或者是移动 WEB,在腾讯视频客厅盒子端,接大屏显示器(电视)下,许多能流畅运行于 PC 端.移动端的 Web 动画,受限于硬件水平,在盒子端的表现的往往不尽如人意. 基于 ...

  5. vue仿微信网页版|vue+web端聊天室|仿微信客户端vue版

    一.项目介绍 基于Vue2.5.6+Vuex+vue-cli+vue-router+vue-gemini-scrollbar+swiper+elementUI等技术混合架构开发的仿微信web端聊天室— ...

  6. 移动web端的react.js组件化方案

     背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近 ...

  7. css3复杂选择器+内容生成+Css Hack

    1.复杂选择器2.内容生成3.多列4.CSS Hack(浏览器兼容性)=======================================1.复杂选择器 1.兄弟选择器 1.特点: 1.通过 ...

  8. 基于SignalR的web端即时通讯 - ChatJS

    先看下效果. ChatJS 是基于SignalR实现的Web端IM,界面风格模仿的是“脸书”,可以很方便的集成到已有的产品中. 项目官网:http://chatjs.net/ github地址:htt ...

  9. CSS hack前传——背景图片全屏

    在之前的博客CSS hack中我有提到,一个问题的解决让我对CSS hack的态度从不屑一顾,到认真研究了实验一下,事情是这样的,最近产品发布,向来狂妄的我被一个bug纠缠住了,甚至丧气的表示我做不出 ...

随机推荐

  1. C#内存管理之托管堆与非托管堆( reprint )

    在 .NET Framework 中,内存中的资源(即所有二进制信息的集合)分为“托管资源”和“非托管资源”.托管资源必须接受 .NET Framework 的 CLR (通用语言运行时)的管理(诸如 ...

  2. Free Style Structure text

    最近用了很多文本配置输入,考虑一个最简单的格式,适合C语言scanf读写数据. 基本数据类型直接使用常用形式. double 直接用小数,对应%f读取. int 直接用十进制整数,对应%d读取. ch ...

  3. CODING 告诉你硅谷的研发项目管理之道(3)

    前言: 本文为 CODING 教你一步步从一个程序员变身成管理者系列文章的第三篇,文章内容来自 Unity 的一位研发总监,详细叙述了他的管理风格和处事态度,同时列举了很多扩展阅读材料来帮助读者更全面 ...

  4. [FZU 1901]Period II KMP

    For each prefix with length P of a given string S,if S[i]=S[i+P] for i in [0..SIZE(S)-p-1], then the ...

  5. flask数据操纵

    Flask ORM 在Django框架中内部已经提供ORM这样的框架,来实现对象关系映射,方便我们操作数据库.如果想在Flask中也达到这样效果,需要安装一个第三方来支持. SQLAlchemy是一个 ...

  6. thinkphp5加密解密

    thinkphp5目前没有提供加密解密类,但是tp3.2中提供了好几种加密解密方法,我们可以吧3.2的这些类拿来使用. 1.将tp3.2中ThinkPHP\Library\Think的Crypt文件夹 ...

  7. HDU-2588-GCD (欧拉函数)

    The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the ...

  8. 【ACM】最长公共子序列 - 动态规划

    最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列.tip:最长公共子序列也称作最 ...

  9. 【ACM】吝啬的国度 - DFS (图)

    吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市, ...

  10. (转)Linux: dirname、basename命令详解

    Linux: dirname.basename命令详解 原文:http://blog.sina.com.cn/s/blog_3f63916f010143vo.html 一.dirname指令 1.功能 ...