今天才知道css hack是什么

先来个冷笑话:一晚下班回家,一民警迎面巡逻而来。突然对我大喊:站住! 民警:int类型占几个字节? 我:4个。 民警:你可以走了。 我感到很诧异。
我:为什么问这样的问题? 民警:深夜还在街上走,寒酸苦逼的样子,不是小偷就是程序员

作为一个后端程序员,之前知道的css都是皮毛,因为有专业的美工帮我们做静态页面,我们只需要做好页面数据填充,专心写逻辑代码。现在有一种想去从事web前端开发了,尽管知道一些js的主要概念,原型,原型链,上下文,闭包之类的,但貌似都不是很深入,想想还是先从css开始吧,有时候很简单的某些样式却总是写的很痛苦。所以今天就看了css手册,点滴积累吧。

什么是css hack

  我自己的理解定义,就是针对不同的浏览器在对某些css属性做解析的时候出现的差异,我们去coding css这些差异的过程。看了css
hack知道有

  1.条件hack

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

<keywords>取值有
  

  lt 小于
  gt  大于
  gte 大于或等于
  lte 小于或等于
  ! 非
<version>取值有
可以是6/7/8/9...
例如 以下表示浏览器是小于ie7的:

1 <!--[if lt IE 7]>
2 <style>
3 .test2{width:100px;height:100px;background:blue}
4 </style>
5 <![endif]-->

以下例子是ie7的,这个是有效果的:

<!--[if IE 7]>
<style>
.test{color:red;}
</style>
<![endif]-->

2.属性级hack
代码如下:


#test{
color:#c30; /* For Firefox */
color:red\0; /* For Opera */
color:yellow\9; /* For IE8+ */
*color:blue; /* For IE7 */
_color:#ccc; /* For IE6 */
}

3.选择符级hack

* html .test{color:#090;}       /* For IE6 and earlier */
* + html .test{color:#ff0;} /* For IE7 */
.test:lang(zh-cn){color:#f00;} /* For IE8+ and not IE */
.test:nth-child(1){color:#0ff;} /* For IE9+ and not IE */

还有一点小知识是让一个内联元素可以设置宽高 目前知道有display:block/inline-block 或者设置position:absoulte或者设置float等
最后 -music

  白天总是很忙
  晚上总很慌
  都说前面有光
  谁能给谁方向
  看起来他和她似乎都很风光
  低头承认渺小不如坚强上场


  每天问问自己
  是否尽全力
  不学百般心机
  过程是奖励
  你一直站在光能照到的地方
  只要相信自己其实每个人都一样


  多一个人和你分享
  少一点难自己肩扛
  我们都是笨小孩但不忘挺起胸膛
  多一个人和你分享
  少一点难自己肩扛
  相信自己迟早会发光发亮


  每天问问自己
  是否尽全力
  不学百般心机
  过程是奖励
  你一直站在光能照到的地方
  只要相信自己其实每个人都一样

时间: 2024-10-09 20:41:15

今天才知道css hack是什么的相关文章

关于CSS Hack

由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS的解析认识不完全一样,导致生成的不是我们所需要的页面效果. 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,在不同的浏览器中也能得到我们想要的页面效果. 简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器.当然,我们也可以反过来利用CSS hack为不同版本的浏览

CSS hack方式

史上最全的CSS hack方式一览 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道一名好的前端,要尽可能不使用hack的情况下实现需求,做到较好的用户体验.可是啊,现实太残酷,浏览器厂商之间历史遗留的问题让我们在目标需求下不得不向hack妥协,虽然这只是个别情况.今天,结合自己的经验和理解,做了几个demo把IE6~IE10和其他标准浏览器的C

史上最全的CSS hack方式一览

做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道一名好的前端,要尽可能不使用hack的情况下实现需求,做到较好的用户体验.可是啊,现实太残酷,浏览器厂商之间历史遗留的问题让我们在目标需求下不得不向hack妥协,虽然这只是个别情况.今天,结合自己的经验和理解,做了几个demo把IE6~IE10和其他标准浏览器的CSS hack做一个总结,也许本文应

CSS Hack的一些知识

测试环境:Windows7 主要测试:IE6.IE7.IE8.Fire Fox3.5.6 次要测试:Chrome4.0.Opera10.10.Safari4.04.360浏览器3.1 为了能够让多个Hack在同一个例子里,现对实例页面做如下要求是: 1.左右有两个DIV分别是#menu,#content,字体颜色为白色.2.#menu高度500px,#content高度600px.3.#menu宽度200px,#content宽度是自适应(因为是自适应所以常用的加float的方法不能解决3pxB

各种css hack - 兼容性探测

CSS HACK:浏览器兼容的一些写法人一旦习惯了某些东西就很难去改,以及各种各样的原因,新的浏览器越来越多,而老的总淘汰不了.增长总是快于消亡导致了浏览器兼容是成了谈不完的话题.说到浏览器兼容,CSS HACK自然而然地被我们想起.今天,我们通常都有一个团队或者将有一个团队的人在一个公司里面做相同的事,需要我们有统一的规范来进行Coding,以方便维护.而解决兼容的方法就是(必须是,因为这才最容易有问题的)其中一个最重要的.要解决的规范之一. 在解决兼容方法上,想定出一个统一的规范,个人认为应

css hack IE兼容调试小结(Webstorm、VS2010),有图有真相,研究了一中午

练习了些CSS代码,发现IE各种不兼容,打算用css hack调试IE 6 7 8.网上搜了些方法,虽然可行,但webstorm和VS2010各种提示报错让人不爽,试了几个小时,最终结论如下: 1.只有IE6 7认那些乱七八槽的符号,可随便用一个(% ^ &之类都行),但大家习惯用*或+,如*.background,这样只有IE6 7才认.但是webstorm会把语法检查把上下行一起标错,看起来不爽,VS干脆就报错不让ctrl E D格式化. 2.!important虽然可用,但要注意顺序,且这

CSS Hack (各个浏览器兼容的问题)

写css样式的时候,恐怕最头疼的就是各个浏览器下的兼容性问题,即css hack,明明感觉应该是对的,但是就是出不来效果,我根据平时所接触的,总结一下关于兼容 性的技巧,希望可以对大家有所帮助…… CSS Hack的原理是什么 由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系.我们就可以根据这个来针对不同的浏览器来写不同的CSS. CSS Hack大致有3种表现形式,CSS类内部Hack.选择器Hack以及HTML头部引用(if IE)Hack,CSS Hack主要针

转 CSS hack:针对IE6,IE7,firefox显示不同效果

CSS hack:针对IE6,IE7,firefox显示不同效果 做网站时经常会用到,衡量一个DIV+CSS架构师的水平时,这个也很重要. 区别不同浏览器的CSS hack写法: 区别IE6与FF:         background:orange;*background:blue; 区别IE6与IE7:         background:green !important;background:blue; 区别IE7与FF:         background:orange; *back

让IE和Firefox兼容的CSS技巧集合css hack

CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. CSS技巧 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容不