목차
 盒模型变了!!!
XML序言(prolog)可能会影响盒模型
由于改进bug而失效的Hack技巧
* html
下划线Hack
/**/注释Hack
由于增强功能而失效的Hack技巧
child选择符Hack
相邻选择符Hack
相邻选择符和first-child伪类选择符
俺的页面乱咧,咋办?
웹 프론트엔드 CSS 튜토리얼 IE7 beta2_CSS/HTML의 CSS 호환성

IE7 beta2_CSS/HTML의 CSS 호환성

May 16, 2016 pm 12:11 PM

当IE7 beta1推出的时候,我在第一时间对它作了个测试。当时发现它对CSS的支持几乎没有任何变化,着实失望了一阵。MS在最近推出了IE7 beta2,这次有了不少新的改进和变化。但这些改进和变化会导致一些原来正常网页出现布局错误或者原来可以使用的Hack技巧不再可用。MSDN在年初的时候把这些可能产生的问题罗列给开发者(这是原文),这里我把其中比较主要的问题简单地描述一下,希望能对大家有所帮助。

  注意,在IE7正版发布之前,以下提到所有内容都是有可能变化的。

 盒模型变了!!!

  这恐怕是会让那些使用Web标准建设大型网站的开发者感到背脊发凉的变化,不过不用太担心,主要的变化是在盒模型对溢出(overflow)内容的处理方法。

  假设有一个100px宽100px高的盒子,在这个盒子里放一个200px宽200px高的图片。目前IE的正理方法是自动把盒子“撑大”到200px见方。而IE7 beta2的处理方法和FF是一致的:盒子不变,溢出的部分在盒子外面被渲染。也就是说盒子的overflow值真正地使用了W3C的默认值“visible”。

  如果你现有的布局是依赖于IE的“自动撑开”,那么要小心,很可能会出现问题(特别是动态内容的网页)。

XML序言(prolog)可能会影响盒模型

  Oh,My GOD!又是盒模型!

  大家知道IE有两种渲染模式:Quirks Mode和Strict Mode。Quirks Mode基本上是非标准的,包括盒模型在内,它的渲染方式与W3C的标准有些出入。而Strick Mode基本上是标准的(反正都不是绝对标准也不是绝对不标准……)。IE6及以前版本会根据写在XHTML文档第一行(也只能是第一行)的DocType声明来选择渲染模式。如果发现了一个它能识别的DocType,比如XHTML Transitional或者XHTML Strict等等,它就使用Strict Mode来渲染。其他所有情况下都使用Quirks Mode。

  有些开发者为了显式地声明他们的XHTML文档是一个XML,会在文档的第一行(问题就在这里,它也必须在第一行)加上XML的序言(prolog)。比如:

<?xml version="1.0" encoding="gb2312"?>
로그인 후 복사

  虽然初衷是为了让文档更“标准”,但由于IE不认这行字,结果还是按Quirks Mode来渲染。

  IE7 beta2解决这个问题,它会跳过prolog来看检查DocType。所以可能会出现IE6及以下版本用Quirks Mode渲染而IE7 beta2用Strict Mode渲染的情况。

  其实这个问题容易解决,在现有的环境下,把prolog直接删掉就行了,实在是没什么大的用处。当然想装作在使用XHTML,事实上还是想用Quirks Mode的人可能得好好想个新办法了^_^

由于改进bug而失效的Hack技巧

* html

这是一个利用IE Bug的Hack,如下的写法只有IE会解析其中的内容:

* html{...}
로그인 후 복사
* html body{...}
로그인 후 복사

现在IE beta2将和大部队一起把它们忽略掉。

下划线Hack

这也是一个利用IE Bug的Hack,如下的写法只有IE会解析其中的内容:

.myclass{<br>
   min-height:300px;<br>
   <strong>_height:300px;<br>
</strong>}
로그인 후 복사

现在IE beta2将不再解析下划线开头的属性,但是会把它当作一个“用户自定义”属性。自定义属性并不能应用到表现上,但是它会存在于文档模型中,可以使用脚本来访问。(这个特性我还没有测试过)

/**/注释Hack

这是我最喜欢的Hack技巧之一了。如下的写法在Strict Mode下面会对IE6透明(IE5.x是会解析的),但是现在IE7 beta2将会解析它:

.myclass{<br>
   <strong>height/**/:300px;<br>
</strong>}
로그인 후 복사

由于增强功能而失效的Hack技巧

原来IE不支持以下写法,现在可以了:

child选择符Hack
html > body{<br>
   height:300px;<br>
}
로그인 후 복사
相邻选择符Hack
head + body{<br>
height:300px;<br>
}
로그인 후 복사
相邻选择符和first-child伪类选择符
head:first-child + body{<br>
height:300px;<br>
}
로그인 후 복사

这些都算不上什么坏消息,反正我从来不用这些Hack^_^

俺的页面乱咧,咋办?

  在MSDN的那篇文章上给出了一些解决方案,从我的角度来看都是些治标不治本、隔靴搔痒的方案。要不用JS来做CSS的工作,要不只针对IE来载入特定的CSS。所以建议大家:等!一等IE7的正式版,在正式版出来之前,什么都有可能变。二等伟大的CSS社区的牛牛们找出更多的Hack技巧。IE7不可能做得和FF一模一样,也不可能和IE6一模一样,反正总会有点不一样的,就利用那点不一样的东西来做Hack。

다양한 핵을 사용하는 것은 매우 무기력하지만 현실은 이렇습니다. 우리가 이 산업에 영향을 주려고 노력하는 동안 잘 적응해야 하기 때문에 몰래 중국인 이름을 딴 핵이 등장하는 것을 기대하고 있습니다.

화이팅!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Google 글꼴 변수 글꼴 Google 글꼴 변수 글꼴 Apr 09, 2025 am 10:42 AM

Google Fonts가 새로운 디자인 (트윗)을 출시 한 것을 볼 수 있습니다. 마지막 큰 재 설계와 비교할 때 이것은 훨씬 더 반복적 인 느낌이 듭니다. 차이를 간신히 말할 수 있습니다

HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법 HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법 Apr 11, 2025 am 11:29 AM

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

HTML 데이터 속성 안내서 HTML 데이터 속성 안내서 Apr 11, 2025 am 11:50 AM

HTML, CSS 및 JavaScript의 데이터 속성에 대해 알고 싶었던 모든 것.

Sass를 더 빨리 만들기위한 개념 증명 Sass를 더 빨리 만들기위한 개념 증명 Apr 16, 2025 am 10:38 AM

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

SVG에서 타탄 패턴을 생성하는 정적 사이트를 만드는 방법 SVG에서 타탄 패턴을 생성하는 정적 사이트를 만드는 방법 Apr 09, 2025 am 11:29 AM

타탄은 일반적으로 스코틀랜드, 특히 세련된 킬트와 관련된 패턴의 천입니다. tartanify.com에서 우리는 5,000 개가 넘는 타탄을 모았습니다

WordPress 테마에서 VUE 구성 요소를 빌드하는 방법 WordPress 테마에서 VUE 구성 요소를 빌드하는 방법 Apr 11, 2025 am 11:03 AM

Inline-Template 지시문을 사용하면 기존 WordPress 마크 업에 대한 진보적 인 향상으로 풍부한 VUE 구성 요소를 구축 할 수 있습니다.

당신이보고있는 동안, CSS 그라디언트가 더 좋아졌습니다 당신이보고있는 동안, CSS 그라디언트가 더 좋아졌습니다 Apr 11, 2025 am 09:16 AM

Lea Verou의 기능 목록을 주시 한 한 가지는 Conic-Gradient () Polyfill이 마지막 항목이었습니다.

정적 양식 공급자의 비교 정적 양식 공급자의 비교 Apr 16, 2025 am 11:20 AM

"정적 양식 공급자"라는 용어를 동전하려고합시다. 당신은 당신의 HTML을 가져옵니다

See all articles