Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css hasLayout块与hasLayout缩放_Css_Compass Sass_Haslayout - Fatal编程技术网

Css hasLayout块与hasLayout缩放

Css hasLayout块与hasLayout缩放,css,compass-sass,haslayout,Css,Compass Sass,Haslayout,我在浏览compass的在线参考资料时遇到了以下页面: 在这一页上,有两种方法可以实现IE的has布局破解。其中一种方法设置zoom:1其他集合显示:内联块,然后将其设置回显示:块再次 手册没有解释这两者之间的区别 有什么区别吗?在某些特定情况下,您是否更愿意使用其中一种方法?第一种方法: @mixin具有布局块{ @if$legacy对ie的支持{ //这使得ie6得到了布局 显示:内联块; //这又让它回到了方块 & { 显示:块;}} 将编译为以下内容: 选择器{ 显示:内联块; } 选

我在浏览compass的在线参考资料时遇到了以下页面:

在这一页上,有两种方法可以实现IE的has布局破解。其中一种方法设置
zoom:1其他集合
显示:内联块,然后将其设置回
显示:块再次

手册没有解释这两者之间的区别

有什么区别吗?在某些特定情况下,您是否更愿意使用其中一种方法?

第一种方法:

@mixin具有布局块{
@if$legacy对ie的支持{
//这使得ie6得到了布局
显示:内联块;
//这又让它回到了方块
& {
显示:块;}}
将编译为以下内容:

选择器{
显示:内联块;
}
选择器{
显示:块;
}
第二种方法是:

@mixin具有布局缩放功能{
@如果$legacy-support-for-ie6或$legacy-support-for-ie7{
*缩放:1;}}
将编译为以下内容:

选择器{
*缩放:1;
}
这两种方法都将成功地给出一个元素hasLayout,因此从这个角度来看,使用哪一个并不重要

第一个方法将通过,而第二个方法不会通过。然而,第二种方法的验证失败是完全没有问题的;使用的黑客是

我在任何地方都使用第二种方法,因为它比较短,不涉及两条规则


这真的不值得担心(IE6/7正在消亡),但如果你想了解更多信息,请阅读。

好的,谢谢。是的,我意识到IE6和IE7都在消亡,但仍有一些情况下我必须支持IE7,所以我尽我所能保持我的知识尽可能完整,至少直到我正式停止在任何网站上支持IE7为止。