css hack解决浏览器的兼容性问题_黄不逗的博客-程序员宅基地

技术标签: CSS  Html  

概念

 CSS Hack用来解决浏览器的兼容性问题,为不同版本的浏览器定制编写不同的CSS效果,使用每个浏览器单独识别的样式代码,控制浏览器的显示样式。
Hack分类
1. CSS属性前缀法
2. 选择器前缀法
3. IE条件注释法

CSS属性前缀法

属性前缀法是在CSS样式属性名前加上一些只有特定浏览器才能识别的hack前缀,以达到预期的页面展现效果。
在这里插入图片描述

.box{
     width:100px; height:100px; background: red; _background:blue;}

注意\9、\0的写法

.box{
     width:100px; height:100px; background: red; background:blue\9;}
.box{
     width:100px; height:100px; background: red; background:blue\0;} 

选择器前缀法

选择器前缀法是针对一些页面表现不一致或者需要特殊对待的浏览器,在CSS选择器前加上一些只有某些特定浏览器才能识别的前缀进行hack。

在这里插入图片描述

 *html .box{
     width:100px; height:100px; background:red;} 

IE条件注释法

这种方式是IE浏览器专有的Hack方式,微软官方推荐使用的hack方式。
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!--[if gte IE 7]>
    <div class="box"></div>
    <![endif]-->
</body>

</html>

body部分中注释, 如果不是对应的IE版本浏览器不会识别的。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45172119/article/details/107043841

智能推荐

JAVA字符串格式化-String,面试前必看的一本书书籍_普通网友的博客-程序员宅基地

System.out.println(str);str=String.format(“Hi,%s:%s.%s”, “王南”,“王力”,“王张”);System.out.println(str);System.out.printf(“字母a的大写是:%c %n”, ‘A’);System.out.printf(“3&gt;7的结果是:%b %n”, 3&gt;7);System.out.printf(“100的一半是:%d %n”, 100/2);System.out.printf(“100的16

源码分析:Spring是如何跟JDK动态代理结合_talk.push的博客-程序员宅基地

在spring的AOP实现中有两种代理方式,cglib和jdk动态代理,关于两者的区别我觉得已经面试面的烂掉了,这里分析下源码中如何去对目标方法进行拦截,又是如何执行前置、后置这些Advice拦截的。

整合Spring与Hiberante3方法总结-----供参考_wenzhihui_2010的博客-程序员宅基地

最近做项目,第一次整合spring、hibernate、struts,这里收集点资料,做下参考。学j2ee的都知道,在Spring中整合Hibernate也算是需要掌握的基础知识了,整合的过程比整合Struts相对来说要简单许多,我们要实现的目标是整合,思路就是让spring容器来管理SessionFactory,这样就可以使用Spring的声明式事务了。在 Spring 中配置 Sess

ipv6双向网关_IPv4_IPv6转换网关·····_第四根肋骨的博客-程序员宅基地

IPV4/IPV6转换网关的研究与设计摘要:随着计算机网络应用的飞速进步,现有的IP通信协议(IPv4协议)已展现出众多的问题,如不能适应新的网络应用、地址资源即将耗尽以及对安全性无法保证等。IPv6是继IPv4后出现的新一代通信协议,它的出现为互联网的发展带来了新契机。IPv6的众多优势成为取代IPv4必然的发展。本文从IPv6协议本身出发,阐述了IPv6协议及其与IPv4协议的比较,对目前现有...

linux系统被***后处理经历_weixin_33888907的博客-程序员宅基地

原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://lizhenliang.blog.51cto.com/7876557/1769028背景操作系统:Ubuntu12.04_x64运行业务:公司业务系统,爬虫程序,数据队列。服务器托管在外地机房。突然,频繁收到一组服务器ping监控不可达邮件,赶紧登陆zabbi...

datagrid wpf 刷新数据_WPF DataGrid多线程更新数据显示_yangyang0508的博客-程序员宅基地

DataGrid的数据源的加载需要大量IO操作,不可能等数据全部读取之后才显示到UI上。由于对WPF数据绑定不很熟悉,对ObserveCollection等内容没有太多时间去研究,只能用一些取巧的办法了。设置DataGrid的数据源,只要修改ItemsSource属性就可以了,如下:List dataList = newList()datagrid1.ItemsSource= dataList;但...

随便推点

初学者应该先学c还是c++还是Java?_二十一世紀難民的博客-程序员宅基地_先学c语言还是java好

在架构师里面,有一个共识,所有的编程语言,其实思想是相通的。作为一位初学者,可能不能马上领悟到这句话的意思,但是千里之行,始于足下,当你真正去尝试了,走了一段路,你再回头看,会有不同的感觉。回到你的问题,其实三者都可以,因为学会了其中一门,再自己去学其他语言,整个跨度就没有那么大了。从市场的反馈来看,Java 会比较热门,各大招聘网站都有相当的缺口,优秀的Java工程师,是走到哪个地方都炙手可热的。当你成功实现了目标,更好地完善自己,同时实现了自己的社会价值,你所看所想将完全不一样,周围的人也能跟你分享相同

Sql Server关于权限、角色以及登录名、用户名的总结_lusklusklusk的博客-程序员宅基地_sqlserver常用用户名

官方文档https://docs.microsoft.com/zh-cn/sql/t-sql/statements/grant-transact-sql?view=sql-server-2017权限的一点总结1、实例级别的角色是固定的,就是public、sysadmin、securityadmin、serveradmin、setupadmin、processadmin、diskadmin、dbcreator、bulkadmin2、每个数据库拥有的角色不一样,msdb数据库中引入了SQLAgentUse

Oracle 技术杂记_快乐柠檬的博客-程序员宅基地

普通用户可以有的最高权限是dba。数据库本身的最高权限用户是sys。

DevexPress checkedit 多选解决方案(原创)_weixin_33912246的博客-程序员宅基地

网上的方法好复杂 要写很多代码 我这里教大家一个不用写任何代码的1。.数据内容直接为 True/False2。然后在 RunDesigner - Columns - 选中你要绑定的checkedit  - ColumnEdit 的+ 点下去 -  找到ValueChecked 选择 把默认的Boolean改成 String  去试试吧...

设备_weixin_33843947的博客-程序员宅基地

#include &lt;sys/types.h&gt;#include &lt;sys/sysctl.h&gt;- (NSString *) platform{size_t size;sysctlbyname(“hw.machine”, NULL, &amp;size, NULL, 0);char *machine = malloc(size);...

Laravel关闭CSRF验证_tboqi1的博客-程序员宅基地_关掉laravel的csrf验证

在Laravel5.2之后加入了CSRF验证在app/Http/Kernel.php文件中有如下配置:在这里插入图片描述全局关闭// \App\Http\Middleware\VerifyCsrfToken::class 1局部关闭打开VerifyCsrfToken类文件,找到以下:在这里插入图片描述假设你的路由是/login, 只需在此写入路由地址,即可跳过CSRF验证如下我想要api开头的路由都不做csrf验证,只需要添加 ‘api/*’ 就行了。————————...