请问一个页面显示的有关问题

请教一个页面显示的问题
现在网页不仅在电脑上的浏览器上显示,而且还在手机,ipad上显示。在很多情况下,手机上看到的网页和在电脑上看到的网页布局是不同的。但内容是一样的。想问的是:
1)为了实现这个功能,是不是就一个html,但通过两个css来分别对应pc和移动设备?
2)页面又是怎么来分辩打开它的是pc还是移动设备?
3)以及怎么来调用不同的css?
------解决方案--------------------
你可以写不同的样式来区分电脑和移动端,利用js判断电脑或者移动端来加载不同的样式

你也可以单独分隔开来,电脑端和移动端文件分别在不同文件夹,然后通过判断来做url转向

例如
function fBrowserRedirect(){  
    var sUserAgent = navigator.userAgent.toLowerCase();  
    var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";    
    var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";  
    var bIsMidp = sUserAgent.match(/midp/i) == "midp";  
    var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";  
    var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";  
    var bIsAndroid = sUserAgent.match(/android/i) == "android";  
    var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";  
    var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";  
    if(bIsIpad){  
        var sUrl = location.href;      
        if(!bForcepc){  
            window.location.href = "http://ipad.mail.163.com/";  //转向pad对应网址
        }  
    }  
    if(bIsIphoneOs 
------解决方案--------------------
 bIsAndroid){  
        var sUrl = location.href;      
        if(!bForcepc){  
            window.location.href = "http://smart.mail.163.com/";  //转向手机对应网址
        }  
    }  
    if(bIsMidp
------解决方案--------------------
bIsUc7
------解决方案--------------------
bIsUc
------解决方案--------------------
bIsCE
------解决方案--------------------
bIsWM){  
        var sUrl = location.href;      
        if(!bForcepc){  
            window.location.href = "http://m.mail.163.com/";  
        }  
    }  
}  

------解决方案--------------------
使用浮动或者使用css媒体查询来实现