bootstrap的响应式布局

css

ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
a{
    color: #666;
    text-decoration: none;
}
a:hover{
    text-decoration: none;
}
body{
    background: #f5f5f5;
}
.container{
    background: #fff;
}
/* 因为设计稿是1280px的,而bootstrap里面的container最大为1170px,因此我们手动修改container宽度 */
@media screen and (min-width:1280px){
    .container{
        width: 1280px;
    }
}
/* header */
/* 如果header不设置padding-left,它本身有一个左侧内边距,因为我们需要右侧内边距,所以不能使用.row的bootstrap类样式,所以可以用这种方式 */
header{
}
.logo{
    background-color: #429ad9;
}
.logo img{
    display: block;
    margin: 0 auto;
    /* width:100%; */
    max-width: 100%;
    /* logo图片不需要缩放 */
}
.logo p{
    height: 50px;
    font-size: 22px;
    text-align: center;
    line-height: 50px;
    color: #fff;
    margin: 0;
}
.nav{
    background: #eee;
    border-bottom: 1px solid #ccc;
}
/* 如果屏幕进入小屏幕时,让导航栏浮动横排 */
@media screen and (max-width:991px){
    .nav li{
        float: left;
        width: 20%;
    }
    article{
        margin-top: 10px;
    }
}
/* 如果屏幕进入超小屏幕时,让文字变小14px */
@media screen and (max-width:767px){
    .nav a{
        font-size: 14px!important;
        padding-left: 3px!important;
    }
    /* 让news第一个li宽度为100%,其他为50% */
    .news li:first-of-type{
        width: 100%!important;
    }
    .news li{
        width: 50%!important;
    }
}
.nav a{
    display: block;
    height: 50px;
    line-height: 50px;
    padding-left: 30px;
    font-size: 16px;
}
.nav a:hover{
    background: #fff;
    color: #222;
}
.nav a::before{
    vertical-align: middle;
    padding-right: 5px;
}
/* article news */
article{
    padding-right: 5px!important;
}
.news li{
    float: left;
    width: 25%;
    height: 128px;
    padding-right: 10px;
    margin-bottom: 10px;
}
.news li:first-of-type{
    width: 50%;
    height: 266px;
}
.news li:first-of-type p{
    font-size: 22px;
    line-height: 41px;
    padding:0 10px;
}
.news li a{
    display: block;
    height: 100%;
    width: 100%;
    position: relative;
}
.news li a img{
    height: 100%;
    width: 100%;
}
.news li a p{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 41px;
    font-size: 12px;
    color: #fff;
    margin: 0;
    padding:5px 10px;
    background: rgba(0, 0, 0, .5);
}
/* article publish */
.publish{
    padding-right: 10px;
}
.publish .row:first-of-type{
    border-top: 1px solid #666;
}
.publish .row{
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #666;
}
.pic img{
    width: 100%;
    margin-top: 10px;
}
/* aside */
aside{
    padding-right: 5px!important;
}
.asidepic{
    display: block;
    margin-bottom: 20px;
}
.asidepic img{
    width: 100%;
}
.hot{
    display: block;
    padding: 0 20px 0 20px;
    border: 1px solid #666;
}
.hot p{
    border-radius: 0;
    margin-bottom: 20px;
}

html

<!DOCTYPE html>
<html lang="en">

<head>
    <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="./css/index.css">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <!-- IE8 是被支持的。然而,很多 CSS3 属性和 HTML5 元素是不被支持的。例如,Bootstrap 的响应式布局是通过CSS3的媒体查询(Media Query)功能实现的,根据不同的分辨率来匹配不同的样式,IE8浏览器并不支持这一优秀的CSS3特性。Bootstrap在开发文档中已经明确指出, IE8 需要 Respond.js 配合才能实现对媒体查询(media query)的支持,其中 html5shiv.min.js 文件是让不(完全)支持html5的浏览器支持 html5 标签;respond.js 文件是让IE8实现对媒体查询(media query)的支持。
    但是,在IE8浏览器中打开页面发现,兼容性问题并没有得到解决(坑、坑、坑)。通过查阅相关资料,笔者总结几点注意事项(效果实现的关键):
    本地调试需要Web Server(如IIS、Apache,Nginx),单纯地本地打开文件不能看到兼容效果;
    如果你发现已经引用了 respond.js 和 Bootstrap,仍无效果,请查看你的Bootstrap是否使用了CDN文件;
    Bootstrap3 需要Html5文档声明;
    Jquery 版本需要在2.0以下。 -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
       <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <title>Document</title>
</head>

<body>
    <div class="container">
        <div class="row">
            <header class="col-md-2">
                <div class="logo">
                    <a href="#">
                        <!-- 如果进入超小屏幕,logo图片隐藏 -->
                        <img src="images/logo.png" alt="" class="hidden-xs">
                        <!-- 我们先准备一个盒子,在超小屏幕下显示盒子内容 -->
                        <p class="visible-xs">阿里百秀</p>
                    </a>
                </div>
                <div class="nav">
                    <ul>
                        <li><a href="#" class="glyphicon glyphicon-camera">生活馆</a></li>
                        <li><a href="#" class="glyphicon glyphicon-picture">自然汇</a></li>
                        <li><a href="#" class="glyphicon glyphicon-phone">科技潮</a></li>
                        <li><a href="#" class="glyphicon glyphicon-gift">奇趣事</a></li>
                        <li><a href="#" class="glyphicon glyphicon-glass">美食杰</a></li>
                    </ul>
                </div>
            </header>
            <article class="col-md-7">
                <!-- 新闻 -->
                <div class="news clearfix">
                    <ul>
                        <li>
                            <a href="#">
                                <img src="upload/lg.png" alt="">
                                <p>阿里百秀</p>
                            </a>
                        </li>
                        <li>
                            <a href="#">
                                <img src="upload/lg.png" alt="">
                                <p>阿里百秀阿里百秀阿里百秀阿里百秀阿里百秀阿里百秀</p>
                            </a>
                        </li>
                        <li>
                            <a href="#">
                                <img src="upload/lg.png" alt="">
                                <p>阿里百秀</p>
                            </a>
                        </li>
                        <li>
                            <a href="#">
                                <img src="upload/lg.png" alt="">
                                <p>阿里百秀</p>
                            </a>
                        </li>
                        <li>
                            <a href="#">
                                <img src="upload/lg.png" alt="">
                                <p>阿里百秀</p>
                            </a>
                        </li>
                    </ul>
                </div>
                <!-- 发表 -->
                <div class="publish">
                    <div class="row">
                        <div class="col-sm-9">
                            <h3>生活馆生活馆生活馆生活馆生活馆生活馆?</h3>
                            <p class="text-muted hidden-xs">生活馆生活馆生活馆2015-3-3</p>
                            <p class="hidden-xs">生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆</p>
                            <p class="text-muted">生活馆生活馆生活馆生活馆生活馆生活馆生活馆/生活馆/生活馆/生活馆/生活馆/生活馆</p>
                        </div>
                        <div class="col-sm-3 pic">
                            <img src="./upload/3.jpg" alt="" class="hidden-xs">
                        </div>
                    </div>
                </div>
            </article>
            <aside class="col-md-3">
                <a href="#" class="asidepic">
                    <img src="./upload/3.jpg" alt="">
                </a>
                <a href="#" class="hot">
                    <p class="btn btn-primary">热搜</p>
                    <h4 class="text-primary">还应加入中国博客联盟</h4>
                    <p class="text-muted">生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆生活馆..</p>
                </a>
            </aside>
        </div>
    </div>
</div>
</body>

</html>

原文地址:https://www.cnblogs.com/solaris-wwf/p/11795869.html

时间: 2024-10-17 18:13:40

bootstrap的响应式布局的相关文章

Bootstrap禁用响应式布局

在Bootstrap中极其重要的一个技术内容便是响应式布局了,一次编码针对不同设备终端的强大能力使得响应式技术愈发流行. 不过正所谓"萝卜青菜各有所爱",如果你想要使用Bootstrap开发自己的项目却又恰巧不太喜欢响应式布局(或者你所设计的页面布局不允许你使用响应式技术),那么你可以通过以下方式禁用响应式布局. 移除标签 禁用第一步,就是需要移除在head标签中添加的 <meta name="viewport" content="width=dev

关于bootstrap和响应式布局

bootstrap导入 首先需要安装好插件 然后就是在代码器写导入代码 代码如下 <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width,initial-scale=1.0"&g

bootstrap table响应式布局,cdn引入

<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta name="K

响应式布局之BootStrap

本文在于巩固基础 学习bootStrap官网http://getbootstrap.com/ 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网浏览而诞生的.响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用大势所趋来形容也不为过.随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式. 而bo

如何实现页面的响应式布局?

所谓响应式布局,就是一个网站能够兼容多个终端--而不是为每个终端做一个特定的版本.他的好处我们不用写多套屏幕模板而只需要写一个就可以实现,现在用的比较多的就是bootstrap的响应式布局,而他实现的原理就是,他会为一个元素设置多个类,然后通过媒体查询会根据当前屏幕分辨率来选择适合的类进行渲染. bootstrap主要是利用栅格式布局的原理,会自动将屏幕分为12列,然后我们可以根据需要分类,并且他将屏幕分为三类: col-xs-* 超小屏幕,手机 (宽度<768px) col-sm-* 小屏幕,

巧用 BootStrap --- 栅格系统(布局)轻松搞定网页响应式布局!

摘要:Bootstrap 为我们提供了一套响应式.移动设备优先的流式栅格系统,合理的使用栅格系统将会使得网站页面布局变得更加简单,在设置了媒体查询之后,响应式网站也无需再单独写了.接下来我以Bootstrap的中文官网首页为模板进行展示其栅格布局的使用方法以及相关知识点.相信在看完这篇文章之后,你完全可以轻松使用栅格布局. 网站效果图如下所示: PC版: 移动版: 1.栅格系统(布局) Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加

Bootstrap响应式布局

Bootstrap响应式布局可以使用栅格化系统,在桌面>970px上变为水平排列,方法: 1.包含在.container或.container-fluid中 2.使用.col-md-*栅格类,创建栅格系统 典型布局: <div class="container"> <div class="row"> <div class="col-md-4">d</div> <div class=&qu

响应式布局及bootstrap

bootstrap:移动端有限.没有ID选择器,就算有也是 通过class名称来的容器 container ,row要放在容器container中,且一个网页只允许有一个container 禁止响应式布局:1,写一个宽度:2,去掉<meta·······>.col-xs:禁用超小模式 所有JavaScript插件都依赖于jQuery 基本模板[移动端上写代码,都要写mate viewport] 定制Bootstrap js放在body结束标签之前 HTML5文档类型<htmmml lan

web多终端开发学习系列(一)--- 响应式布局框架BootStrap学习

最近在温习web的开发,毕业之后就没接触web开发了.当时HTML5在国内貌似还是刚刚起步,能适配HTML5的浏览器很少.移动界面框架也才刚刚开始,记得当时曾经学过sencha touch的移动框架以及jquery mobile框架.这两个框架都对响应式布局进行了不错的适配及实现.响应式布局说白了就是对于多个移动终端只需一个界面即可全部适配,可大大地减少开发的工作量. 最近一年Bootstrap开始广泛地被使用了,基于此框架开发出来的插件数不胜数.所以我花了几天时间学习了下Bootstrap,本