web端 css hack(一)

news/2024/7/7 7:34:29 标签: css

逢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 这样的需求,完全可以拍回去。


http://www.niftyadmin.cn/n/1733048.html

相关文章

将本地已有项目添加到gitee仓库中

陈拓 2021/09/16-2021/09/17 1. 创建gitee仓库hk-Console 新建 点击 仓库地址 https://gitee.com/linkdle/hk-console 2. 克隆hk-Console 我的系统克隆hk-Console到本地 git clone https://gitee.com/linkdle/hk-console.git 查看hk-console 进入目录hk-console cd hk-cons…

修改git commit的注释

2021/09/17-2020/09/17 在《将本地已有项目添加到gitee仓库中》 https://zhuanlan.zhihu.com/p/411306340 https://blog.csdn.net/chentuo2000/article/details/120345622 一文中我们已经发布(push)了几个项目到gitee仓库&#xff0c; 下面我们将远程的注释“海康NVR工具集…

01html基础

01_html 1 Mac中的快捷键 基础快捷键&#xff1a; command c 复制command v 粘贴command m 最小化当前窗口Shift command c 桌面环境打开Findercommand space 输入法切换fn F3 快速显示桌面command tab 切换应用程序command shift N 在打开Finder后快速建立文件夹command sh…

Oracle 用户数据字典 以及 查询表字段

http://www.blogjava.net/xiaohewoai/archive/2010/02/01/311532.html查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * f…

git上传修改过的代码和创建标签

2021/09/18-2021/12/27 在《将本地已有项目添加到gitee仓库中》 https://zhuanlan.zhihu.com/p/411306340 https://blog.csdn.net/chentuo2000/article/details/120345622 一文中我们已经发布(push)了几个项目到gitee仓库。 在《修改git commit的注释》 https://zhuanlan.…

extremetable+hibernate实现分页 关于结合hibernate后台数据分页和eXtremeTable分页功能的使用 ...

http://blog.csdn.net/tigerflower/archive/2006/08/22/1105036.aspxeXtremeComponents是一系列提供高级显 示的开源JSP定制标签。当前的包含 的组件为eXtremeTable&#xff0c;用于以表的形式显示数据。eXtremeTable提 供了一个很好的分页特性&#xff0c;但是如何结合hiberna…

text-align: justify;不能均匀分布问题

本文地址&#xff1a;http://www.cnblogs.com/veinyin/p/7617610.html 对于text-align来说&#xff0c;一般我们都是使用居中这个属性值&#xff0c;突然今天需要达到这样一个效果&#xff1a; 对&#xff0c;就是“上海活动”这四个字在所在的区域均匀分布 1 <li class&qu…

在树莓派计算模块CM4 eMMC上安装Ubuntu Desktop 21.04

陈拓 2021/09/29-2021/11/27 在不需要桌面的情况下可以安装Server版&#xff0c;节省空间&#xff0c;速度快。 在树莓派计算模块CM4 eMMC上安装Ubuntu Server 21.04_晨之清风-CSDN博客陈拓 2021/10/05-2021/10/051. 概述在《在树莓派计算模块CM4 eMMC上安装Ubuntu Desktop 21…