BootStrap项目-首页

266 阅读5分钟

1. 导航

概念: 导航容器使用默认样式,流体布局。

  • 导航头:

    • LOGO:图片地址由JS动态生成。
    • 折叠按钮布置三条横线图标,并且放在 .navbar-header 中,防止移动端串行。
  • 折叠内容容器: 包括一个导航列表,数据由JS动态生成。

布局: 首页.html

<!--导航容器-->
<nav class="navbar navbar-default container-fluid">
    
    <!--导航头-->
    <section class="navbar-header">
        <span class="navbar-brand">
            <img id="logoImg"/>
        </span>
        <button data-toggle="collapse" data-target="#collapseBody" class="navbar-toggle">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
    </section>

    <!--导航头折叠内容容器:包括一个导航列表-->
    <section id="collapseBody" class="collapse navbar-collapse">
        <ul id="navList" class="nav navbar-nav navbar-right">
            <li class="active"><a><i>&nbsp;首页</i></a></li>
            <li><a><i>&nbsp;摄影技能</i></a></li>
            <li><a><i>&nbsp;作品展示</i></a></li>
            <li><a><i>&nbsp;关于我们</i></a></li>
        </ul>
    </section>
</nav>

脚本: 首页.js

    /*LOGO*/
    $("#logoImg").attr("src", "../img/logo.png");


    /*导航列表*/
    let navList = $("#navList");
    navList.find("a").eq(0).attr("href", "../html/首页.html");
    navList.find("i").eq(0).attr("class", "glyphicon glyphicon-home");
    navList.find("a").eq(1).attr("href", "../html/摄影技能.html");
    navList.find("i").eq(1).attr("class", "glyphicon glyphicon-fire");
    navList.find("a").eq(2).attr("href", "../html/作品展示.html");
    navList.find("i").eq(2).attr("class", "glyphicon glyphicon-list");
    navList.find("a").eq(3).attr("href", "../html/关于我们.html");
    navList.find("i").eq(3).attr("class", "glyphicon glyphicon-question-sign");

2. 图片轮播

概念:

  • 轮播圆点容器: 默认第一个为首选项。
  • 轮播内容容器: 包括三个轮播项
    • 每个轮播项中的图片、描述标题和描述内容由JS动态生成。
    • 移动端时,描述内容隐藏。
    • 默认第一个为首选项。
  • 左右控制按钮: 使用左右箭头小图标。 布局: 首页.html
<!--轮播图片-->
<section id="myCarousel" class="carousel slide">
    
    <!--轮播圆点容器-->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1"></li>
        <li data-target="#myCarousel" data-slide-to="2"></li>
    </ol>

    <!--轮播内容容器-->
    <section class="carousel-inner">
        <article class="item active">
            <img src=""/>
            <div class="carousel-caption"><h4></h4><p class="hidden-xs"></p></div>
        </article>
        <article class="item">
            <img src=""/>
            <div class="carousel-caption"><h4></h4><p class="hidden-xs"></p></div>
        </article>
        <article class="item">
            <img src=""/>
            <div class="carousel-caption"><h4></h4><p class="hidden-xs"></p></div>
        </article>
    </section>

    <!--左右控制按钮-->
    <a href="#myCarousel" data-slide="prev" class="carousel-control left">
        <span class="glyphicon glyphicon-chevron-left"></span>
    </a>
    <a href="#myCarousel" data-slide="next" class="carousel-control right">
        <span class="glyphicon glyphicon-chevron-right"></span>
    </a>
</section>

样式: 首页.css

.carousel img{
    width: 100%;
}

脚本: 首页.js

    /*图片3s自动轮播*/
    $("#myCarousel").carousel({
        "interval": 3000,
        "pause": "hover"
    });

    /*轮播图*/
    let carousel = $(".carousel-inner").eq(0);
    carousel.find("img").eq(0).attr("src", "../img/index/slide1.jpg");
    carousel.find("h4").eq(0).text("第一张轮播图的标题");
    carousel.find("p").eq(0).text("第一张轮播图的详细介绍,这里给出50到100字的文字描述即可。");
    carousel.find("img").eq(1).attr("src", "../img/index/slide2.jpg");
    carousel.find("h4").eq(1).text("第二张轮播图的标题");
    carousel.find("p").eq(1).text("第二张轮播图的详细介绍,这里给出50到100字的文字描述即可。");
    carousel.find("img").eq(2).attr("src", "../img/index/slide3.jpg");
    carousel.find("h4").eq(2).text("第三张轮播图的标题");
    carousel.find("p").eq(2).text("第三张轮播图的详细介绍,这里给出50到100字的文字描述即可。");

3. 第一部分:标题文字

布局: 首页.html

<!--第1部分-->
<section class="part1 container text-center">
    <h3 class="text-info"></h3>
    <p class="text-muted"></p>
</section>

样式: 首页.css

/*第1部分*/
.part1 {
    margin: 30px auto; 
}

/*平板端:[0, 768) 时使用这里的样式*/
@media (min-width: 768px) {
    .part1, .part3 {
        font-size: 15px;
    }
}

/*笔记本:[768, 992) 时使用这里的样式*/
@media (min-width: 992px) { 
    .part1, .part3{
        font-size: 20px;
    }
}

/*台式机:[992, 1200) 时使用这里的样式*/
@media (min-width: 1200px) {  
    .part1, .part3 {
        font-size: 25px;
    }
}

脚本: 首页.js

 /*第一部分*/
    let part1 = $(".part1").eq(0);
    part1.find("h3").text("| 一米拾光 一米朝阳 |");
    part1.find("p").text("摄影爱好者的天堂之内,不会缺少发现美的眼睛。");

4. 第二部分:四小图文

概念: 第2部分内容,包括两个左文右图和两个左图右文,数据皆由JS动态生成。

布局: 首页.html

<!--第2部分内容-->
<section class="part2 container">
    <article class="col-md-6">
        <div class="media-left">
            <img class="media-object thumbnail"/>
        </div>
        <div class="media-body">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
    </article>
    <article class="col-md-6">
        <div class="media-body text-right">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
        <div class="media-right">
            <img class="media-object thumbnail"/>
        </div>
    </article>
    <article class="col-md-6">
        <div class="media-left">
            <img class="media-object thumbnail"/>
        </div>
        <div class="media-body">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
    </article>
    <article class="col-md-6">
        <div class="media-body text-right">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
        <div class="media-right">
            <img class="media-object thumbnail"/>
        </div>
    </article>
</section>

脚本: 首页.js

   *第二部分*/
    let part2 = $(".part2").eq(0);
    part2.find("img").eq(0).attr("src", "../img/index/p2-1.jpg");
    part2.find("h3").eq(0).text("夜景专题");
    part2.find(".text-muted").eq(0).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(0).text("资讯模块错误理解纠正内容填充1");
    part2.find("img").eq(1).attr("src", "../img/index/p2-2.jpg");
    part2.find("h3").eq(1).text("人像专题");
    part2.find(".text-muted").eq(1).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(1).text("资讯模块错误理解纠正内容填充1");
    part2.find("img").eq(2).attr("src", "../img/index/p2-3.jpg");
    part2.find("h3").eq(2).text("静物专题");
    part2.find(".text-muted").eq(2).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(2).text("资讯模块错误理解纠正内容填充1");
    part2.find("img").eq(3).attr("src", "../img/index/p2-4.jpg");
    part2.find("h3").eq(3).text("美食专题");
    part2.find(".text-muted").eq(3).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(3).text("资讯模块错误理解纠正内容填充1");

5. 第三部分:两大图文

概念: 第3部分内容,包括两个左图右文,数据皆由JS动态生成。

布局: 首页.html

<!--第3部分-->
<section class="part3 container text-center">

    <article class="row bg-info">
        <div class="col-md-6"><img class="img-thumbnail"/></div>
        <div class="col-md-6">
            <h3 class="text-primary"></h3>
            <p class="text-muted"></p>
        </div>
    </article>

    <article class="row bg-success">
        <div class="col-md-6"><img class="img-thumbnail"/></div>
        <div class="col-md-6">
            <h3 class="text-primary"></h3>
            <p class="text-muted"></p>
        </div>
    </article>
</section>

样式: 首页.css

/*第3部分:调整每行内容上下内外边距*/
.part3 .row {
    padding: 40px 0px; 
    margin: 20px 0px;
}

脚本: 首页.js

    /*第三部分*/
    let part3 = $(".part3").eq(0);
    part3.find("img").eq(0).attr("src", "../img/index/p3-1.jpg");
    part3.find("h3").eq(0).text("图文标题1");
    part3.find("p").eq(0).text("图文详细介绍内容填充1");
    part3.find("img").eq(1).attr("src", "../img/index/p3-2.jpg");
    part3.find("h3").eq(1).text("图文标题2");
    part3.find("p").eq(1).text("图文详细介绍内容填充2");

整体代码,建议仔细看完在复制粘贴

布局: 首页.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>首页</title>
    <link href="../bootstrap337/css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/global.css" rel="stylesheet">
    <link href="../css/首页.css" rel="stylesheet">

</head>
<body>
<!--导航条容器:默认和反色-->
<nav class="navbar navbar-default container-fluid">

    <!--导航头-->
    <section class="navbar-header">

        <!--logo-->
        <span class="navbar-brand">
			<img id="logoImg"/>
		</span>

        <!--折叠触发器按钮:三条横线-->
        <!--放在 .navbar-header 中,是为了防止移动端串行-->
        <button data-toggle="collapse" data-target="#collapseBody" class="navbar-toggle">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
    </section>

    <!--导航头折叠内容容器-->
    <section id="collapseBody" class="collapse navbar-collapse">
        <ul id="navList" class="nav navbar-nav navbar-right">
            <li class="active"><a><i>&nbsp;首页</i></a></li>
            <li><a><i>&nbsp;摄影技能</i></a></li>
            <li><a><i>&nbsp;作品展示</i></a></li>
            <li><a><i>&nbsp;关于我们</i></a></li>
        </ul>
    </section>
</nav>


<!--轮播图片-->
<section id="myCarousel" class="carousel slide">

    <!--轮播圆点容器-->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1"></li>
        <li data-target="#myCarousel" data-slide-to="2"></li>
    </ol>

    <!--轮播内容容器-->
    <section class="carousel-inner">
        <article class="item active">
            <img src=""/>
            <div class="carousel-caption"><h4></h4>
                <p class="hidden-xs"></p></div>
        </article>
        <article class="item">
            <img src=""/>
            <div class="carousel-caption"><h4></h4>
                <p class="hidden-xs"></p></div>
        </article>
        <article class="item">
            <img src=""/>
            <div class="carousel-caption"><h4></h4>
                <p class="hidden-xs"></p></div>
        </article>
    </section>

    <!--左右控制按钮-->
    <a href="#myCarousel" data-slide="prev" class="carousel-control left">
        <span class="glyphicon glyphicon-chevron-left"></span>
    </a>
    <a href="#myCarousel" data-slide="next" class="carousel-control right">
        <span class="glyphicon glyphicon-chevron-right"></span>
    </a>
</section>

<!--第1部分-->
<section class="part1 container text-center">
    <h3 class="text-info"></h3>
    <p class="text-muted"></p>
</section>


<!--第2部分-->
<section class="part2 container">

    <article class="col-md-6">
        <div class="media-left"><img class="media-object thumbnail"/></div>
        <div class="media-body">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
    </article>

    <article class="col-md-6">
        <div class="media-body text-right">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
        <div class="media-right"><img class="media-object thumbnail"/></div>
    </article>

    <article class="col-md-6">
        <div class="media-left"><img class="media-object thumbnail"/></div>
        <div class="media-body">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
    </article>

    <article class="col-md-6">
        <div class="media-body text-right">
            <h3 class="media-heading text-primary"></h3><br/>
            <p class="hidden-xs text-muted"></p>
            <p class="hidden-xs text-info"></p>
        </div>
        <div class="media-right"><img class="media-object thumbnail"/></div>
    </article>
</section>


<!--第3部分-->
<section class="part3 container text-center">

    <article class="row bg-info">
        <div class="col-md-6"><img class="img-thumbnail"/></div>
        <div class="col-md-6">
            <h3 class="text-primary"></h3>
            <p class="text-muted"></p>
        </div>
    </article>

    <article class="row bg-success">
        <div class="col-md-6"><img class="img-thumbnail"/></div>
        <div class="col-md-6">
            <h3 class="text-primary"></h3>
            <p class="text-muted"></p>
        </div>
    </article>
</section>

<!--注脚-->
<footer class="bg-warning text-center text-muted">
    <p></p>
    <p class="text-uppercase"></p>
</footer>


<script src="../jquery321/jquery-3.2.1.min.js"></script>
<script src="../bootstrap337/js/bootstrap.min.js"></script>
<script src="../script/首页.js" type="text/javascript"></script>
</body>
</html>

样式: 首页.css

@charset "utf-8";

.carousel img{
    width: 100%;
}

/*第1部分*/
.part1 {
    margin: 30px auto;
}

/*第3部分:调整每行内容上下内外边距*/
.part3 .row {
    padding: 40px 0px;
    margin: 20px 0px;
}

/*媒体查询:浏览器根据屏幕视口大小来选择具体使用哪一种CSS*/
/*没有小于768px的移动端设计区域是因为BOOTSTRAP3默认就是移动端*/

/*平板端:[0, 768) 时使用这里的样式*/
@media (min-width: 768px) {
    .part1, .part3 {
        font-size: 15px;
    }
}

/*笔记本:[768, 992) 时使用这里的样式*/
@media (min-width: 992px) {
    .part1, .part3{
        font-size: 20px;
    }
}

/*台式机:[992, 1200) 时使用这里的样式*/
@media (min-width: 1200px) {
    .part1, .part3 {
        font-size: 25px;
    }
}

脚本: 首页.js

  $(() => {
    /*LOGO*/
    $("#logoImg").attr("src", "../img/logo.png");


    /*导航列表*/
    let navList = $("#navList");
    navList.find("a").eq(0).attr("href", "../html/首页.html");
    navList.find("i").eq(0).attr("class", "glyphicon glyphicon-home");
    navList.find("a").eq(1).attr("href", "../html/摄影技能.html");
    navList.find("i").eq(1).attr("class", "glyphicon glyphicon-fire");
    navList.find("a").eq(2).attr("href", "../html/作品展示.html");
    navList.find("i").eq(2).attr("class", "glyphicon glyphicon-list");
    navList.find("a").eq(3).attr("href", "../html/关于我们.html");
    navList.find("i").eq(3).attr("class", "glyphicon glyphicon-question-sign");

    /*图片3s自动轮播*/
    $("#myCarousel").carousel({
        "interval": 3000,
        "pause": "hover"
    });

    /*轮播图*/
    let carousel = $(".carousel-inner").eq(0);
    carousel.find("img").eq(0).attr("src", "../img/index/slide1.jpg");
    carousel.find("h4").eq(0).text("第一张轮播图的标题");
    carousel.find("p").eq(0).text("第一张轮播图的详细介绍,这里给出50到100字的文字描述即可。");
    carousel.find("img").eq(1).attr("src", "../img/index/slide2.jpg");
    carousel.find("h4").eq(1).text("第二张轮播图的标题");
    carousel.find("p").eq(1).text("第二张轮播图的详细介绍,这里给出50到100字的文字描述即可。");
    carousel.find("img").eq(2).attr("src", "../img/index/slide3.jpg");
    carousel.find("h4").eq(2).text("第三张轮播图的标题");
    carousel.find("p").eq(2).text("第三张轮播图的详细介绍,这里给出50到100字的文字描述即可。");


    /*第一部分*/
    let part1 = $(".part1").eq(0);
    part1.find("h3").text("| 一米拾光 一米朝阳 |");
    part1.find("p").text("摄影爱好者的天堂之内,不会缺少发现美的眼睛。");



    /*第二部分*/
    let part2 = $(".part2").eq(0);
    part2.find("img").eq(0).attr("src", "../img/index/p2-1.jpg");
    part2.find("h3").eq(0).text("夜景专题");
    part2.find(".text-muted").eq(0).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(0).text("资讯模块错误理解纠正内容填充1");
    part2.find("img").eq(1).attr("src", "../img/index/p2-2.jpg");
    part2.find("h3").eq(1).text("人像专题");
    part2.find(".text-muted").eq(1).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(1).text("资讯模块错误理解纠正内容填充1");
    part2.find("img").eq(2).attr("src", "../img/index/p2-3.jpg");
    part2.find("h3").eq(2).text("静物专题");
    part2.find(".text-muted").eq(2).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(2).text("资讯模块错误理解纠正内容填充1");
    part2.find("img").eq(3).attr("src", "../img/index/p2-4.jpg");
    part2.find("h3").eq(3).text("美食专题");
    part2.find(".text-muted").eq(3).html("<del>资讯模块错误理解纠正内容填充1</del>");
    part2.find(".text-info").eq(3).text("资讯模块错误理解纠正内容填充1");

    /*第三部分*/
    let part3 = $(".part3").eq(0);
    part3.find("img").eq(0).attr("src", "../img/index/p3-1.jpg");
    part3.find("h3").eq(0).text("图文标题1");
    part3.find("p").eq(0).text("图文详细介绍内容填充1");
    part3.find("img").eq(1).attr("src", "../img/index/p3-2.jpg");
    part3.find("h3").eq(1).text("图文标题2");
    part3.find("p").eq(1).text("图文详细介绍内容填充2");

    /*注脚*/
    let footer = $("footer").eq(0);
    footer.find("p").eq(0).text("摄影爱好者基地 | 合作事宜 | 版权投诉");
    footer.find("p").eq(1).text(`
		黑ICP 备1234567. &copyright; 
		1964-2100 一米拾光网. Powered by Bootstrap.`);

});