HTML5 문서에 iframe이 있습니다. 유효성을 검사 할 때의 속성 iframe frameBorder
이 더 이상 사용되지 않고 대신 CSS를 사용 하라는 오류가 표시 됩니다.
frameBorder="0"
IE에서 테두리를 제거하는 방법을 알아낼 수있는 유일한 방법 이었기 때문에 여기 에이 속성이 있습니다. 저는 border:none;
운없이 CSS를 사용해 보았습니다 . 이 문제를 해결할 수있는 방법이 있습니까?
감사.
답변
HTML 5는 frameborder, scrolling, marginwidth 및 marginheight (HTML 4.01에서 지원됨)와 같은 속성을 지원하지 않습니다. 대신 HTML 5 사양은 seamless 속성을 도입했습니다. seamless 속성을 사용하면 포함 문서의 일부로 렌더링되는 것처럼 인라인 프레임이 표시 될 수 있습니다. 예를 들어, 테두리와 스크롤바는 나타나지 않습니다.
frameborder
HTML5부터 사용되지 않음값
1
(기본값)은이 프레임 주위에 테두리를 그립니다. 이 값0
은이 프레임 주위의 테두리를 제거하지만 대신 CSS 속성 테두리를 사용하여 테두리를 제어해야합니다.
위의 인용문처럼 CSS로 테두리를 제거 해야 합니다.
인라인 ( style="border: none;"
) 또는 스타일 시트 ( iframe { border: none; }
).
즉, .NET을 사용하지 않는 단일 iframe 제공 업체는없는 것 같습니다 frameborder="0"
. YouTube조차도 여전히이 속성을 사용하며 frameborder가 더 이상 지원되지 않을 때 iframe을 이전 버전과 호환되도록하는 스타일 속성도 제공하지 않습니다. 속성이 곧 아무데도 가지 않을 것이라고 말하는 것이 안전합니다. 이렇게하면 3 가지 옵션이 있습니다.
- 계속 사용하여
frameborder
작동하는지 확인하십시오 (당분간). - CSS를 사용하여 “올바른”작업 수행
- 둘 다 사용하십시오. 이것이 비 호환성 문제를 해결하지는 못하지만 (옵션 1과 마찬가지로), 기존의 모든 브라우저에서 작동합니다.
이 10 년 된 답변의 이전 상태에 관해서는 :
이 seamless
속성은 짧은 시간 동안 (또는 일부 브라우저에서는 전혀 지원되지 않음) MDN이 더 이상 사용되지 않는 기능으로 나열하지도 않았습니다. 그것을 사용하지 말고 아래 설명에 혼동하지 마십시오.
답변
여기에 있는 다른 게시물 에 따라 가장 좋은 해결책은 CSS 항목을 사용하는 것입니다.
style="border:0;"
답변
때문에 frameborder
속성이 IE에만 필요, 발리를 해결하기 위해 또 다른 방법이있다. 이것은 자바 스크립트 나 DOM 조작이 필요없는 가벼운 방법입니다.
<!--[if IE]>
<iframe src="source" frameborder="0">?</iframe>
<![endif]-->
<!--[if !IE]>-->
<iframe src="source" style="border:none">?</iframe>
<!-- <![endif]-->
답변
이것은 작동합니다
iframe{
border-width: 0px;
}
답변
XHTML에 대상 속성을 붙여 Javascript로 유효성 검사기를 “속이는”기술에 대해 동일한 방법을 사용하는 것은 <a onclick="this.target='_blank'">
어떻습니까?
- onsomething = “this.frameborder = ‘0’”
<iframe onload = " this.frameborder='0' " src="menu.html" id="menu"> </iframe>
또는 getElementsByTagName]("iframe")
1 페이지에있는 모든 iframe을이 속성을 추가?
IE에서 아무것도 작동 하지 않는다는 것을 의미하는 작업을 수행했기 때문에 이것을 테스트하지 않았습니다 . 🙂 그래서 내가 그것을 분류하는 동안 … 🙂