CSS响应式问题

如下图中的白色DIV,我想在电脑上浏览的时候(屏幕宽度大于1000PX)的时候,它的宽度为900PX。手机上看的时候宽度为90%。

没有用CSS框架,现在我就是用JS来判断屏幕宽度然后JS代码里设置CSS来控制这个DIV的宽度。

换成响应式该怎么写? 有什么CSS框架推荐吗?

clipboard.png

阅读 2.6k
2 个回答

使用CSS媒体查询

#element-id {
    width: 900px;
}
@media screen and (max-width: 1000px) {
    #element-id {
        width: 90%;
    }
}

css框架推荐(重量级的)Bootstrap和(轻量级的)Pure

<script type="text/javascript">
//判断访问终端
var browser={
    versions:function(){
        var u = navigator.userAgent, app = navigator.appVersion;
        return {
            trident: u.indexOf('Trident') > -1, //IE内核
            presto: u.indexOf('Presto') > -1, //opera内核
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
            mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
            iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf('iPad') > -1, //是否iPad
            webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
        };
    }(),
    language:(navigator.browserLanguage || navigator.language).toLowerCase();//检测浏览器语言
}

//browser.versions.trident返回真假,真则是IE内核,以此类推browser.versions.webKit是否为谷歌内核
//判断是否IE内核
if(browser.versions.trident){
    alert("is IE");
}

//判断是否webKit内核
if(browser.versions.webKit){
    alert("is webKit");
}

//判断是否移动端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){
    alert("移动端");
}

</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题