CSS Hack
关于ie6
的容器撑开。貌似
ie
下面有一个容器纵向撑开的问题。有时我们需要高度自适应。在
ie6
下,是没有固定高度这一个说法的,
height
就是相当于
min-height
(
ie6
下是没有
min-height
的)。因为容器会被内容的高度撑开从而自适应高度。所以只要设定了初始高度
height
,
ie6
的高度自适应很好实现。而在
ff
下就不能写死
height
,需要写
min-height
,但是
ie6
又不认
min-height
,这就陷入了矛盾中了。所以应该用一种
css hack
的方式写如
#header{width:600px;
min-height:50px;给ff和ie7看
_height:50px;给ie6看,且只有ie6看得懂
}
什么是css hack呢,就是针对不同的浏览器写不同的css代码还都写在一块。比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而firefox两个都不能认识。等等。
又有一个例子:
<style>
div{ background:green; /* for firefox */
*background:red; /* for IE6 IE7 */ }
</style>
这里显而易见的,ff将第二个css语句过滤掉了,所以是绿的。而ie6两个都能识别,但是因为先后顺序就是红的。
好像还有一个"\9"会被所有的ie浏览器识别而ff不行。
ie6下的min与max
我之前研究过一些css模板的代码。里面有一段是这么写的。
div#my_div {
background-color: red;
min-width: 100px;min-height: 100px; /*For ff and ie7+*/
max-width: 200px;max-height: 200px; /*For ff and ie7+*/
_height: 100px; /*For IE6 only min-height */
_width: 200px; /*For IE6 only min-width */
_height:expression(this.scrollHeight>200? "200px":"auto");/*For IE6 only max-height*/
_width: expression(this.scrollWidth > 200? "200px":"auto");/*For IE6 only max-width*/
}
这里就是css hack。前面两个其实就是max-width 和max-height的代码翻译,但是呢,这个expression是不怎么靠谱的,因为它不是万能的,因为在firefox和ie8+就有问题了,会不执行这些语句的。所以只有在ie6和ie7有用,但是呢ie7是支持min和max的,所以我们只要写给ie6看。就成了上面我们写的代码。但是呢,尽量还是不要expression,因为它很耗资源而且兼容性极差。
还有一些hack,如!important
。举个例子
.classA{ font-size: 68px !important; font-size: 12px }
在ff和ie7+里,会正确的解释!important,也就是字体会是68px,而在ie里面!important会被完全地忽略,也就是12px。很多人说ie6对!important是完全不支持的,实际不然。如果这样写
.classA{ font-size: 68px !important;}
.classA{font-size:12px}
那么ie6将正确执行!important,也就是68px。
分享到:
相关推荐
通过阅读“Css hack总结及其最佳用法,告诉你怎么运用hack,无懈可击的解决各个浏览器的样式兼容 - 毛绒猫猫 - 博客园.htm”这篇文章,你将能更深入地理解CSS Hack,并学会如何在实际项目中有效应用它们。
本文将对各浏览器的CSS Hack进行总结,主要关注如何解决CSS样式兼容问题。 首先,我们了解下主要的浏览器:IE(Internet Explorer)、Firefox、Chrome、Safari以及Opera。它们之间的兼容性问题主要源于对CSS规范的...
CSS Hack,全称为“CSS Hack技巧”,是一种针对不同浏览器对CSS样式解析差异而采取的解决策略。由于历史原因,尤其是Internet Explorer(IE)的不同版本在处理CSS时存在诸多不一致,开发者常常需要使用特定的语法...
CSS Hack是一种针对不同浏览器之间解析CSS规则差异的技术,目的是确保CSS样式在各个浏览器中的一致性。在网页设计中,由于各个浏览器(尤其是Internet Explorer的早期版本)对CSS的实现存在差异,导致开发者需要采取...
"区分ie6 7 8 FF 的css hack 日常总结"这个主题集中讨论了如何针对IE6、IE7、IE8以及Firefox等浏览器编写特定的CSS代码来实现跨浏览器的兼容性。 首先,让我们了解CSS Hack的基本概念。CSS Hack是指由于不同浏览器...
根据题目中的描述,我们可以总结出不同浏览器对于某些CSS Hack的识别特性: - **IE(Internet Explorer)**:IE能够识别`*`这个符号作为Hack的一部分。具体来说: - **IE6**能够识别`*`,但是不能识别`!important`...
在Web开发中,CSS Hack是一种解决不同浏览器对CSS样式解析不一致问题的方法。由于历史原因和技术差异,各种浏览器,尤其是IE系列和基于Webkit内核的浏览器,对CSS的解析和渲染方式有所不同,导致页面在不同浏览器上...
### 各种类型 CSS Hack:理解与应用 在网页设计与开发领域,兼容性问题一直是一大挑战。不同浏览器对CSS的支持程度不一,导致同样的代码在不同的浏览器中可能呈现出截然不同的效果。为了确保网站在多种浏览器下都能...
css hack 兼容性的总结与体会. IE6,IE7,IE8,IE9,firefox,apple,chrome等等浏览器的兼容性
**CSS Hack背景与浏览器阵型** CSS Hack的产生源于不同浏览器对CSS标准解析的不一致。在过去的几年中,浏览器市场主要分为两大阵营:IE阵型和Webkit阵型。IE阵型包括由微软开发的IE6、IE7、IE8、IE9,以及基于这些...
### 各主流浏览器CSS HACK列表详解 #### 一、引言 随着Web技术的发展与进步,浏览器兼容性问题一直是前端开发者关注的重点之一。由于不同浏览器对CSS的支持程度有所差异,为了确保网页能够在各种浏览器中正常显示,...
### CSS Hack针对WebKit核心浏览器(如Chrome与Safari)的应用详解 #### 一、引言 随着前端技术的发展,浏览器兼容性一直是开发者面临的重要问题之一。由于不同浏览器内核对CSS的支持程度存在差异,为了确保网页在...
为了确保网站能够在不同浏览器下正常显示,开发者需要使用特定的技术手段来解决这些问题,其中CSS Hack就是一种常用的方法。本文将详细介绍如何为Firefox以及IE6、IE7、IE8等浏览器编写CSS Hack。 ### CSS Hack定义...
### CSS Hack 经验分享:常见浏览器兼容性的处理 随着互联网技术的发展,浏览器之间的差异性逐渐成为前端开发者不得不面对的问题之一。特别是在早期的 Web 开发过程中,不同浏览器对 CSS 的支持程度参差不齐,导致...
### CSS教程之通用的CSS Hack简介 #### 一、引言 随着Web技术的发展与浏览器种类的增多,兼容性问题成为前端开发人员面临的一大挑战。为了解决不同浏览器对CSS支持程度不一的问题,开发者们发明了各种CSS Hack技巧...
### CSS Hack 大全 #### 一、CSS Hack 概述 CSS Hack 是一种特定的技术手段,用于在不同浏览器或浏览器的不同版本之间实现差异化的样式处理。由于各个浏览器对CSS的支持程度不同,开发者可能需要使用特定的方法来...
在本“上课用CSS实验总结”中,我们将深入探讨CSS(层叠样式表)的核心概念以及在实际项目中的应用。CSS是网页设计的关键技术之一,它负责定义网页内容的外观和布局,使得网页更具视觉吸引力并提高用户体验。在这个...