IE9-下带有overflow属性的DIV被当作是其中positioned元素的父元素来决定定位_html/css_WEB-ITnose
例子:
<body style="margin: 0px;"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td style="height: 50px;"></td> </tr> <tr> <td> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td style="width: 50px;"></td> <td> <div id="divA" style="overflow: hidden; height: 100px; width: 100px; background-color: #000000;"> <div id="divB" style="position: absolute; left: 50px; height: 50px; width: 50px; top: 50px; background-color: #e0e0e0;">ABC</div> </div> </td> </tr> </table> </td> </tr> </table></body>
divA (黑色)设置了style.overflow = "hidden",在 IE9及以下浏览器中导致了其中的 divB (灰色,style.position = "absolute")按照divA而非body定位。请看截图。
IE9下的截图:
Chrome下的截图:
我想要的结果是Chrome下的,即divB按照body定位。可现在的情况是,实际项目中如果去掉divA的overflow属性,或是将divB拿出到divA外面去,都会导致大量工作量。现在有办法通过css或其他手段解决IE下的问题吗?
回复讨论(解决方案)
|
没有啊 我在ie9下显示正常啊
|
没有啊 我在ie9下显示正常啊
多谢关注。
我的问题是,灰色的DIV布局在IE9下是根据黑色DIV定位的,所以显示在黑色DIV的右下角;我希望的结果是其按body定位,即显示在黑色DIV的左上角,就在Chrome的那张截图一样。
在我的测试环境上IE7 8 9都有这个问题。
我这里没问题啊 是不是dtd什么不对啊
或者干脆用那个黑色的div定位吧 吧A的position设为relative B的left和top都为0试试
|
没有啊 我在ie9下显示正常啊
多谢关注。
我的问题是,灰色的DIV布局在IE9下是根据黑色DIV定位的,所以显示在黑色DIV的右下角;我希望的结果是其按body定位,即显示在黑色DIV的左上角,就在Chrome的那张截图一样。
在我的测试环境上IE7 8 9都有这个问题。
楼主请给页面加上DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
你现在的页面在IE开发模式下看浏览器模式中的文档模式肯定是“杂项”quirks模式。
不纠结了。决定换个solution做。感谢两位的回复。

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

웹 주석 기능에 대한 Y 축 위치 적응 알고리즘이 기사는 Word 문서와 유사한 주석 기능을 구현하는 방법, 특히 주석 간격을 다루는 방법을 모색합니다 ...

이미지를 클릭 한 후 주변 이미지를 산란 및 확대하는 효과를 얻으려면 많은 웹 디자인이 대화식 효과를 달성해야합니다. 특정 이미지를 클릭하여 주변을 만들 수 있습니다 ...

vue 응용 프로그램을 개발할 때 라우터 폴더 아래에 index.js 파일에 vuerouter를 등록해야 할 필요성이 있으면 종종 라우팅 구성에 문제가 발생합니다. 특별한...
