찾다
웹 프론트엔드CSS 튜토리얼IE7 beta2_CSS/HTML의 CSS 호환성

当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으로 문의하세요.
Flexbox vs Grid : 둘 다 배워야합니까?Flexbox vs Grid : 둘 다 배워야합니까?May 10, 2025 am 12:01 AM

예, YoushouldLearnbothflexBoxAndgrid.1) FlexBoxisIdealforone-Dimensional, FlexiblelayoutSlikenavigationMenus.2) GridexCelsIntwo-Dimensional, ComplexDesignsSuchasmagazinElayouts.3) 결합 된 BothenSlayoutFlexibility 및 HeartingFortructur

궤도 역학 (또는 CSS 키 프레임 애니메이션을 최적화하는 방법)궤도 역학 (또는 CSS 키 프레임 애니메이션을 최적화하는 방법)May 09, 2025 am 09:57 AM

자신의 코드를 리팩터링하는 것은 어떤 모습입니까? John Rhea는 자신이 쓴 오래된 CSS 애니메이션을 선택하고 최적화하는 사고 과정을 살펴 봅니다.

CSS 애니메이션 : 만들기가 어렵습니까?CSS 애니메이션 : 만들기가 어렵습니까?May 09, 2025 am 12:03 AM

cssanimationsarenherinly에 hardbutreepracticenderstandingofcsspropertiesandtimingflestions.1) startsimpleants withsimpleatslikeScalingabuttononHoverusingKeyframes.2) useAsingfuctionslikecubic-bezierfornateffects, 그러한 분위기, 3)

@keyframes CSS : 가장 많이 사용되는 트릭@keyframes CSS : 가장 많이 사용되는 트릭May 08, 2025 am 12:13 AM

@keyframesispopularduetoitstativerstatility 및 powerincreatingsmoothcssanimations.keytricksinclude : 1) states 사이에 moothtransitionsbettites, 2) 애니메이션 multiplepropertiessimultory, 3) vendorPixesforBrowsercompatibility, 4) 빗질을 사용하여

CSS 카운터 : 자동 번호 매기기에 대한 포괄적 인 안내서CSS 카운터 : 자동 번호 매기기에 대한 포괄적 인 안내서May 07, 2025 pm 03:45 PM

csScounterSearedTomanageAutomaticNumberingInberingInwebDesigns.1) 1) theCanbeusedfortablestoffContents, ListItems 및 CustomNumbering.2) AdvancedUsesInSinestedNumberingsystems.3) CreativeUseNvolvecust를 CreativeSinvolecust.4) CreativeSinvolvecust

스크롤 구동 애니메이션을 사용한 현대 스크롤 그림자스크롤 구동 애니메이션을 사용한 현대 스크롤 그림자May 07, 2025 am 10:34 AM

특히 모바일 장치에 스크롤 그림자를 사용하는 것은 Chris가 이전에 다룬 미묘한 UX입니다. Geoff는 애니메이션 타임 라인 속성을 사용하는 새로운 접근 방식을 다루었습니다. 또 다른 방법이 있습니다.

이미지 맵 재 방문이미지 맵 재 방문May 07, 2025 am 09:40 AM

빠른 새로 고침을 통해 실행합시다. 이미지 맵은 html 3.2로 돌아가는데, 먼저 서버 측 맵과 클라이언트 측지 맵은 맵 및 영역 요소를 사용하여 이미지를 통해 클릭 가능한 영역을 정의했습니다.

DEVS 상태 : 모든 개발자를위한 설문 조사DEVS 상태 : 모든 개발자를위한 설문 조사May 07, 2025 am 09:30 AM

Devs State Survey는 이제 참여에 개방되어 있으며, 이전 설문 조사와 달리 코드, 직장, 건강, 취미 등을 제외한 모든 것을 포함합니다. 

See all articles

핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

메모장++7.3.1

메모장++7.3.1

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