2010-10-20 26 views
108

Khi tôi sử dụng đoạn mã sau để tạo ra một iframe:"toàn màn hình" <iframe>

<iframe src="mypage.html" style="border: 0; width: 100%; height: 100%">Your browser doesn't support iFrames.</iframe> 

Iframe không đi tất cả các cách-một 10px trắng "border" bao quanh iframe. Làm thế nào tôi có thể giải quyết điều này?

Dưới đây là một hình ảnh của vấn đề:

Screenshot of site

Trả lời

81

body có lề mặc định trong hầu hết các trình duyệt. Thử:

body { 
    margin: 0; 
} 

trong trang có iframe.

+0

Hoàn hảo !!! làm việc như người ở! Cảm ơn nhiều!! – Trufa

+2

Tìm kiếm google 'reset css' –

+0

không hoạt động trên chrome – AlexVPerl

5

Impossible để nói mà không nhìn thấy một ví dụ sống, nhưng hãy thử đưa cả hai cơ quan margin: 0px

+0

hãy xem chỉnh sửa của tôi, cảm ơn bạn !! – Trufa

+0

@Trufa nó có thể là lề, nhưng nó cũng có thể là cái gì khác. Sử dụng tốt nhất giao diện "Bố cục" của Firebug để tìm ra –

+0

Cảm ơn bạn rất nhiều Pekka !!! anyway @kevingessner đóng đinh nó! – Trufa

2

Bạn có thể thử frameborder=0.

+0

Cảm ơn nhưng đó là "bên trong iframe" Tôi cần phải sửa đổi bên ngoài (Tôi không biết rằng cho đến khi @kevingessner trả lời) cảm ơn bạn !! – Trufa

4

Hãy thử thêm các thuộc tính sau:

scrolling="no" 
6

Sử dụng frameborder="0". Dưới đây là một ví dụ đầy đủ:

<iframe src="mypage.htm" height="100%" width="100%" frameborder="0">Your browser doesnot support iframes<a href="myPageURL.htm"> click here to view the page directly. </a></iframe> 
-2

Sử dụng mã này để thay thế của nó:

<frameset rows="100%,*"> 
     <frame src="-------------------------URL-------------------------------"> 
     <noframes> 
      <body> 
       Your browser does not support frames. To wiew this page please use supporting browsers. 
      </body> 
     </noframes> 
    </frameset> 
+7

Không còn được hỗ trợ trong HTML5 –

187

Để trang trải toàn bộ khung nhìn, bạn có thể sử dụng:

<iframe src="mypage.html" style="position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;"> 
    Your browser doesn't support iframes 
</iframe> 

Và hãy chắc chắn để thiết lập tỷ lệ lề của trang được đóng khung thành 0, ví dụ: body { margin: 0; }. - Thực ra, điều này không cần thiết với giải pháp này.

Tôi đang sử dụng thành công, với display:none và JS bổ sung để hiển thị khi người dùng nhấp vào điều khiển thích hợp.

+22

Câu trả lời này giải quyết cách tạo iframe chiếm toàn bộ màn hình –

+0

Bạn cũng có thể sử dụng [viewport-percent lengths] (http: // stackoverflow. com/a/27832759/2680216) .. –

+2

câu trả lời được chấp nhận không phù hợp với tôi. điều này đã làm. cảm ơn. – AlexVPerl

27

Bạn cũng có thể sử dụng viewport-percentage lengths để đạt được điều này:

5.1.2. Viewport-percentage lengths: the ‘vw’, ‘vh’, ‘vmin’, ‘vmax’ units

Chiều dài viewport-tỷ lệ có liên quan đến kích thước của ban đầu chứa khối. Khi chiều cao hoặc chiều rộng của khối chứa ban đầu được thay đổi, chúng được thu nhỏ cho phù hợp.

Trường hợp 100vh đại diện cho chiều cao của chế độ xem và tương tự như vậy 100vw thể hiện chiều rộng.

Example Here

body { 
 
    margin: 0;   /* Reset default margin */ 
 
} 
 
iframe { 
 
    display: block;  /* iframes are inline by default */ 
 
    background: #000; 
 
    border: none;   /* Reset default border */ 
 
    height: 100vh;  /* Viewport-relative units */ 
 
    width: 100vw; 
 
}
<iframe></iframe>

này được hỗ trợ trong hầu hết các trình duyệt hiện đại - support can be found here.

+2

Ngay tại đây là vàng! –

Các vấn đề liên quan