<!--[if IE]><style></style><![endif]-->
CSS hack就是为了让你的CSS代码兼容不同的浏览器,其中最难对付的就是IE浏览器的兼容性,因为它的版本很多,不过还好,微软发表声明已经不对IE8以下的版本进行维护了。但是我们也不能就认为不用学IE8之前版本的兼容性了。反过来,如果我想在IE浏览器中让元素表现出另外一种样式,我也可以通过CSS hack来实现,所以这招人烦的IE兼容性也可以为自己所用。总之,多学点没有坏处。
CSS hack通常分为 条件Hack、属性hack、选择符hack。下面一一来介绍:
1、条件hack::
表现形式:
<!--[if lte IE 6]>
<style type="text/css">
div{color:red;}
</style>
<![endif]-->.
这是一个选择语句,只不过是在特定浏览器下执行。这个语句表明在IE6及6以下版本的IE浏览器中,div中字体的颜色是红色。其中lte表示 Less than or equal to(小于或等于)的简写。既然有小于等于那也可能会有greater or equal to大于等于(gte),gt(大于);lt(小于);如果我想表示样式只对某个版本的IE浏览器才有效,这个语句又该怎么写呢?下面这个语句表明只有在IE8版本的IE浏览器下,div的背景颜色为#ccc;
<!--[if IE 8]>
<style type="text/css">
div{background:#ccc;}
</style>
<![endif]-->
那如果我想表示除了某个版本IE浏览器,其余的浏览器都能表现这个样式又该怎么写呢?
<!--[if ! IE 8]>
<style type="text/css">
div{box-sizing:content-box;}
<style>
<![endif]-->
表明除了IE8之外的所有IE浏览器中,div所占页面的实际尺寸的计算是content+padding*2+border*2;
2、属性hack::
属性hack是指通过只有自己才能识别的出的符号添加在属性的前面,比如,
IE都能识别* 标准浏览器(例如火狐)不能识别*
IE6能识别*,但不能识别 !important
IE7能识别*,也能识别 !important
火狐不能识别*,但能识别!important
只有IE6能识别下划线“_”;
只有IE7能识别 *+
element{_color:#f7f7f7f;}只有IE6能识别,所以在IE6中字体颜色为#f7f7f7;
element{*color:#f7f7f7;}IE6和IE7都能识别;
element{color:red !important;}IE7和火狐浏览器能识别;
3、选择符hack
*+element{color:red;}只有IE7才能识别;
<!--[if IE]><style></style><![endif]-->的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- linux下的硬盘分区、格式化、挂载
linux下的MBR(msdos)分区.格式化.挂载 在linux下,需要使用一块硬盘. 需要进行以下四步: 识别硬盘-----分区规划-----格式化-----挂载 步骤一:分区规划 MBR模式分区 ...
- 【行业Tip】三电是什么
电动汽车的"三电"是指:电池.电机.电控.
- php 23种设计模型 - 抽象工厂模式
抽象工厂模式(AbstractFactory) 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂的工厂.这种类型的设计模式属于创 ...
- 完全激活win server 2012的方法(亲测可行!)
1.从微软官网下载评估版. 2.运行->CMD(最好以管理员身份运行)->输入"DISM /online /Get-CurrentEdition"(最好直接复制粘贴,然 ...
- 08 Java的方法 方法的定义
2.方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: **方法包含一个方法头和一个方法体.**下面是一个方法的所有部分: 修饰符 ...
- MongoDB 事务机制
MongoDB 从4.0 版本开始 副本集支持多文档事务,4.2 版本开始分片集群也支持多文档事务.单个集合的单个文档事务 在 1.x 就支持. 以下是跟 mongo 事务相关的一些概念: 1. Wr ...
- 常用的dos指令
•常用的DOS指令 dir:列出当前目录下的文件及文件夹 md:创建文件 rd:删除文件 cd:进入指定目录 cd..:退回到上一级目录 cd\:退回到根目录 del:删除文件 exi ...
- ubuntu20 源码安装nginx以及常用命令
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 ubuntu下安装nginx 个人建议还是不要自己apt-get安装,反正最后加模块还是得用源码编译安装那一套流程 下的慢的该换源换源,该换网换网 ...
- 6月20日 Django中ORM介绍和字段、字段参数、相关操作
一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...
- CF786B/CF787D Legacy
题目描述: luogu cf cf 题解: 最短路+线段树优化建图. 考虑本题的边是点->点.段->点和点->段,我们可以建线段树然后拆成入点和出点. 入点:儿子->父亲,边权 ...