2011-08-23 28 views
8

Tôi hiện có các tài liệu sau trong tài liệu HTML của mình.Cách sử dụng thuộc tính Media cho thiết bị cầm tay của thẻ HTML Link?

<link REL=StyleSheet HREF="/stylesheets/home.css" TYPE="text/css" MEDIA=screen> 
<link REL=StyleSheet HREF="/stylesheets/homedark.css" TYPE="text/css" MEDIA=handheld> 

Tuy nhiên, không có gì thay đổi trên thiết bị cầm tay (điện thoại Android của tôi). Có điều gì tôi đang làm sai, hay là nó không đơn giản như vậy?

Trả lời

10

Bạn sẽ cần phải sử dụng phương tiện truyền thông tiên tiến hơn truy vấn, chẳng hạn như những mục tiêu screen size

Vì vậy, một cái gì đó giống như

<link rel="stylesheet" href="/stylesheets/homedark.css" type="text/css" 
    media="screen and (max-device-width: 480px)"> 

Bên trong stylesheet của bạn, nó sẽ là một cái gì đó như thế này

@media only screen and (max-device-width: 480px) { 
    //Your styles here 
} 

http://www.w3.org/TR/css3-mediaqueries/

Simple JS phát hiện thiết bị có thể hữu ích:

if(navigator.userAgent.match(/Android/i) || 
    navigator.userAgent.match(/webOS/i) || 
    navigator.userAgent.match(/iPhone/i) || 
    navigator.userAgent.match(/iPod/i)){ 
    // link to stylesheet 
} 

Một việc khác còn tốt hơn để làm là sử dụng một số loại kết hợp ... phương tiện truyền thông truy vấn & phát hiện thiết bị/tính năng.

Đây là một cái nhìn tổng quan tốt: http://www.csskarma.com/presentations/cssla/slides/mobile_media_touch.pdf (Chú ý: file pdf)

-2

Có thể điện thoại của bạn không tự coi mình là thiết bị cầm tay theo bất kỳ tiêu chí nào W3C sử dụng cho cụm từ đó. Các trình duyệt di động hiện đại không khác với trình duyệt toàn màn hình và không ở đâu gần như bị giới hạn như các trình duyệt WAP ban đầu (vô ích) trong điện thoại di động. Thường không có nhu cầu thực sự để tạo ra một loại "cầm tay" như trình duyệt điện thoại là tốt hơn tại quyết định những gì/làm thế nào để hiển thị nội dung hơn so với trang web được.

+0

Vì vậy, cách tốt hơn để làm điều này là gì? Giả sử trang web của tôi sẽ được hiển thị tốt trên thiết bị di động (nó hiển thị không sao, nhưng tôi có một biểu định kiểu dành cho thiết bị di động được viết lên để dễ dàng duyệt) hoặc sử dụng một phương pháp khác để chọn biểu định kiểu? – muttley91

+0

Hầu hết các trang web sử dụng trình duyệt để tìm ra css để phục vụ. Bạn cũng có thể thực hiện một số quyết định thô dựa trên IP nguồn - điều này sẽ khiến người dùng di động sử dụng dữ liệu di động (nhưng không phải người dùng điện thoại thông minh trên wifi). –

+0

Twitter bootstrap sử dụng chiều rộng của thiết bị để xem thiết bị nào người dùng đang sử dụng. Bạn có thể kiểm tra điều này: http://twitter.github.com/bootstrap/scaffolding.html#responsive –

1

Theo w3schools các loại phương tiện cầm tay bị phản anyway. Bạn sẽ cần phải sử dụng các truy vấn phương tiện truyền thông để thực hiện những gì bạn muốn.

Rất tiếc, không có loại phương tiện nào cho "điện thoại". Khả năng quay số thực sự là sự khác biệt đặc biệt nhất.

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