Bootstrap快速上手 --作品展示站点

  本次我们将采用Bootstrap来快速构建一个响应式的,支持多种设备的在线站点。

一、设计目标

站点具备功能:

1.带有Logo的可折叠的响应式导航条;

2.重点展示四张作品的图片传送带;

3.单栏布局中包含三块内容,每块内容都包含标题、短段落和吸引人点击阅读的大按钮;

4.页脚包含社交媒体链接

基本HTML样式  1 <!DOCTYPE html> <!-- html5标签 -->

  2
  3 <!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
  4 <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
  5 <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
  6 <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
  7
  8     <head>   
 10         <meta charset="utf-8">
 11         <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 12         <title></title>
 13         <meta name="description" content="">
 14         <meta name="viewport" content="width=device-width">
 15
 16         <!-- Main Style Sheet -->
 17         <link rel="stylesheet" href="css/main.css">
 18         <!-- Modernizr -->
 19         <script src="js/vendor/modernizr-2.6.2.min.js"></script>
 20         <!-- Respond.js for IE 8 or less only -->
 21         <!--[if (lt IE 9) & (!IEMobile)]>
 22             <script src="js/vendor/respond.min.js"></script>
 23         <![endif]-->
 24
 25     </head>
 26     <body>
 27         <!--[if lte IE 7]>
 28             <p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
 29         <![endif]-->
 30
 31         <header role="banner">
 32             <nav role="navigation" class="navbar navbar-default">
 33               <div class="container">
 34                 <div class="navbar-header">
 35                   <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
 36                     <span class="icon-bar"></span>
 37                     <span class="icon-bar"></span>
 38                     <span class="icon-bar"></span>
 39                   </button>
 40                   <a class="navbar-brand" href="index.html">Bootstrappin‘</a>
 41                 </div>
 42                 <div class="navbar-collapse collapse">
 43                   <ul class="nav navbar-nav">
 44                     <li class="active"><a href="index.html">Home</a></li>
 45                     <li><a href="#">Portfolio</a></li>
 46                     <li><a href="#">Team</a></li>
 47                     <li><a href="#">Contact</a></li>
 48                   </ul>
 49                 </div><!--/.nav-collapse -->
 50               </div><!--/.container -->
 51             </nav>
 52         </header>
 53
 54         <main role="main">
 55
 56             <img src="img/okwu.jpg" alt="OKWU.edu Homepage">
 57             <img src="img/okwu-athletics.jpg" alt="OKWU Athletics Homepage">
 58             <img src="img/bartlesvillecf.jpg" alt="Bartlesville Community Foundation">
 59             <img src="img/emancipation.jpg" alt="Emancipation Stories">
 60
 61             <h2>Welcome!</h2>
 62             <p>Suspendisse et arcu felis, ac gravida turpis. Suspendisse potenti. Ut porta rhoncus ligula, sed fringilla felis feugiat eget. In non purus quis elit iaculis tincidunt. Donec at ultrices est.</p>
 63             <p><a href="#">See our portfolio</a></p>
 64
 65             <h2>Recent Updates</h2>
 66             <p>Suspendisse et arcu felis, ac gravida turpis. Suspendisse potenti. Ut porta rhoncus ligula, sed fringilla felis feugiat eget. In non purus quis elit iaculis tincidunt. Donec at ultrices est.</p>
 67             <p><a href="#">See what‘s new!</a></p>
 68
 69             <h2>Our Team</h2>
 70             <p>Suspendisse et arcu felis, ac gravida turpis. Suspendisse potenti. Ut porta rhoncus ligula, sed fringilla felis feugiat eget. In non purus quis elit iaculis tincidunt. Donec at ultrices est.</p>
 71             <p><a href="#">Meet the team!</a></p>
 72
 73         </main>
 74
 75         <footer role="contentinfo">
 76
 77             <p><a href="index.html"><img src="img/logo.png" width="80" alt="Bootstrappin'"></a></p>
 78
 79             <ul class="social">
 80               <li><a href="#" title="Twitter Profile">Twitter</a></li>
 81               <li><a href="#" title="Facebook Page">Facebook</a></li>
 82               <li><a href="#" title="LinkedIn Profile">LinkedIn</a></li>
 83               <li><a href="#" title="Google+ Profile">Google+</a></li>
 84               <li><a href="#" title="GitHub Profile">GitHub</a></li>
 85             </ul>
 86
 87         </footer>
 88
 89         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
 90         <script>window.jQuery || document.write(‘<script src="js/vendor/jquery-1.10.2.min.js"><\/script>‘)</script>
 91         <script src="js/plugins.js"></script>
 92         <script src="js/main.js"></script>
 93
 94         <!-- Google Analytics: change UA-XXXXX-X to be your site‘s ID. -->
 95         <script>
 96             var _gaq=[[‘_setAccount‘,‘UA-XXXXX-X‘],[‘_trackPageview‘]];
 97             (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
 98             g.src=(‘https:‘==location.protocol?‘//ssl‘:‘//www‘)+‘.google-analytics.com/ga.js‘;
 99             s.parentNode.insertBefore(g,s)}(document,‘script‘));
100         </script>
101
102     </body>
103 </html>

  这个基本的页面包含导航条、主题内容、页脚。目前没有加入bootstrap样式。

二、Bootstrap 引入

2.1 搭建传送带

(1)基本传送带

  根据Bootstrap文档上的传送带例子修改;

  教程例子: 

<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
  <!-- Indicators -->
  <ol class="carousel-indicators">
    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
    <li data-target="#carousel-example-generic" data-slide-to="1"></li>
    <li data-target="#carousel-example-generic" data-slide-to="2"></li>
  </ol>

  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
      <img src="..." alt="...">
      <div class="carousel-caption">
        ...
      </div>
    </div>
    <div class="item">
      <img src="..." alt="...">
      <div class="carousel-caption">
        ...
      </div>
    </div>
    ...
  </div>

  <!-- Controls -->
  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

#carousel

(2)强制传送带图片全宽

  由于传送带中的图片大小为1600px,对于屏幕宽度超过1600px,那么右侧就会出现空隙。这是可以强制图片全宽,可能会带来一些像素失真。做法:修改carousel.less 文件,中的

  .carousel-inner{

    ....

    >item{

    >img,

    >a>img{

    ...

    min-width:100% ; // ADDED

    }

  }

(3)约束传送带的高度

  在大型屏幕中传送带高度过高。这里依据设计方案传送带的高度应该为640px;

  

  .carousel-inner{

    ....

    >a>img{

    ...

    max-height:640px ; // ADDED

    }

  }

  注意: 因为在.carousel-inner元素中有一条overflow : hidden, 而.item元素被限制了高度,所以在超过高度限制后其下面的部分会被隐藏。于是我们可以利用LESS的嵌套媒体查询,再利用Bootstrap的中大断点变量,分别调整屏幕宽度过宽时图片的垂直定位,从而保证我们的作品处于焦点位置:

  >img,  

  > a > img{

  

    @media(min-width:@screen-md-min){
    margin-top:-40px;
    }
    @media(min-width:@screen-lg-min){
    margin-top:-60px;
    }

  }

2.2 创建响应式分栏

  我们有时候希望页面在大于等于平板的屏幕上以一行三栏的方式显示,而在较窄的屏幕上则以一栏全宽显示。

  这就要根据bootstrap的移动优先响应式布局。css / #grid 。 bootstrap采用的十二栅格系统,其基本类结构支持col-12 表示全宽, col-4表示三分之一宽...

  Bootstrap利用媒体查询和栅格系统实现了极强的适应力。小、中、大断点: 768px、992px、1200px

  修改三栏代码:

<div class="container">
                <div class="col-sm-4">
                    <h2>Welcome!</h2>
                    <p>Suspendisse et arcu felis, ac gravida turpis. Suspendisse potenti. Ut porta rhoncus ligula, sed fringilla felis feugiat eget. In non purus quis elit iaculis tincidunt. Donec at ultrices est.</p>
                    <p><a href="#">See our portfolio</a></p>
                </div>
                <div class="col-sm-4">
                    <h2>Recent Updates</h2>
                    <p>Suspendisse et arcu felis, ac gravida turpis. Suspendisse potenti. Ut porta rhoncus ligula, sed fringilla felis feugiat eget. In non purus quis elit iaculis tincidunt. Donec at ultrices est.</p>
                    <p><a href="#">See what‘s new!</a></p>
                </div>
                <div class="col-sm-4">
                    <h2>Our Team</h2>
                    <p>Suspendisse et arcu felis, ac gravida turpis. Suspendisse potenti. Ut porta rhoncus ligula, sed fringilla felis feugiat eget. In non purus quis elit iaculis tincidunt. Donec at ultrices est.</p>
                    <p><a href="#">Meet the team!</a></p>
                </div>
            </div>

Container

  ①其中container类用于约束内容的宽度,并使其在页面中居中显示;

  ②row类用于包装三个栏,并为栏间留出左右行边距离;

  ③container类和row类都设定了清除,所以他们可以包含浮动元素,同时也清除之前的浮动元素。

  此外我们希望响应式分栏和传送带的距离变大。由于这是页面的内容要增加额外的内边距,所以我们需要创建一个Less文件,用于保存这些以及其他改动。

  步骤:

  ①新建 _page-contents.less 文件

  ②编辑文件

//
// Page Contents
//
.page-contents{
    padding-top:40px;
    padding-bottom:40px;
}

_page-contents.less

  ③导入到__main.less文件中

  ④编译__main.less文件,生成新的css文件

  ⑤在需要增加行间距的标签的类中增加 page-contents

  

  这里还会遇到一个问题,就是分栏垂直排列的时候按钮元素会与下一栏有重合。这时候我们需要用到媒体查询,让他们垂直堆叠的时候相互之间会有点空隙。这里使用CSS2的属性选择符来选择类中包含col- 的所有元素,从而能让同一组规则可以应用与任何尺寸的分栏。解决方法:

.page-contents{

  ......

@media (max-width:@screen-xs-max){

[class*="col-"]{
clear:both;
padding-bottom:40px;
}
}
}

  

2.3 把链接变为按钮

  只需要添加几个关键类:

   http://v3.bootcss.com/css/#buttons

  ①btn 类 用于将链接变为按钮样式;

  ②btn-primary 类把按钮设置为主品牌颜色;

  ③pull-right 类把链接浮动到右侧,使得其占据更大的空间。

  

2.4 修饰页脚

时间: 2024-08-26 10:52:04

Bootstrap快速上手 --作品展示站点的相关文章

【Bootstrap】2.作品展示站点

假设我们已经想好了要给自己的作品弄一个在线站点.一如既往,时间紧迫.我们需要快一点,但作品展示效果又必须专业.当然,站点还得是响应式的,能够在各种设备上正常浏览,因为这是我们向目标客户推销时的卖点.这个项目可以利用Bootstrap的很多内置特性,同时也将根据需要对Bootstrap进行一些定制. 1.设计目标 虽然对大屏幕中的展示效果已经胸有成竹,但我们还应该从小设备开始,强迫自己聚焦在关键的要素上面. 这个作品展示站点应该具有下列功能: □ 带Logo的可折叠的响应式导航条: □ 重点展示四

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co

Bootstrap快速学习笔记(1)排版系列之一

欢迎收看大奥编写的Bootstrap快速学习笔记(1)排版系列之一 本学习笔记根据[慕课网]教程修改而来,用它学习Bootstrap,将会带来全新的体验哦: 标题 段落 强调内容 粗体和斜体 强调相关的类 文本对齐风格 列表 代码展示 详细介绍 标题 Bootstrap重写了h1-h6标题的样式属性并自定义了.h1-.h6类,并用small标签来显示副标题 段落 Bootstrap重写了p标签的样式属性 强调内容 .lead类改变文本样式 粗体和斜体 粗体<strong><b>斜体

axure快速上手

Axure RP是一个专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写.Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,它能快速.高效的创建原型,同时支持多人协作设计和版本控制管理. 工作环境 1.主菜单和工具栏执行常用操作,如文件打开.保存文件,格式化控件,自动生成原型和规格说明书等操作. 2.站点地图面板对所设计的页面(包括线框图和

UnityShader快速上手指南(三)

简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明) 裁剪 代码 Shader "LT/Lesson3_Cull" { Properties { _Color ("Color", Color) = (1, 1, 1, 1) } SubShader { Pass { Cull Off CGPROGRAM #pragma

快速上手一个第三方控件,工具等

我也曾苦苦追寻一个通用的流程,怎么去快速上手一个新的第三方的东西,真的很难啊,文档看不懂,也不知道重点在哪. 虽然一直在用C1控件,但基本对于如何上手云里雾里,基本是摸黑瞎找的,现在突然在其官网发现了如何使用,真是,,,太特么晚了. 总结一下:可以从这几个方面去着手. 1.产品演示程序.根据产品演示可以快速知道哪个控件是自己想要的,这个控件有哪些自定义的设置,属性设置的效果是怎样的.查询能够实现自己正在找的功能.设置. 2.产品开发文档.根据官方文档,可以对控件的开发.使用由更加准确的掌握,缺点

DPDK快速上手指南(18.02)

DPDK快速上手(linux) 本文档主要来自linux_gsg-18.02.pdf的翻译,翻译肯定有不妥之处,请批评指正,我会随后修改,不胜感激. 1. 介绍 本文档包含有关DPDK(Data Plane Development Kit的缩写)软件的安装和配置的说明,目的就是让用户快速用起来.本文档描述怎样在linux应用环境下编译和运行一个DPDK应用程序,而不过多深入细节. 1.1文档路线图 以下是针对所有DPDK文档建议的阅读顺序: 发布说明(Release Notes):提供具体的发布

Python编程快速上手 让繁琐工作自动化 云图

图书封面 本书简介 本书的第一部分介绍了基本 Python 编程概念,第二部分介绍了一些不同的任务,你可以让计算机自动完成它们.第二部分的每一章都有一些项目程序,供你学习.下面简单介绍一下每章的内容.第一部分: Python 编程基础"第 1 章: Python 基础"介绍了表达式. Python 指令的最基本类型,以及如何使用 Python 交互式环境来尝试运行代码."第 2 章:控制流"解释了如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况.&quo

EF Core 快速上手——EF Core 入门

EF Core 快速上手--EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用 ??本文是对<Entity framework in action>部分章节的翻译,某些场景也会附上笔者实践的Demo.尽管很认真的斟酌,但是水平有限,还请各位批评和斧正. ??Entity Framework Core, 或者 EF Core,是一个方便软件工程师访问数据库的库.有很多方法来构建这样的一个库