上一篇<<旺财速啃H5框架之Bootstrap(三)>>已经把导航做了,接下来搭建内容框架....

对于不规整的网页,要做成自适应就有点玩大了.... 例如下面这种版式的页面....

对于这样的网站,要做成自适应,那你得多花点精力了,当然我不讲这个。。。

所以这里肯定是对那种“列很规律”的网站,例如cnblogs首页的版式,分左,中,右

由于中国传统艺术版本,或习惯什么的,很多东西都讲对称性,所以几乎所有网站都是很规律的,说多了,直接上(这里我只写主要CSS)

<div class="container">
<div class="row" >
<div class="col left"></div>
<div class="col center"></div>
<div class="col right"></div>
</div>
</div>

Container定义了一个容器,看相关CSS定义:

.container {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 768px) {
.container {
width: 750px;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
}
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}

在768px以上,宽度固定750px

在992px以上,宽度固定970px

在1200px以上,宽度固定1170px

可以看出在电脑上容器宽度都是固定的

如果你不想做这种固定宽度,而是全屏的页面,那么定义container容器就不行了,外面的容器宽度就得是百分比形式。

下面我改进:

<div class="container wrap">
<div class="row" >
<div class="col left"></div>
<div class="col center"></div>
<div class="col right"></div>
</div>
</div>

注意:采用的是CSS重写(覆盖),引入CSS的时候一定要放到bootstrap.min.css的后面

我这里就直接写在页面上了,看我写的CSS样式:

.wrap{
width:100%; /* 覆盖container的宽度 */
}
.wrap .left{
width:14%;
margin-right:1%;
}
.wrap .center{
width:65%;
}
.wrap .right{
margin-left:1%;
width:19%;
}
/* 最大宽度768的设备,只显示中间,其它情况自己添加,注意先后顺序。 */
@media (max-width: 768px) {
.wrap .center{
width:100%;
}
.wrap .left,.wrap .right{
display:none;
}
}

这里我就不去详细考虑每一个设备情况了。

完整案例来一个:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Bootstrap 实例 - 响应式的导航栏</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0"/>
<link rel="stylesheet" href="http://static.d8jd.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://apps.bdimg.com/libs/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<style type="text/css">
.col{min-height: 580px; float: left;}
.left,.right{background-color: #e6e6e6;}
.center{background: #000;}
.row{margin: 0;}
.wrap{
width:100%; /* 覆盖container的宽度 */
}
.wrap .left{
width:14%;
margin-right:1%;
}
.wrap .center{
width:65%;
}
.wrap .right{
margin-left:1%;
width:19%;
}
/* 最大宽度768的设备,只显示中间 */
@media (max-width: 768px) {
.wrap .center{
width:100%;
}
.wrap .left,.wrap .right{
display:none;
}
} </style>
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#example-navbar-collapse">
<span class="sr-only">切换导航</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand active" href="javascript:;">教程</a>
</div>
<div class="collapse navbar-collapse" id="example-navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="javascript:;">iOS</a></li>
<li><a href="javascript:;">SVN</a></li>
<li class="dropdown">
<a href="javascript:;"class="dropdown-toggle"data-toggle="dropdown">Java<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="javascript:;">jmeter</a></li>
<li><a href="javascript:;">EJB</a></li>
<li><a href="javascript:;">Jasper Report</a></li>
<li class="divider"></li>
<li><a href="javascript:;">分离的链接</a></li>
<li class="divider"></li>
<li><a href="javascript:;">另一个分离的链接</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="container wrap">
<div class="row" >
<div class="col left"></div>
<div class="col center"></div>
<div class="col right"></div>
</div>
</div>
</body>
</html>

查询效果:《猛点这里

改变窗口大小看效果

如果你想做得更加到位,页面缩放后版式更加和谐,你可以更详细的针对不同设备写不现的样式,但要注意先后顺序哦~~~

OK,框架搭建好了,这些框架仅仅是“整体框架”,就好比房子的地基、梁柱之类的,那么接下来向里面插入“内容框架”,内容框架当然是直接或间接与内容有关系的框架

当大框架没有固定宽度的情况下,里面的内容框架宽度能固定宽度么?要记住,外面的框架在没有宽度的情况是会被里面的内容影响的(特别指浮动元素),块元素的话不用设置宽度,就让它默认为父容器的宽度就OK。

有的人发现上面有点问题:

缩小后,出现下拉导航会把下面给抵下去。。。   这种问题自己都能解决的吧,不是大问题,我也只能说,“你”太懒了,这样学东西可不行。。。   OK~~~ ,我稍微调整一下,看下面完整代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Bootstrap 实例 - 响应式的导航栏</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0"/>
<link rel="stylesheet" href="http://static.d8jd.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://apps.bdimg.com/libs/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<style type="text/css">
.col{min-height:580px; float: left;}
.left,.right{background-color: #e6e6e6;}
.center{background: #000;}
.row{margin: 0;}
.wrap{
width:100%; /* 覆盖container的宽度 */
}
.wrap .left{
width:14%;
margin-right:1%;
}
.wrap .center{
width:65%;
}
.wrap .right{
margin-left:1%;
width:19%;
}
/* 最大宽度768的设备,只显示中间 */
@media (max-width: 768px) {
.wrap .center{
width:100%;
}
.wrap .left,.wrap .right{
display:none;
}
.container-fluid{
position: relative;
}
.navbar-collapse{
position: absolute;
width: 100%;
background-color: #FFF;
}
}
</style>
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#example-navbar-collapse">
<span class="sr-only">切换导航</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand active" href="javascript:;">教程</a>
</div>
<div class="collapse navbar-collapse" id="example-navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="javascript:;">iOS</a></li>
<li><a href="javascript:;">SVN</a></li>
<li class="dropdown">
<a href="javascript:;"class="dropdown-toggle"data-toggle="dropdown">Java<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="javascript:;">jmeter</a></li>
<li><a href="javascript:;">EJB</a></li>
<li><a href="javascript:;">Jasper Report</a></li>
<li class="divider"></li>
<li><a href="javascript:;">分离的链接</a></li>
<li class="divider"></li>
<li><a href="javascript:;">另一个分离的链接</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="container wrap">
<div class="row" >
<div class="col left"></div>
<div class="col center"></div>
<div class="col right"></div>
</div>
</div>
</body>
</html>

查询效果:《猛点这里

相信你已经知道自适应是怎么回事了吧,是不是不用框架也能去写了呢? 如果不行的话,接受留级吧~~~,你的问题是不是在于:不自学、不总结、不脚踏实地、只看不练、不…只ctrl+v,不查手册只度娘… ……………………………….不想说你了。。。

今天over~~~

旺财速啃H5框架之Bootstrap(四)的更多相关文章

  1. 旺财速啃H5框架之Bootstrap(五)

    在上一篇<<旺财速啃H5框架之Bootstrap(四)>>做了基本的框架,<<旺财速啃H5框架之Bootstrap(二)>>篇里也大体认识了bootst ...

  2. 旺财速啃H5框架之Bootstrap(三)

    好多天没有写了,继续走起 在上一篇<<旺财速啃H5框架之Bootstrap(二)>>中已经把CSS引入到页面中,接下来开始写页面. 首先有些问题要先处理了,问什么你要学boot ...

  3. 旺财速啃H5框架之Bootstrap(六)

    年后太忙,一直没有更新 好,这篇结束,速啃嘛,就应该拿重点,实用点.继续之前的内容,接着来讲讲网页中常用的布局组件与插件,我喜欢用简单的直接的话或案例来说明,就是针对那些想快速能做出点东西的人而准备的 ...

  4. 旺财速啃H5框架之Bootstrap(二)

    突然感觉不知道写啥子,脑子里面没水了,可能是因为今晚要出去浪,哈哈~~~提前提醒大家平安夜要回家哦,圣诞节生00000000000这么多蛋....继续 上一篇的已经把bootstrap了解个大概了,接 ...

  5. 旺财速啃H5框架之Bootstrap(一)

    接下来的时间里,我将和大家一起对当前非常流行的前端框架Bootstrap进行速度的学习,以案例的形式.对刚开始想学习Bootstrap的同学而找不着边的就很有帮助了.如果你想详细的学习Bootstra ...

  6. H5框架之Bootstrap(二)

    H5框架之Bootstrap(二) 突然感觉不知道写啥子,脑子里面没水了,可能是因为今晚要出去浪,哈哈~~~提前提醒大家平安夜要回家哦,圣诞节生00000000000这么多蛋....继续 上一篇的已经 ...

  7. H5框架之Bootstrap(一)

    H5框架之Bootstrap(一) 接下来的时间里,我将和大家一起对当前非常流行的前端框架Bootstrap进行速度的学习,以案例的形式.对刚开始想学习Bootstrap的同学而找不着边的就很有帮助了 ...

  8. 关于H5框架之Bootstrap的小知识

    浏览器支持 旧的浏览器可能无法很好的支持 Bootstrap 支持 Internet Explorer 8 及更高版本的 IE 浏览器 CSS源码研究 我们不是在head里面引入了下面这些文件么 &l ...

  9. 前端(三大框架、Bootstrap,jQuery,自整理)

    前端,HTML(超文本标记语言),CSS(层叠样式表)和JavaScript(脚本语言) HTML,通常说的h5,其实按标准来说,HTML4的后续版本不带编号了,并保证向前的兼容性 CSS的版本3,增 ...

随机推荐

  1. SQL Server表分区

    什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...

  2. 深入浅出Redis-redis底层数据结构(上)

    1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-valu ...

  3. 通过Jexus 部署 dotnetcore版本MusicStore 示例程序

    ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...

  4. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  5. android 使用Tabhost 发生could not create tab content because could not find view with id 错误

    使用Tabhost的时候经常报:could not create tab content because could not find view with id 错误. 总结一下发生错误的原因,一般的 ...

  6. 23种设计模式--工厂模式-Factory Pattern

    一.工厂模式的介绍       工厂模式让我们相到的就是工厂,那么生活中的工厂是生产产品的,在代码中的工厂是生产实例的,在直白一点就是生产实例的类,代码中我们常用new关键字,那么这个new出来的实例 ...

  7. .NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?

    配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个 ...

  8. H5坦克大战之【玩家控制坦克移动2】

    周一没有看圣诞大战,这几天比较忙也没有看赛后的报道,今天就先不扯NBA,随便扯扯自己.昨天在电脑里找东西的时候翻到以前兼职健身教练时的照片,思绪一下子回到学生时代,脑子久久换不过来.现在深深觉得健身和 ...

  9. IE8/9 JQuery.Ajax 上传文件无效

    IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...

  10. Axure 8.0.0.3312可用注册码

    用户名:aaa 注册码:2GQrt5XHYY7SBK/4b22Gm4Dh8alaR0/0k3gEN5h7FkVPIn8oG3uphlOeytIajxGU 用户名:axureuser 序列号:8wFfI ...