footstrap实现星巴克官网

本文介绍了如何使用footstrap实现响应式的星巴克官网。首先解释了footstrap作为前端框架的作用,接着详细讲述了实现星巴克官网案例的过程,包括采用的技术如iconfont、jquery和footstrap,以及读入数据和页面效果的展示。最后,作者分享了通过项目学习对footstrap栅格系统的理解,并提到在实际应用中可能需要结合自身逻辑来完善功能。

footstrap实现响应式星巴克官网


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、footstrap是什么?

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。

二、星巴克官网案例实现

1.使用技术

  • iconfont官网下载矢量图标并通过font-close引入
  • jquery
  • footstrap v4.3

2.读入数据

这些引用是footstrap必不可少的

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
        integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
        integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous">
    </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
        integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
    </script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
        integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
    </script>

html部分:

div class="container-fluid">
        <div class="row justify-content-end">
            <div class="col-lg-4 position-fixed border-right leftCon">
                <header class="navbar d-none d-sm-flex px-3 py-1">
                    <a href="#" class="navbar-brand">
                        <img src="./images/logo.svg" style="width: 36px;">
                    </a>
                    <ul class="nav mr-auto myNav">
                        <li class="nav-item"><a href="#" class="nav-link text-dark font-weight-bold">门店</a></li>
                        <li class="nav-item"><a href="#" class="nav-link text-dark font-weight-bold">我的账户</a></li>
                        <li class="nav-item"><a href="#" class="nav-link text-dark font-weight-bold">菜单</a></li>
                    </ul>
                    <span class="iconfont icon-menu myMenu"></span>
                </header>
                <div class="d-flex flex-column login justify-content-center px-3 px-lg-5">
                    <h1 class="py-3">心情惬意,来杯咖啡吧 <span class="iconfont icon-kafei"></span></h1>
                    <div class="d-none d-sm-flex my-3">
                        <a href="#" class="text-success mr-2 my-auto"><span
                                class="iconfont icon-denglu border px-3 py-1"></span></a>
                        <span class="text-success denglu my-auto" style="font-weight: 700;">登陆</span>
                        <button class="btn btn-lg btn-outline-success ml-4"
                            style="border-radius: 14px; font-weight: 700;">注册</button>
                    </div>
                </div>
                <div class="d-flex flex-column justify-content-between w-100 btnNav bg-white position-fixed hide"
                    id="check">
                    <header class="navbar px-3 py-1">
                        <a href="#" class="navbar-brand">
                            <img src="./images/logo.svg" style="width: 36px;">
                        </a>
                        <span class="iconfont icon-guanbi myClo" id="cloBtn"></span>
                    </header>
                    <ul class="list list-unstyled px-0 px-sm-5">
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">门店</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">星享俱乐部</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">菜单</a></li>
                        <hr>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">星巴克移动应用</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">星礼卡</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">星巴克臻选™</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">啡快™ - 在线点 到店取</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">专星送™</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">咖啡星讲堂</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">上海烘焙工坊</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">关于星巴克</a></li>
                        <li class="nav-item py-2"><a href="#" class="text-dark font-weight-bold">帮助中心</a></li>
                        <hr>
                    </ul>
                    <div class="d-none d-sm-flex my-3 px-0 px-sm-5 ">
                        <a href="#" class="text-success my-auto mr-2"><span
                                class="iconfont icon-denglu border px-3 py-1"></span></a>
                        <span class="text-success denglu my-auto">登陆</span>
                        <button class="btn btn-outline-success ml-4 regiest">注册</button>
                    </div>
                    <footer class="px-0 px-sm-5 pb-4">
                        <a href="" class="mr-2"><span>English |</span></a>
                        <a href="" class="mr-2"><span>隐私政策 |</span></a>
                        <a href="" class=""><span>使用条款</span></a>
                    </footer>
                </div>
            </div>
            <div class="col-lg-8 bg-light">
                <!-- 轮播图 -->
                <div class="row">
                    <div class="carousel slide" id="pic" data-ride="carousel">
                        <div class="carousel-inner">
                            <div class="carousel-item active"><img src="./images/kv1.jpg" alt="" class="img-fluid">
                            </div>
                            <div class="carousel-item"><img src="./images/kv2.jpg" alt="" class="img-fluid"></div>
                            <div class="carousel-item"><img src="./images/kv3.jpg" alt="" class="img-fluid"></div>
                            <div class="carousel-item"><img src="./images/kv4.jpg" alt="" class="img-fluid"></div>
                        </div>
                        <!-- 控制器 -->
                        <a href="#pic" class="carousel-control-prev" data-slide="prev">
                            <span class="iconfont icon-left" style="font-size: 4rem;"></span>
                        </a>
                        <a href="#pic" class="carousel-control-next" data-slide="next">
                            <span class="iconfont icon-right" style="font-size: 4rem;"></span>
                        </a>
                        <!-- 指示器 -->
                        <ol class="carousel-indicators">
                            <li data-target="#pic" data-slide-to="0" class="active"></li>
                            <li data-target="#pic" data-slide-to="1"></li>
                            <li data-target="#pic" data-slide-to="2"></li>
                            <li data-target="#pic" data-slide-to="3"></li>
                        </ol>
                    </div>
                </div>
                <!-- 卡片 -->
                <div class="row mt-3 py-5 justify-content-around px-4">
                    <div class="col-sm-4 my-sm-0">
                        <img src="images/img_01.jpg" class="img-thumbnail">
                    </div>
                    <div class="col-sm-4 my-sm-0">
                        <img src="images/img_02.jpg" class="img-thumbnail">
                    </div>
                    <div class="col-sm-4 my-sm-0">
                        <img src="images/img_03.jpg" class="img-thumbnail">
                    </div>
                </div>
                <!-- 俱乐部 -->
                <div class="row bg-white py-5 px-5 align-items-center" id="club">
                    <div class="col-sm-5 text-center text-sm-left align-items-start">
                        <h1 class="my-4">星享俱乐部</h1>
                        <p class="mt-3 mb-5">开启您的星享之旅,星星越多、会员等级越高、好礼越丰富。<a href="#">了解更多 ›</a></p>
                        <button class="btn btn-lg px-4 py-2 btn-outline-success myBtn">注册</button>
                        <button class="btn btn-lg px-4 py-2 btn-outline-success myBtn ml-2">登陆</button>
                    </div>
                    <div class="col text-center mt-5 mt-sm-0">
                        <img src="./images/logo-msr-new.svg" alt="">
                    </div>
                </div>
                <!-- 星巴克精选 -->
                <div class="row" id="start">
                    <div class="col-12 py-5 text-center">
                        <h1 class="my-4">星巴克精选</h1>
                        <p>在星巴克天猫旗舰店发现更多咖啡心意</p>
                    </div>
                    <div class="col-12">
                        <ul class="list-unstyled row justify-content-around text-center p-5" id="start-card">
                            <li class="col-6 col-md-3 my-5">
                                <a href="#" class="d-inline-block bg-white rounded position-relative">
                                    <img src="./images/tmall-card-01.png" class="img-fluid">
                                    <h1 class="pt-2">会员星礼包</h1>
                                    <p class="p-2 text-memu" style="line-height: 2.6rem;">星享卡新升级<br>更多心意好礼</p>
                                    <p class="p-3 caption">了解更多 ›</p>
                                </a>
                            </li>
                            <li class="col-6 col-md-3 my-5">
                                <a href="#" class="d-inline-block bg-white rounded position-relative">
                                    <img src="./images/tmall-card-02.png" class="img-fluid">
                                    <h1 class="pt-2">星礼卡</h1>
                                    <p class="p-2 text-memu" style="line-height: 2.6rem;">用一份心礼<br>让心意相随</p>
                                    <p class="p-3 caption">了解更多 ›</p>
                                </a>
                            </li>
                            <li class="col-6 col-md-3 my-5">
                                <a href="#" class="d-inline-block bg-white rounded position-relative">
                                    <img src="./images/tmall-card-03.png" class="img-fluid">
                                    <h1 class="pt-2">电子产品券</h1>
                                    <p class="p-2 text-memu" style="line-height: 2.6rem;">心意<br>从这一杯开始</p>
                                    <p class="p-3 caption">了解更多 ›</p>
                                </a>
                            </li>
                            <li class="col-6 col-md-3 my-5">
                                <a href="#" class="d-inline-block bg-white rounded position-relative">
                                    <img src="./images/tmall-card-04.png" class="img-fluid">
                                    <h1 class="pt-2">咖啡生活</h1>
                                    <p class="p-2 text-memu" style="line-height: 2.6rem;">星巴克<br>用心制作</p>
                                    <p class="p-3 caption">了解更多 ›</p>
                                </a>
                            </li>
                        </ul>
                    </div>
                </div>
                <!-- 星巴克讲堂 -->
                <div class="row bg-white p-5" id="startClass">
                    <div class="col-12 py-5 text-center">
                        <h1 class="my-4">1912 派克街 | 咖啡星讲堂</h1>
                        <p>了解更多星巴克咖啡文化</p>
                    </div>
                    <ul class="list-unstyled d-flex justify-content-between">
                        <li class="mr-4 position-relative">
                            <a href="#" class="d-inline-block card rounded">
                                <img src="./images/scroll_img_01.jpg" class="card-img-top">
                                <div class="card-body">
                                    <h4 class="card-title text-dark">咖啡的起源与培植</h4>
                                </div>
                            </a>
                            <span class="position-absolute d-inline-block text-white p-2">咖啡知识</span>
                        </li>
                        <li class="mr-4 position-relative">
                            <a href="#" class="d-inline-block card rounded">
                                <img src="./images/scroll_img_02.jpg" class="card-img-top">
                                <div class="card-body">
                                    <h4 class="card-title text-dark">咖啡调制</h4>
                                </div>
                            </a>
                            <span class="position-absolute d-inline-block text-white p-2">咖啡品鉴</span>
                        </li>
                        <li class="mr-4 position-relative">
                            <a href="#" class="d-inline-block card rounded">
                                <img src="./images/scroll_img_03.jpg" class="card-img-top">
                                <div class="card-body">
                                    <h4 class="card-title text-dark">咖啡烘培</h4>
                                </div>
                            </a>
                            <span class="position-absolute d-inline-block text-white p-2">咖啡知识</span>
                        </li>
                        <li class="mr-4 position-relative">
                            <a href="#" class="d-inline-block card rounded">
                                <img src="./images/scroll_img_04.jpg" class="card-img-top">
                                <div class="card-body">
                                    <h4 class="card-title text-dark">手冲咖啡</h4>
                                </div>
                            </a>
                            <span class="position-absolute d-inline-block text-white p-2">咖啡品鉴</span>
                        </li>
                    </ul>
                </div>
                <footer class="p-5 text-center" id="conFoo">
                    <p>沪公网安备 31010402000253号 | 沪ICP备17003747号</p>
                </footer>
            </div>
        </div>
    </div>
    <footer class="mt-5 mt-sm-0">
        <ul class="list-unstyled justify-content-around text-center mb-0 p-1 d-flex d-sm-none">
            <li>
                <span class="iconfont icon-shouye" style="font-size: 2.4rem;"></span>
                <p class="m-0">主页</p>
            </li>
            <li>
                <span class="iconfont icon-mendian" style="font-size: 2.4rem;"></span>
                <p class="m-0">门店</p>
            </li>
            <li>
                <span class="iconfont icon-weibiaoti5" style="font-size: 2.4rem;"></span>
                <p class="m-0">我的账户</p>
            </li>
            <li>
                <span class="iconfont icon-menu" style="font-size: 2.4rem;"></span>
                <p class="m-0">菜单</p>
            </li>
            <li>
                <span class="iconfont icon-gengduo" style="font-size: 2.4rem;"></span>
                <p class="m-0">更多</p>
            </li>
        </ul>
    </footer>
	html{
    font-size: 62.5%!important;
}
@media(min-width:992px){
    html{
        font-size: 62.5%;
    }
}
@media(min-width:768px){
    html{
        font-size: 59%;
    }
}
@media(min-width:579px){
    html{
        font-size: 56%;
    }
}
body{
    overflow-x: hidden;
}
a:hover{
    text-decoration: none;
}
.leftCon{
    left: 0;
}
.leftCon header{
    height: 80px;
}
.myNav{
    font-size: 1.7rem;
    /* font-weight: 700; */
}
.myMenu{
    font-size: 2.8rem;
    cursor: pointer;
    /* opacity: 0.8; */
    color: #858585;
}
.login .icon-kafei{
    font-size: 24px;
    color: #5cae33;
}
.denglu{
    font-size: 1.6rem;
    cursor: pointer;
}
/* .regiest{
    font-size: 1.6rem;
    border-radius:12px ;
} */
.login{
        height: calc(100vh - 80px);
}
@media(max-width:991.98px){
    .leftCon{
        position: relative!important;
    }
    .login{
        height: auto;
    }
}
.myClo{
    font-size: 1.8rem;
    cursor: pointer;
    /* opacity: 0.8; */
    color: #858585;
}
.btnNav{
    height: 100vh;
    z-index: 1024;
    left: 0;
    top: 0;
    padding: 0 15px;
    background: white;
    transition: .2s;
}
.list .nav-item a{
    font-size: 1.8rem;
}
footer a{
    color: rgba(0, 0, 0, 0.38);
}
.show{
    opacity: 1;
    transform: scale(1);
}
.hide{
    opacity: 0;
    z-index: -1;
    transform: scale(2);

}
.myBtn{
    /* font-size: 1.6rem; */
    border-radius: 14px;
    font-weight:700;
}
#club p{
    font-size: 1.6rem;
    color: rgba(0, 0, 0, 0.56);
    font-weight: 450;

}
#club a{
    color: #C2A661;
}
#start p,#startClass>div p{
    font-size: 1.6rem;
    color: rgba(0, 0, 0, 0.56);
    font-weight: 450;
}

#start-card li a:hover{
    box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.12);
    transform: translateY(-5px);
}
#start-card li a{
    transition: .3s;
}
#start-card li:hover .caption{
    opacity: 1;
}
#start-card img{
    width: 40%;
    /* margin-top: -34px; */
    transform: translateY(-50%);
}
#start-card h1{
    font-size: 1.6rem!important;
    color: rgba(0, 0, 0, 0.87);
    font-weight: 500;
}
#start .text-memu{
    font-size: 1.4rem!important;
    color: rgba(0, 0, 0, 0.56);
    font-weight: 450;
}
#start .caption{
    font-size: 1.2rem!important;
    color: #C2A661;
    font-weight: 400;
    opacity: 0.7;
}
#startClass ul{
    width: 288*4px;
}

#startClass ul li{
    width: 288px;
    box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.12);
    transition: .3s;
}

#startClass ul li:hover{
    transform: translateY(-5px);
}
#startClass ul li span{
    left: 0;
    top: 10px;
    background-color: #C2A661;
    width: 70px;
    height: 30px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    /* display: inline-block; */
}
footer ul{
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    font-size: 1.2rem!important;
    /* box-shadow: 0 -1 1 1 rgba(0, 0, 0, 1)!important; */
}
#conFoo{
    cursor: pointer;
    font-size: 1.4rem;
    color: #858585;
}
	$('#cloBtn').click(function () {
            $('.btnNav').removeClass('show').addClass('hide');
            if ($(window).innerWidth()<= 992) {
                $('body').css('overflow', 'auto');
            }
        })
        $('.myMenu').click(function () {
            $('.btnNav').removeClass('hide').addClass('show');
            // <!-- 小于992px时滚动条问题 -->
            if ($(window).innerWidth()<= 992) {
                $('body').css('overflow', 'hidden');
            }
        })

3.页面效果

由于受到图片上传大小的限制这里只能放一张图,如果想看到不同响应层效果可复制上面代码

请添加图片描述

总结

通过这次项目的学习,对footstrap的栅格系统有了进一步的理解,footstrap虽然能让我们减少大量的代码,但它也不是万能的,项目中一些特殊的需求比如弹出导航框功能,滑动卡片功能就需要自己整理逻辑,基本功还是要打扎实。
案例实现过程中所踩的坑写再笔记里,希望感兴趣的大佬可以给一些建议:click

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值