program tip

HTML5 및 프레임 테두리

radiobox 2020. 10. 30. 07:52
반응형

HTML5 및 프레임 테두리


HTML5 문서에 iframe이 있습니다. 유효성을 검사 할 때의 속성 iframe frameBorder이 더 이상 사용되지 않고 대신 CSS를 사용 하라는 오류가 표시 됩니다.

frameBorder="0"IE에서 테두리를 제거하는 방법을 알아낼 수있는 유일한 방법 이었기 때문에 여기 에이 속성이 있습니다 border:none;. 운이없이 CSS를 사용해 보았습니다 . 이 문제를 해결할 수있는 방법이 있습니까?

감사.


HTML 5는 frameborder, scrolling, marginwidth 및 marginheight (HTML 4.01에서 지원됨)와 같은 속성을 지원하지 않습니다. 대신 HTML 5 사양은 seamless 속성을 도입했습니다. seamless 속성을 사용하면 포함 문서의 일부로 렌더링되는 것처럼 인라인 프레임이 표시 될 수 있습니다. 예를 들어 테두리와 스크롤바는 나타나지 않습니다.

MDN에 따르면

frameborder HTML5부터 사용되지 않음

1(기본값)은이 프레임 주위에 테두리를 그립니다. 이 값 0은이 프레임 주위의 테두리를 제거하지만 대신 CSS 속성 테두리를 사용하여 테두리를 제어해야합니다.

위의 인용문처럼 CSS로 테두리를 제거 해야 합니다.
인라인 ( style="border: none;") 또는 스타일 시트 ( iframe { border: none; }).

즉, .NET을 사용하지 않는 단일 iframe 제공 업체는없는 것 같습니다 frameborder="0". YouTube조차도 여전히이 속성을 사용하며 frameborder가 더 이상 지원되지 않을 때 iframe을 이전 버전과 호환되도록하는 스타일 속성도 제공하지 않습니다. 속성이 곧 아무데도 가지 않을 것이라고 말하는 것이 안전합니다. 이렇게하면 3 가지 옵션이 있습니다.

  1. 계속 사용하여 frameborder작동하는지 확인하십시오 (당분간).
  2. CSS를 사용하여 "올바른"작업 수행
  3. 둘 다 사용하십시오. 이렇게해도 비 호환성 문제가 해결되지는 않지만 (옵션 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에 대상 속성을 붙여서 자바 스크립트로 유효성 검사기를 "속이는"기술에 대해 동일한 방법을 사용하는 것은 <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에서 아무것도 작동 하지 않는다는 것을 의미하는 작업을 수행했기 때문에 이것을 테스트하지 않았습니다 . :) 그래서 내가 그것을 분류하는 동안 ... :)


여기 에서 IE7 에서 작동 할 수있는 좋은 방법을 찾았 습니다 . frameBorder 속성에 대한 유효성 검사기를 우회하지만 게시물에 설명 된대로 향후 브라우저를 위해 CSS를 유지합니다.


style="border:none; scrolling:no; frameborder:0;  marginheight:0; marginwidth:0; "

참고 URL : https://stackoverflow.com/questions/3601273/html5-and-frameborder

반응형