Ẩn thanh cuộn ngang trên iframe?


110

Tôi cần ẩn thanh trượt ngang trên iframe bằng cách sử dụng css, jquery hoặc js.



iframe không nằm trên cùng một miền với trang mẹ.
nkcmr

tràn-y: ẩn; Không hoạt động trong Google Chrome, Safari và Opera. Hãy thử nó với jsfiddle.net/m5Btd/3
phangia2712

Câu trả lời:


208

Tôi khuyên bạn nên làm điều này với sự kết hợp của

  1. CSS overflow-y: hidden;
  2. scrolling="no" (cho HTML4)
  3. seamless="seamless"(đối với HTML5)*

* seamlessThuộc tính này đã bị xóa khỏi tiêu chuẩn và không có trình duyệt nào hỗ trợ.


.foo {
  width: 200px;
  height: 200px;
  overflow-y: hidden;
}
<iframe src="https://bing.com" 
        class="foo" 
        scrolling="no" >
</iframe>


9
Tôi đã tải ví dụ của bạn trên Chrome 15 và vẫn thấy các thanh cuộn.
Dan

61
Việc thêm scrolling="no"thuộc tính vào iframe dường như sẽ xóa các thanh cuộn trong Chrome.
Nick

2
@Nick Nó không xóa nó trên chrome ít nhất là trên máy tính của tôi. img339.imageshack.us/img339/6685/chromelj.png
l46kok

1
@ l46kok ảnh chụp màn hình của bạn không bao gồmscrolling="no"
Chase Florell

3
Lưu ý rằng thuộc tính dường như không được hỗ trợ bởi bất kỳ trình duyệt chính nào . caniuse.com/#feat=iframe-seamless
Liyali


15

Nếu bạn được phép thay đổi mã của tài liệu bên trong của bạn iframevà nội dung đó chỉ hiển thị bằng cửa sổ mẹ của nó, chỉ cần thêm CSS sau vào của bạn iframe:

body {
    overflow:hidden;
}

Đây là một ví dụ rất đơn giản:

http://jsfiddle.net/u5gLoav9/

Giải pháp này cho phép bạn:

  • Giữ cho bạn HTML5 hợp lệ vì nó không cần scrolling="no"thuộc tính trên iframe(thuộc tính này trong HTML5 đã không được dùng nữa).

  • Hoạt động trên hầu hết các trình duyệt sử dụng CSS tràn: hidden

  • Không cần JS hoặc jQuery.

Ghi chú:

Để không cho phép thanh cuộn theo chiều ngang, hãy sử dụng CSS này thay thế:

overflow-x: hidden;

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.