2012-04-11 34 views

Trả lời

8

Nếu bạn đang sử dụng truy vấn phương tiện, chỉ áp dụng quy tắc bên dưới phần tử nội dung có lớp 'đáp ứng'.

@media screen and (max-width: 320px) { 
    body.responsive { 
    color: blue; 
    } 
} 

Nếu người dùng không muốn xem bố cục đáp ứng, chỉ cần xóa lớp 'đáp ứng' khỏi phần tử nội dung, hủy bỏ tất cả các quy tắc. Bạn có thể duy trì tùy chọn người dùng theo cookie hoặc một số phương pháp khác.

Demo: http://jsbin.com/obaquq/edit#javascript,html

Giảm cửa sổ để không quá 500px sẽ biến các văn bản trắng, và màu xanh nền. Điều này là có điều kiện trên cơ thể có lớp 'đáp ứng'. Nhấp vào đoạn đầu tiên sẽ chuyển đổi lớp này, và do đó chuyển đổi các hiệu ứng của chính truy vấn phương tiện đó.

+0

Đây là câu trả lời hoàn hảo. Vì vậy, bạn có nói rằng tôi nên sử dụng một cái gì đó như jQuery để xem nếu nó là một thiết bị di động, sau đó thêm các lớp đáp ứng? Hay làm theo cách khác? –

+0

@NicHubbard Tôi sẽ bắt đầu theo mặc định với trang web đáp ứng, nghĩa là, tải lớp 'responsive' trên cơ thể theo mặc định. Mọi người chọn không tham gia trải nghiệm đáp ứng. – Sampson

+2

@NicHubbard Sau đó, sử dụng truy vấn phương tiện truyền thông của bạn để chỉ hiển thị liên kết "Toàn Trang web" trên màn hình nhỏ hơn, liên kết sẽ xóa lớp 'đáp ứng' –

1

Chưa thử điều này, nhưng tự mình nghĩ về vấn đề này. Tôi tưởng tượng bạn có thể sử dụng trình chuyển đổi biểu định kiểu để tắt biểu định kiểu phản hồi chính, để người dùng có phiên bản đầy đủ

Bản định kiểu chuyển đổi chắc chắn không phải là một khái niệm mới. Đây là bài viết cho ALA vào khoảng năm 2001 giải quyết các bảng định kiểu chuyển đổi: http://www.alistapart.com/articles/alternate/

2

Tôi đã tự hỏi về điều này. Tôi đã thành công bằng cách sử dụng jQuery để sửa đổi thẻ viewport, dường như làm việc khá tốt từ những gì tôi có thể nói cho đến nay. Không yêu cầu nhiều bảng định kiểu hoặc nhiều CSS phụ.

http://creativeandcode.com/responsive-view-full-site/

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