上一篇<<旺财速啃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. Fis3的前端工程化之路[三大特性篇之声明依赖]

    Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...

  2. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  3. 一个免费的、跨平台的、开源音频编辑器Audacity

    Audacity 是一个免费的开源程序,用于编辑音频录制.它可在多个平台(windows/linux)上运行.Audacity 基于 GUI,是一个具有多种选项的强大程序.它支持您录制各种类型的声音. ...

  4. Summary of Critical and Exploitable iOS Vulnerabilities in 2016

    Summary of Critical and Exploitable iOS Vulnerabilities in 2016 Author:Min (Spark) Zheng, Cererdlong ...

  5. 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

    前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...

  6. Spark RDD 核心总结

    摘要: 1.RDD的五大属性 1.1 partitions(分区) 1.2 partitioner(分区方法) 1.3 dependencies(依赖关系) 1.4 compute(获取分区迭代列表) ...

  7. 【Win 10 应用开发】在App所在的进程中执行后台任务

    在以往版本中,后台任务都是以独立的专用进程来运行,因此,定义后台任务代码的类型都要位于 Windows 运行时组件项目中. 不过,在14393中,SDK 作了相应的扩展,不仅支持以前的独立进程中运行后 ...

  8. 一个表缺失索引发的CPU资源瓶颈案例

    背景 近几日,公司的应用团队反应业务系统突然变慢了,之前是一直比较正常.后与业务部门沟通了解详情,得知最近生意比较好,同时也在做大的促销活动,使得业务数据处理的量出现较大的增长,最终系统在处理时出现瓶 ...

  9. JAVA面试题

    在这里我将收录我面试过程中遇到的一些好玩的面试题目 第一个面试题:ABC问题,有三个线程,工作的内容分别是打印出"A""B""C",需要做的 ...

  10. 分页插件--根据Bootstrap Paginator改写的js插件

    刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两 ...