CSS优先级、引入方式、Hack
优先级
important > 内联(1,0,0,0) > id(1,0,0) > class(1,0) > element(1) > *通配符
css引入方式
方式一:在head里用link标签(推荐使用)
<link rel="stylesheet" href="xxx.css"> 方式二:在head里用style标签
<style> some css </style> 方式三:内联,在标签上用style
<div style=" some css "></div> 方式四:@import
@import url("xxx.css"); link和@import的区别:
1.兼容性:@import在IE5+支持,link全部支持
2.DOM样式操作:link(可被js改变),@import(不可被js改变)
3.加载顺序:@import必须放在最顶部,和link混用时破坏并行加载,link阻断@import,多个@import不同于预期加载顺序
Hacks
转自:梦想天空
IE选择器 Hack
/* IE 6 and below */
* html .selector {}
.suckyie6.selector {} /* .suckyie6 can be any unused class */ /* IE 7 and below */
.selector, {} /* IE 7 */
*:first-child+html .selector {}
.selector, x:-IE7 {}
*+html .selector {} /* Everything but IE 6 */
html > body .selector {} /* Everything but IE 6/7 */
html > /**/ body .selector {}
head ~ /* */ body .selector {} /* Everything but IE 6/7/8 */
:root *> .selector {}
body:last-child .selector {}
body:nth-of-type(1) .selector {}
body:first-of-type .selector {}
IE属性/值 Hack
/* IE 6 */
.selector { _color: blue; }
.selector { -color: blue; } /* IE 6/7 - acts as an !important */
.selector { color: blue !ie; }
/* string after ! can be anything */ /* IE 6/7 - any combination of these characters:
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > | */
.selector { !color: blue; }
.selector { $color: blue; }
.selector { &color: blue; }
.selector { *color: blue; }
/* ... */ /* IE 8/9 */
.selector { color: blue\0/; }
/* must go at the END of all rules */ /* IE 8/9 */
.selector { color: blue\0/; }
/* must go at the END of all rules */ /* IE 9/10 */
.selector:nth-of-type(1n) { color: blue\9; } /* IE 6/7/8/9/10 */
.selector { color: blue\9; }
.selector { color/*\**/: blue\9; } /* Everything but IE 6 */
.selector { color/**/: blue; }
IE Media Query Hack
/* IE 6/7 */
@media screen\9 {} /* IE 8 */
@media \0screen {} /* IE 9/10, Firefox 3.5+, Opera */
@media screen and (min-resolution: +72dpi) {} /* IE 10+ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {} /* IE 6/7/8 */
@media \0screen\,screen\9 {} /* IE 8/9/10 & Opera */
@media screen\0 {} /* IE 9/10 */
@media screen and (min-width:0\0) {} /* Everything but IE 6/7/8 */
@media screen and (min-width: 400px) {}
IE Javascript Hack
/* IE 6 */
(checkIE = document.createElement("b")).innerHTML = "<!--[if IE 6]><i></i><![endif]-->";
var isIE = checkIE.getElementsByTagName("i").length == 1; /* IE 7 */
(checkIE = document.createElement("b")).innerHTML = "<!--[if IE 7]><i></i><![endif]-->";
var isIE = checkIE.getElementsByTagName("i").length == 1;
navigator.appVersion.indexOf("MSIE 7.")!=-1 /* IE <= 8 */
var isIE = '\v'=='v'; /* IE 8 */
(checkIE = document.createElement("b")).innerHTML = "<!--[if IE 8]><i></i><![endif]-->";
var isIE = checkIE.getElementsByTagName("i").length == 1; /* IE 9 */
(checkIE = document.createElement("b")).innerHTML = "<!--[if IE 9]><i></i><![endif]-->";
var isIE = checkIE.getElementsByTagName("i").length == 1; /* IE 10 */
var isIE = eval("/*@cc_on!@*/false") && document.documentMode === 10; /* IE 10 */
var isIE = document.body.style.msTouchAction != undefined;
Firefox 浏览器
选择器Hack /* Firefox 1.5 */
body:empty .selector {} /* Firefox 2+ */
.selector, x:-moz-any-link {} /* Firefox 3+ */
.selector, x:-moz-any-link; x:default {} /* Firefox 3.5+ */
body:not(:-moz-handler-blocked) .selector {} 媒体查询 Hack /* Firefox 3.5+, IE 9/10, Opera */
@media screen and (min-resolution: +72dpi) {} /* Firefox 3.6+ */
@media screen and (-moz-images-in-menus:0) {} /* Firefox 4+ */
@media screen and (min--moz-device-pixel-ratio:0) {} Javascript Hack /* Firefox */
var isFF = !!navigator.userAgent.match(/firefox/i); /* Firefox 2 - 13 */
var isFF = Boolean(window.globalStorage); /* Firefox 2/3 */
var isFF = /a/[-1]=='a'; /* Firefox 3 */
var isFF = (function x(){})[-5]=='x';
Chrome浏览器
选择器 Hack /* Chrome 24- and Safari 5- */
::made-up-pseudo-element, .selector {} 媒体查询 Hack /* Chrome, Safari 3+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {} Javascript Hack /* Chrome */
var isChrome = Boolean(window.chrome);
Safari浏览器
选择器Hack /* Safari 2/3 */
html[xmlns*=""] body:last-child .selector {}
html[xmlns*=""]:root .selector {} /* Safari 2/3.1, Opera 9.25 */
*|html[xmlns*=""] .selector {} /* Safari 5- and Chrome 24- */
::made-up-pseudo-element, .selector {} 媒体查询Hack /* Safari 3+, Chrome */
@media screen and (-webkit-min-device-pixel-ratio:0) {} Javascript Hack /* Safari */
var isSafari = /a/.__proto__=='//';
Opera浏览器
选择器Hack /* Opera 9.25, Safari 2/3.1 */
*|html[xmlns*=""] .selector {} /* Opera 9.27 and below, Safari 2 */
html:first-child .selector {} /* Opera 9.5+ */
noindex:-o-prefocus, .selector {} 媒体查询Hack /* Opera 7 */
@media all and (min-width: 0px){} /* Opera 12- */
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {} /* Opera, Firefox 3.5+, IE 9/10 */
@media screen and (min-resolution: +72dpi) {} /* Opera, IE 8/9/10 */
@media screen {} Javascript Hack /* Opera 9.64- */
var isOpera = /^function \(/.test([].sort); /* Opera 12- */
var isOpera = Boolean(window.opera);
CSS优先级、引入方式、Hack的更多相关文章
- python 全栈开发,Day46(列表标签,表格标签,表单标签,css的引入方式,css选择器)
一.列表标签 列表标签分为三种. 1.无序列表<ul>,无序列表中的每一项是<li> 英文单词解释如下: ul:unordered list,“无序列表”的意思. li:lis ...
- 前端1-----CSS层叠样式表了解,css的引入方式,三大选择器(标签,类,id),高级选择器
前端1-----CSS层叠样式表了解,css的引入方式,三大选择器(标签,类,id),高级选择器 一丶CSS简介 叠样式表(英文全称:Cascading Style Sheets)是一种用来表现 ...
- Day46(列表标签,表格标签,表单标签,css的引入方式,css选择器)
一.列表标签 列表标签分为三种. 1.无序列表<ul>,无序列表中的每一项是<li> 英文单词解释如下: ul:unordered list,“无序列表”的意思. li:lis ...
- 前端(二)—— CSS的引入方式、长度与颜色单位、常用样式、选择器
CSS的引入方式.长度与颜色单位.常用样式.选择器 一.CSS的三种引入方式 1.行间式 <!doctype html> <html> <head> <met ...
- CSS的引入方式
再用HTML编写的文本中,有是没能达到我们想要的效果,此时此刻我们可以用过引用CSS来控制!这不仅使得效果好而且代码层次清晰.CSS的引入方式可以分为四类: 1.链入外部样式表,就是把样式表保存为一个 ...
- CSS的引入方式和样式
CSS的引入方式和样式 一.样式 行内样式 内接样式 外接样式(1.链接式 2.导入式) <!--行内样式--> <div> <p style="color: ...
- CSS的引入方式和复合选择器
CSS的引入方式 样式表 优点 缺点 范围 行内样式表 书写方便 结构样式混写 控制一个标签 内部样式表 部分结构和样式相分离 没有彻底 控制一个页面 外部样式表 完全实现结构和样式分离 需要引入 控 ...
- css样式引入方式,及常用设置标签样式
一. 三种样式引入方式 1. 内联式-直接写在div标签中,不推荐用 <div style="color:red;font-size:20px;font-family:'Micro ...
- CSS 从入门到放弃系列:CSS的引入方式
css的四种引入方式 内联方式(行间样式) <div style="width:100px;height: 100px; background-color: red"> ...
- 5.CSS的引入方式
CSS的三种样式表 按照CSS样式书写的位置(或者引入的方式),CSS的样式表可以分为三大类: 1.行内样式表(行内式) <div style="color:red: font-siz ...
随机推荐
- dedecms文章的更新时间问题 每次更改文章时间变成最新的
dedecms 每次更改文章,更新时间这里每次改了后再来看又变成当前最新时间的了. 解决方法: 查找后台目录的 templets/article_edit.htm 这个文件. 然后打开,查找如下代码: ...
- Scala学习笔记--Actor和并发
感谢博主lyrebing 博文地址:http://blog.csdn.net/lyrebing/article/details/20446061 1. Actor用法 1.1 Actor的基本使用 ...
- Intent系列讲解---Intent简介以及相关属性
一.Intent简介 Intent中文是"意图,意向",它是Android中四大组件通讯的纽带,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Androi ...
- lua好久没有用了
lua好久没有用了, 最近用python有点多,现在用web.py搞个简单的页面来作通讯录,没美工,很纯白的, 无聊啊,准备去睡了,刚刚百度完lua的一些资料呢, google用不了,真悲剧啊, TM ...
- cf Sereja and Array
http://codeforces.com/contest/315/problem/B #include <cstdio> #include <cstring> #includ ...
- Linux & Python 导航目录
< Python学习手册(第4版)>< Python Cookbook(第2版)>中文版.pdf< Python 高级编程>< Python 基础教程 第二版 ...
- cf437D The Child and Zoo
D. The Child and Zoo time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- Ubuntu mysql安装,还有可视化界面
安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install lib ...
- poj 1466 Girls and Boys(二分匹配之最大独立集)
Description In the second year of the university somebody started a study on the romantic relations ...
- (转)iOS7界面设计规范(5) - UI基础 - 导航
通过分页控件(page control)来暗示多个条目或内容视图的存在.该控件可以有效的向用户展示内容单元的数量,以及当前所见的这一条在队列中的位置.请参考分页控件一节,了解更多详情. 注意:虽然工具 ...