CSS项目基础实战:实现小米官网+详细步骤分析+出错问题总结

    1.有关项目的基本结构:
      |--html 文件与 CSS 文件单独设置分开。

      |--在html中引入:
         |--重置样式表
         |--网页基本样式表:所有网页所共有使用的部分:网页宽度、网页字体、颜色、设置最小宽度、clearfix,消除浮动带来的影响       
         |--图标字体库

      |--结构:
         |--CSS:文件夹(bace.css、index.css、reset.css、all.css)
         |--Img:图片文件夹
         |--fas:图标字体库
         |--html文件(index.html)

具体的实现分析:
 一、顶部导航条
    1. 先把结构写出来
      |--创建外部容器,class="top_bar_wrapper"
         |--实际内容容器,class = "top_bar"

            |--左边导航条,class = "service"
                |--具体每一项用列表实现 ,都一样不需要另外设置样式的不用设置class
                    <ul> <li></li> </ul>
                |--分割线 '|',需要设置样式,则设置class
                    <li class ="split"> | </li>

            |--中间登录信息,class = "user-info"

            |--右边购物车,class = "shop-car"

    2.设置顶部导航条的样式
        |--大体布局
           |--容器的背景颜色、行高
           |--整体的浮动布局
               |--左边导航块需要向左浮动,个人信息与购物车向右浮动
               |--内部的 li 全部向左浮动,才能显示在一行
           |--具体设置样式
               |--超链接部分:文本字体、hover效果
               |--各种 margin 间距细微的调节
               |--购物车样式 :背景、hover效果

    3.设置顶部导航条中下拉框的样式
      |-- 分析结构:因为整个下拉框都可以点击,所以内容在a里面
          |--在列表 中的app超链接中 中有一个块元素,块元素:图片img+span文字
          |--app显示下面还有一个三角形,利用伪元素 after 添加一个 边框
      |-- 影响因素:
        |--因为父元素是外部导览框,设置了line-height为40,所以会影响里面的span
           那么需要重置 line-height:1
        |--下拉块元素设置了宽高,但是父元素的宽高不够,相当于宽度上撑开了app的宽度,
           高度上是溢出的,加上位置上需要细微调整,所以开启绝对定位,那么app也要开启
           相对定位。
      |-- 再设置样式
        |--背景
        |--文字样式
        |--定位、布局
        |--平常显示,点击出现、出现的效果如何处理 animation :height


二、头部导航块
    1.分析结构
      |--最外层有个头部容器 class="hearder-wrapper"

      |--中间实际的内容容器 class = "hearder"
      logo块向左浮动
            |--左边logo块,logo一般比较重要,设置成 h1  class = "logo"
               |--鼠标hover出现“小米官网”的显示,直接设置title可以
                  
               |--logo图片可以点击,所以是超链接 <a> 里面放置 <img> 

               |--有两张图片链接,所以设置两个超链接,隐藏一个,设置偏移量实现。
                一个超链接的通用格式,另一个单独设置背景图片,偏移量实现切换的效果

                  <h1 class="logo" title="小米官网">
                        <a class ="mi " href="javascript:;"></a>
                        <a class ="home" href="javascript:;"></a>
                  </h1>

            |--中间导航块  class = "nav"
                |--<ul></ul>里面很多个<li></li> 里面放置超链接 <a></a>
                    |--<li></li>可以显示下拉菜单
                    |--只有部分内容点击会出现下拉框,所以另外给某些li设置 class="hover-show"
                |--下拉菜单栏 class="show",分析其宽度直接是全屏宽度,所以开启相对定位的父类应为 header-wrapper
            

            |--右边搜索块外部容器  class = "search-wrapper"
              利用<form action="#"></form>里面设置表单选项,输入框
                |--左边文本输入框 ,<input type="text">,class = "search-info"
                |--右边提交按钮,<button></button>,插入图标字体 class="search-botton"

    2.样式设置
      |--logo
         背景图片切换,开启绝对定位,用 transition +偏移量

    3. 下面的左侧导航,是嵌套在头部导航条中的 全部商品分类中。class = "nav-list-menu"
       每一个都是超链接,则结构为:<li><a href=""></a></li>

       结构应为:
       <div class="nav">
                <ul>
                    <li class = "nav-list-menu">
                        <a href="javascript:;">
                            全部商品分类
                        </a>
                        <ul>
                            <li><a href="">...</a></li>
                            ...
                        </ul>
                    </li>

                    ...
                </ul>                       
        </div>
        
    4.左侧导航栏hover之后出现的向右展开的框
       |---所有连接点hover都会出现,所以是绑定在与内部 li 兄弟元素创建一个div
         class  = "show-right"

    5.banner,中间最重要的图片展示部分
    |---结构
       |---外部容器 class = "banner"
          |---实际内容区域 class = "banner-wrapper"
              |---超链接图片列表 class = "banner-img-list"
                <li>
                   <a href="javascript:;">
                      <img src="" alt="">
                   </a>
                </li>

              |---下面小点 class  = "pointer",直接是一个超链接结构
                 <a href="#"></a>

              |--- 两边的箭头切换图标,利用雪碧图实现 容器 class = "pre-next"
                  两个超链接 a 元素  |---class = "pre"
                                    |---class = "next" 

    6.右边固定定位的超链接块元素。
    固定在屏幕右边,并且不会屏幕的宽度改变到一定程度之后会有响应式变化
    |---与其他部分没有联系,可以单独设置 class="fix-part"

    7.分析底部的结构(都要设置向左浮动)
       |---左边一个块元素,class = "fast-nav",结构均为超链接里面有图标和文本
                <ul>
                    <li>
                        <a href="">
                            <i></i>
                            显示文字
                        </a>
                    </li>
                </ul>

        |---右边一个块元素,class = "pic-show"
            <ul>
                <li><img src="" alt=""></li>
                <li><img src="" alt=""></li>
                <li><img src="" alt=""></li>
            </ul>
           
<!--
    有关实战小米官网 的笔记:
    戒之戒之!!!宁愿一个项目做个五遍到滚瓜烂熟,也不能急急的往后学!!!

    1.有关项目的基本结构:
      |--html 文件与 CSS 文件单独设置分开。

      |--在html中引入:
         |--重置样式表
         |--网页基本样式表:所有网页所共有使用的部分
             |--网页宽度
                    .w{
                         width: 1226px;
                         margin:0 auto;
                      }
             |--网页字体、颜色、设置最小宽度!防止缩放过程当中结构异常
                  body{
                        font:14px/1.5 Helvetica Neue,Helvetica,Arial,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif;
                        color:#333;
                        min-width: 1226;
                     }
             |--clearfix,消除浮动带来的影响
                   clearfix::beafore,
                   clearfix::after{
                             content:'';
                             display:table;
                             clear:both;
                        }
         |--图标字体库

      |--结构:
         |---CSS:文件夹
         |--Img:图片文件夹
         |--fas:图标字体库
         |--html文件

    2.由设计图观察分析结构,至上而下,分治实现。并给每一步结构容器加上注释!
        |--每一块的基本结构写出来了
        |--再去设置样式,把效果做出来。
            |---设置样式时,一般在外部容器设置定位布局等,在整个页面上的样式
            |---在具体设置,li列表样式、a超链接样式等等。要区分开来,混成一团很容易相互影响效果出不来。
        |--样式里面先 从外往内设置布局,定位。再去设置细节(字体、颜色、点击效果)

    3.什么时候要设置class
        |--需要另外设置样式的则需要设置 class
        |--超链接、图标字体的设置,一层包一层。
           <li>
               <a href="javascript:;">
                    <i class="fas fa-shopping-cart"></i>
                    购物车 (超链接显示的文本)
                </a>
           </li>
        |-- 最好在设置样式,写名字时,一起写上父类的块,可读性强。
           .nav .hover-show:hove   VS    .hover-show:hover

    4.关于鼠标hover,不仅在点击文字,也在点击整个块时都有感应,这是需要将
    超链接设置为block,因为超链接是行内元素。

    5. 有关何时要设置clearfix,对于最外部的容器,设置了浮动,
     此时就把它设置就ok,内部的开启浮动的不必再重复设置clearfix,比较保险

    6.超链接是否要设置 ,display:block,防止设置居中无效,使整块内容都可以点击
     另外如果元素设置了 position:absolute,那么直接转化为块元素,可以不用例外设置为block

    7.父元素中为了文字居中设置了行高,那么作为子元素中的行内元素,如 li span 
      都会继承这个属性,在定位上受到影响,需要进行重置。line-height:1

    8. 背景图片居中的设置方式
       background-position: center;

    9.为什么过渡效果显示不出来:因为初始状态不确定!
       开始是 left:0 ——> left:100px ,就可以显示出来
       但如果一开始没有指定 left的效果,(默认是auto)就不会出现这个效果。

    10. 点击时关联hover状态下的某个元素样式,必须能找到这个元素,才会生效
        .logo:hover .mi{} ,表示hover logo 时块元素mi的状态设置
        .nav .hover-show:hover ~ .show,表示 nav下面的li在hover状态时,后面兄弟元素show的状态设置

    11. 表单输入框,会有默认的一些设置,所以需要重置
        box-sizing:border-box;
        border:none;
        outline:none;

    12.层级之间的相互覆盖。对于同一个东西,你不想它的结构被后面的同名选择器修改,可以添加父类,使它有更高的有限级。
      li a{}   改为 .nav li a{},是同一个东西但是后一个不会被前一个覆盖。

    13.有继承关系的子父类,样式也会继承,所以这个时候需要格外小心,像是列表里面有列表,
    可以用 .nav > li 来区分,表示直接的子类 li



-->

 

以下是index的html文件:

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>
        小米商城 - 小米10 Pro、Redmi 10X、小米MIX Alpha,小米电视官方网站
    </title>
    <!--引入各种css样式表-->
    <link rel="stylesheet" href="./CSS/reset.css">
    <link rel="stylesheet" href="./CSS/index.css">
    <link rel="stylesheet" href="./CSS/base.css">
    <link rel="stylesheet" href="./fa/css/all.css">

</head>

<body>
    <!--顶部导航条容器-->
    <div class="top_bar_wrapper">
        <!--实际内容区容器
            此时需要引入基本的格式,所以加上 w
            要消除浮动带来的高度塌陷问题,引入clearfix-->
        <div class="top_bar w clearfix">
            <!--左边内容-->
            <div class="service">
                <ul>
                    <li>
                        <a href="javascript:;">小米商城</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">MIUI</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">loT</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">云服务</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">金融</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">有品</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">小爱开放品台</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">企业团购</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">资质证照</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">协议规则</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a class="app" href="javascript:;">
                            下载app
                            <div class="qrcode">
                                <img src="./img/download.png" alt="">
                                <span>小米商城APP</span>
                            </div>
                        </a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">智能生活</a>
                    </li>
                    <li class="split"> | </li>


                    <li>
                        <a href="javascript:;">Selection Location</a>
                    </li>

                </ul>

            </div>

            <!--右边购物车内容-->
            <div class="shop-car">
                <ul>
                    <li>
                        <a href="javascript:;">
                            <i class="fas fa-shopping-cart"></i>
                            &nbsp;购物车(0)
                            <div class="shop-car-info">
                                购物车中还没有商品,赶紧选购吧!
                            </div>
                        </a>
                    </li>

                </ul>

            </div>

            <!--中间个人信息-->
            <div class="user-info">
                <ul>
                    <li>
                        <a href="javascript:;">登录</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">注册</a>
                    </li>
                    <li class="split"> | </li>

                    <li>
                        <a href="javascript:;">消息通知</a>
                    </li>

                </ul>

            </div>
        </div>
    </div>

    <!--头部导航容器-->
    <div class="header-wrapper">
        <!--头部内容块-->
        <div class="header w">
            <!--logo标志块-->
            <h1 class="logo" title="小米官网">
                <a class="mi " href="javascript:;"></a>
                <a class="home" href="javascript:;"></a>
            </h1>

            <!--中间导航区域-->
            <div class="nav">
                <ul>
                    <li class="nav-list-menu">
                        <a href="javascript:;">
                            全部商品分类
                        </a>

                        <!-- 以下只有部分键点击会出现下拉框,所以另外设置一个类 -->
                        <ul class="nav-list">
                            <li>
                                <a href="javascript:;">
                                    手机 电话卡
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    电视 盒子
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    笔记本 显示器
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    家电 插线板
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    出行 穿戴
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    智能 路由器
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    电源 配件
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    健康 儿童
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    耳机 音箱
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    生活 箱包
                                    <i class="fas fa-angle-right"></i>
                                </a>
                            </li>

                            <!-- 创建一个往右展开的商品框 -->
                            <div class="show-right"></div>

                        </ul>
                    </li>

                    <li class="hover-show"><a href="javascript:;">小米手机</a></li>
                    <li class="hover-show"><a href="javascript:;">Redmi红米</a></li>
                    <li class="hover-show"><a href="javascript:;">电视</a></li>
                    <li class="hover-show"><a href="javascript:;">笔记本</a></li>
                    <li class="hover-show"><a href="javascript:;">家电</a></li>
                    <li class="hover-show"><a href="javascript:;">路由器</a></li>
                    <li class="hover-show"><a href="javascript:;">智能硬件</a></li>

                    <li><a href="javascript:;">服务</a></li>
                    <li><a hclass="hover-show" ref="javascript:;">社区</a></li>

                    <!-- 创建一个下拉商品展示栏 -->
                    <div class="show"></div>
                </ul>

            </div>

            <!--右边搜索框-->
            <div class="search-wrapper">
                <form class="search" action="#">
                    <!--文本输入框-->
                    <input class="search-info" type="text" name="search">

                    <!--搜索按钮-->
                    <button class="search-botton">
                        <i class="fas fa-search"></i>
                    </button>
                </form>
            </div>

            <!-- 轮播图的外部容器 -->
            <div class="banner">
                <!-- 实际内容容器 -->
                <div class="banner-wrapper w clearfix">
                    <!-- 超链接图片 -->
                    <div class="banner-img-list">
                        <ul>
                            <li>
                                <a href="javascript:;">
                                    <img src="./img/banner1.jpg" alt="">
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    <img src="./img/banner2.jpg" alt="">
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    <img src="./img/banner3.jpg" alt="">
                                </a>
                            </li>

                            <li>
                                <a href="javascript:;">
                                    <img src="./img/banner4.jpg" alt="">
                                </a>
                            </li>
                        </ul>
                    </div>

                    <!-- 轮播图小点 -->
                    <div class="pointer">
                        <a href="javascript:;"></a>
                        <a href="javascript:;"></a>
                        <a href="javascript:;"></a>
                        <a class="active" href="javascript:;"></a>

                    </div>

                    <!-- 图片切换的图标 -->
                    <div class="pre-next">
                        <!-- 上一张图片 -->
                        <a class="pre" href="javascript:;"></a>
                        <!-- 下一张图片 -->
                        <a class="next" href="javascript:;"></a>
                    </div>

                </div>
            </div>


        </div>
    </div>

    <!-- 设置右边的响应式分布 -->
    <div class="fix-part">
        <ul>
            <li>
                <a class="pic-hover" href="javasrcipt:;">
                    <i class="fab fa-slideshare"></i>
                    <div class="pic">
                        <img src="../mi_1/img/download.png" alt="">
                        扫码领取新<br>
                        人百元礼包
                    </div>
                </a>
            </li>

            <li>
                <a href="javasrcipt:;">
                    <i class="fas fa-info"></i>
                    <div class="display-info">
                        个人中心
                    </div>
                </a>
            </li>

            <li>
                <a href="javasrcipt:;">
                    <i class="fas fa-phone-volume"></i>
                    <div class="service-after">
                        售后服务
                    </div>
                </a>
            </li>


            <li>
                <a href="javasrcipt:;">
                    <i class="fas fa-truck"></i>
                    <div class="human-service">
                        人工客服
                    </div>
                </a>
            </li>

            <li>
                <a href="javasrcipt:;">
                    <i class="fas fa-bell"></i>
                    <div class="car-info">
                        购物车(0)
                    </div>
                </a>
            </li>
        </ul>
    </div>

    <!-- 设置底部的样式 -->
    <div class="button-wrapper w">
        <div class="fast-nav">
            <ul>
                <li>
                    <a href="#">
                        <i class="fas fa-clock"></i>
                        小米秒杀
                    </a>
                </li>
                <li>
                    <a href="#">
                        <i class="fas fa-building"></i>
                        企业团购
                    </a>
                </li>

                <li>
                    <a href="#">
                        <i class="fas fa-frog"></i>
                        F码通道
                    </a>
                </li>
                <li>
                    <a href="#">
                        <i class="fas fa-robot"></i>

                        米粉卡
                    </a>
                </li>
                <li>
                    <a href="#">
                        <i class="fas fa-keyboard"></i>

                        以旧换新
                    </a>
                </li>
                <li>
                    <a href="#">
                        <i class="fas fa-sim-card"></i>

                        话费充值
                    </a>
                </li>
            </ul>
        </div>

        <div class="picture-show">
            <ul>
                <li>
                    <a href="javascript:;">
                        <img src="./1.jpg" alt="">
                    </a>
                </li>

                <li>
                    <a href="javascript:;">
                        <img src="./2.jpg" alt="">
                    </a>
                </li>

                <li>
                    <a href="javascript:;">
                        <img src="./3.jpg" alt="">
                    </a>
                </li>
            </ul>
        </div>
    </div>
</body>

</html>

 

以下是设置的index.css文件

 

/*顶部导航条的外部容器设置*/
.top_bar_wrapper{
    background-color:#333;
    height:40px;
    line-height: 40px;
}

/* 将所有超链接设置为block,这样一方法可以整块点击,另一方面更好设置属性 */
.top_bar a{
    display:block; /*整一块表格的部分都是可以点击的,故而设置*/
    font-size: 12px;
    color: #b0b0b0;

}

/*导航条的浮动设置*/
.service,
.top_bar li{
    float: left;

}

.user-info,
.shop-car{
    float:right;
}



/*左边导航的样式设置*/

/*分割线*/
.split{
    font-size:12px;
    color:#424242;
    margin:0 8px;
}

/*鼠标hover状态*/
.top_bar a:hover{
  
    color:white;
}

/*购物车样式设置*/
.shop-car a {
    width: 120px;
    background-color:#424242;
    text-align:center;
   
}
.shop-car{
    margin-left:26px;
}


/*购物车 hover样式*/
.shop-car a:hover{
    background-color:white;
    color:#FF6700;
}


/*设置下载app的下拉框图样式*/

.app{
    position: relative;/*子类开启了定位,那么父类必须开启定位*/
}

/*容器样式*/
.qrcode{
    width: 124px;
    height: 0;/*通过高度变化来表现下拉效果*/
    background-color: #fff;
    box-shadow:0 0 10px rgba(0, 0, 0, .3);
    line-height: 1;/*重置父类行高设置的影响*/
    text-align: center;/*使内部的行元素居中对齐*/

    position: absolute;/*使其脱离文档流,app的行宽不会被撑开,并且易于调整位置*/
    left:-40px;/*微调位置*/

    /*设置高度为0,超过部分是隐藏的,这样才能看到拉伸下来的效果*/
    overflow: hidden;
    transition: height 0.3s;
    z-index: 9999;


}

/*图片样式*/
.qrcode img{
    width: 90px;/*直接设置图片的大小*/
    margin:17px;
    margin-bottom: 10px;
    
}

/*文字样式*/
.qrcode span{
    font-size: 14px;
    color: #000;
   
}

/*下三角样式*/
.app::after{
    content: '';/*伪元素必须设置插入的内容才有空间*/

    /*利用边界设置出下三角的样式*/
    width: 0;
    height: 0;
    border:8px solid transparent;
    border-top:none;
    border-bottom-color: white;

    /*微调位置*/
    position: absolute;
    bottom:0;
    right: 0;
    left: 0;
    margin:auto;

    /*只有hover时才显示,一般情况之下是默认隐藏的*/
    display: none;
}

/* 设置鼠标hover 下载app时显示下拉框 */
.app:hover .qrcode,
.app:hover::after{
    display: block;
    height: 148px;

}

/* 设置购物车的下拉样式 */
.shop-car{
    position: relative;
}

/* 下拉框样式 */
.shop-car-info{
    width: 320px;
    height: 0;

    /* 设置使文字居中 */
    color:black;
    text-align: center;
    line-height: 100px;

    background-color: white;
    box-shadow:2px 2px 5px rgba(0, 0, 0, .1),-2px 2px 5px rgba(0, 0, 0, .1);
    
    /* 微调位置 */
    position: absolute;
    right: 0;
    overflow: hidden;
    transition: height 0.3s;
    z-index: 9999;
}

.shop-car:hover .shop-car-info{
   height: 100px;
}

/* 设置头部导览框的样式 */

/* 外部容器 */
.header-wrapper{
    height: 100px;
    position: relative;
}


/* 设置logo容器的样式 */
.logo{
    /* 浮动 */
    float:left;
    width: 55px;
    height: 55px;
    margin-top:22px;
    
    position: relative;

    /* 使只显示一张图片 */
    overflow:hidden;
}

/* 统一设置超链接的样式,先固定显示logo图片为背景。再hover时偏移改变 */
.logo a{
    width: 55px;
    height: 55px;
    background-image: url(../img/mi-logo.png);
    background-position: center;/*  背景图片居中的设置方式*/
    background-color: #ff6700;

    position: absolute;/* 使他脱离文档流而利于布局,横着排列 */

    /* transition时必须要有一个确定的初始状态,如果是auto的不知道咋变,就没有效果 */
    left:0;
    transition:left 0.1s; 
}

/* 此时单独设置另一张图片的背景图片,实现背景变换的效果 */
.logo .home{
    position: absolute;/* 使他脱离文档流而利于布局,横着排列 */
    left:-55px;/* 初始定位,溢出不显示 */
    background-image:url("../img/mi-home.png");
    background-position: center;
}

.logo:hover .mi{
    left:55px;/* 位移出去 */
}
.logo:hover .home{
    left:0px;/* 位移进来 */
}

/* 设置头部中间的导览框 */
.nav{
    /* 定位 */
    float:left;
    margin-left:7px;
    padding-left: 58px;
}

.nav >ul> li {
    /* 这里影响后面的嵌套的子类的子类li,所以需要一.nav>li来区分 */
    float:left;
}

.nav li a{
    display:block;
    line-height: 100px;
    font-size:16px;
    color:black;
    margin:0 10px;
}

.nav a:hover{
    color:#ff6700;
}

/* 设置下拉商品栏 */
.nav .show{

    /* 基本样式 */
    width: 100%;
    /* 一般情况先隐藏,hover之后显现 */
    height:0px;
    overflow: hidden;
    background-color:white;
    box-shadow: 0 5px 5px rgba(0, 0, 0, .1);

    /* 微调定位 */
    position: absolute;
    top:100px;
    left:0;/* 正奇怪为什么明明开启了父类的相对定位,宽度还不一致,原来是left没有设置 */ 

    /* 过渡效果 */
    transition:height 0.3s;

    z-index: 9999;
}

.nav .hover-show:hover ~ .show,
.nav .show:hover{
    /* 开始设置a:hover 出不了效果,因为这里 a不是与show是兄弟关系,所以这样找不到show。 */
    /* 复习:~ 是·后面的所有兄弟,+ 是后面的第一个兄弟 */
    height:228px;
    border-top:1px solid rgb(224,224,224);
}


/* 设置右边的搜索框 */

/* 设置外部容器样式 */
.search-wrapper{
    width: 296px;
    height: 50px;
    float: right;
    margin-top: 25px;
}
/* 设置搜索框的样式,输入框有自带的样式,所以需要删除重置 */
.search-wrapper .search-info{
    /* 重置样式 */
    box-sizing:border-box;
    border:none;
    outline:none;

    float:left;

    /* 微调定位 */
    width: 223px;
    height: 48px;
    font-size:16px;
    border: 1px solid rgb(224, 224, 224);
    padding:0 10px;   
}

/* 设置搜索框的样式 */
.search-wrapper .search-botton{
    box-sizing:border-box;
    border:none;
    outline:none;


    float: left;

    height: 48px;
    width: 50px;
    padding: 0;
    background-color: #fff;
    color: #616161;
    font-size: 16px;
    border: 1px solid rgb(224, 224, 224);
    /* 两个边框重合,所以需要另外设置 */
    border-left:none;
}

/* 设置获取焦点时的状态改变 */
.search-wrapper .search-info:focus,
.search-wrapper .search-info:focus + .search-botton{
    border-color: #ff6700;
}

.search-wrapper .search-botton:hover{
    background-color:#ff6700;
    color:white;
}


/* 设置中间左侧导航的样式 ,因为其继承自头部导航li,所以样式可能会受继承影响*/
.nav-list-menu{
    position: relative;
}
.nav-list{
    width: 234px;
    height: 420px;
    padding:20px 0;
    background-color:rgba(0, 0, 0, .6);

    position:absolute;
    left:-120px;

    z-index: 999;
   
}

.nav-list li i{
    float:right;
    font-size:16px;
    /* 设置浮动之后行高没用了,所以位置靠上,需要重新设置 */
    line-height:42px;
}

.nav-list li a{
    display:block;
    height: 42px;
    line-height: 42px;
    color:white;
    font-size:14px;
    padding:0 30px;
    /* 避免继承的父类li样式的影响 */
    margin:0px;
}

.nav-list li a:hover{
    background-color:#ff6700;
    color:white;
}


.show-right{
    height: 460px;
    width: 990px;
    visibility: hidden;
    background-color:white;
    position: absolute;
    left:234px;
    top: 0px;
    box-shadow:0 0 10px rgba(0, 0, 0, .1);
    border:1px solid rgba(0, 0, 0, 0.116);
    z-index: 999;


}

.nav-list li:hover ~ .show-right {
    visibility: visible;
    

}

/* 设置banner */

.banner-wrapper{
    position: relative;
    top:100px;
    left:0;
}

.banner-img-list li{
    position: absolute;
}

/* 设置图片样式 */
.banner-img-list img{
    width: 100%;
    vertical-align: top;
}

/* 设置点的样式 */

/* 先定位 */
.pointer{
    /* 不能一起设置单个点的样式,float设置看不到 */  
    position: absolute;
    bottom: -425px;
    right: 35px;

}
/* 在对自身设置样式 */
.pointer a{
    float:right;
    width: 6px;
    height: 6px;
    margin-right: 6px;;
    border:2px solid rgba(255,255,255,.5);
    border-radius: 50%;
    background-color:rgba(0, 0, 0, .6);
}

.pointer a:hover,
.pointer a.active{
    background-color: rgba(255,255,255,.5);
    border:2px solid rgba(0, 0, 0, .6);
}


/* 先设置基本的样式 */
.pre-next a{
    width: 41px;
    height: 69px;
    background-image: url(../img/icon-slides.png);

    position: absolute;
    
    
}
/* 再具体设置样式 */
.pre {
    left:234px;
    top:199px;
    background-position:-83px 0;
    
}

.next {
    left:1186px;
    top:199px;
    background-position:-123px 0;
}

.pre:hover{
    background-position:0 0;

}
.next:hover{
    background-position:-42px 0;
}


/* 设置右边的响应式块 */

/* 固定定位下来 */
.fix-part{
    width: 26px;
    height: 206px;
    border:1px solid rgba(102, 99, 99, 0.1);

    position:fixed;
    top:392px;
    left:50%;
    margin-left:613px; /* 利用计算auto的公式来固定在页面的位置,使其位置不随页面大小的变化而变化 */
}

/* 先固定所有超链接hover之后颜色的变化 */
.fix-part a:hover{
    color:#FF6700;
}

/* 设置响应块的样式 */
.fix-part li a{
    display:block;
    line-height: 40px;
    font-size:18px;
    color:#999999;
    text-align: center;
    
    border:1px solid rgba(102, 99, 99, 0.1);
    border-right:none;
    border-left:none;
    border-bottom:none;
    
}


/* 设置向右的下拉框的样式*/
.fix-part .pic{
    width: 124px;
    height: 170px;
    background-color: #fff;
    box-shadow:0 0 10px rgba(0, 0, 0, .3);
    line-height: 1;
    text-align: center;
    font-size:14px;
    color:#9B9B9B;

    position: absolute;
    left:-135px;
    top:0;

    z-index: 9999;

    display: none;

}
/* 设置下拉框图片的大小 */
.pic img{
    width: 90px;
    margin:17px;
}

/* 设置指向小三角形,利用border实现  */
.pic::after{
    content: '';
    border:10px solid white;
    height: 0;
    width: 0;
    border-right:none;
    border-top-color: transparent;
    border-bottom-color: transparent;
    position: absolute;
    right:-10px;
    top:10px;

}

/* 鼠标hover之后显示下拉框 */
.pic-hover:hover .pic{
    display: block;
}

/* 设置其他标签hover的基本样式 */
.fix-part .display-info,
.fix-part .human-service,
.fix-part .service-after,
.fix-part .car-info{
    width: 80px;
    height: 40px;
    background-color: #fff;
    line-height: 40px;
    text-align: center;
    font-size:14px;
    color:#9B9B9B;

    position: absolute;
    right:35px;
    display: none;

}
/* 微调定位 */
.display-info{
    top:42px;
}
.service-after{
    top:84px;
   
}
.human-service{
    top:126px;
}
.car-info{
    top:168px;
}

/* 小三角的样式设置,同理 */
.display-info::after,
.human-service::after,
.service-after::after,
.car-info::after
{
    content: '';
    border:10px solid white;
    height: 0;
    width: 0;
    border-right:none;
    border-top-color: transparent;
    border-bottom-color: transparent;
    position: absolute;
    right:-10px;
    top:8px;

}

/* hover之后显示 */
.fix-part a:hover >div{
    display: block;
}

/* 设置媒体响应样式,当屏幕宽度小于1278 px时位置固定在右边框,屏幕最小宽度是1226px */
/* 问题:还是不见了显示不出来 */
@media all and (max-width:1278px){
    .fix-part{
        

        position:fixed;
        top:392px;
        left:100%;
        z-index: 9999;
   }
}

/* 设置底部导航快捷方式的样式 */
/* 定位 */
.button-wrapper{
    position: relative;
    top:475px;
    width: 100%;
    
}

/* 设置浮动 */
.fast-nav,
.picture-show,
.fast-nav li,
.picture-show li{
    float:left;
}

/* 设置快捷方式的外部样式 */
.button-wrapper .fast-nav {
    width: 228px;
    height: 168px;
    background-color:#5f5750
}

/* 列表的具体样式 */
/* 设置li 还是 a 是一样的 */
.fast-nav a{
    display:block;
    color:#cfccca;
    text-align:center;
    height: 80px;
    width: 73px;
    font-size: 12px;
    border:1px solid #665E57;
}
/* 细调位置 */
.fast-nav i{
    display:block; /*这样才能独占一行 */
    font-size:20px;
    margin-top:20px;
    margin-bottom: 10px; 
}

.fast-nav a:hover{
    color:white;
}

/* 设置图片广告的外部样式 */
.picture-show li{
    width:316px;
    margin-left:15px;
}

/* 设置图片的样式 */
.picture-show img{
    width: 100%;
    vertical-align: top;  
}


 

以下是基本样式表:base.css文件

clearfix::beafore,
clearfix::after{
    content:'';
    display:table;
    clear:both;
}

.w{
    width: 1226px;
    margin:0 auto;
}



body{
    font:14px/1.5 Helvetica Neue,Helvetica,Arial,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif;
    color:#333;
    min-width: 1226;
}

a{
    text-decoration:none;
    color: #b0b0b0;
    font-size:12px;
}

 

以下是重置样式表 reset.css

/* v2.0 | 20110126
  http://meyerweb.com/eric/tools/css/reset/ 
  License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值