CSS自学Day9-(项目案例)小兔鲜儿项目结构搭建

目录

快捷导航-布局

快捷导航-内容

header-布局

logo和导航

搜索

购物车

版权-布局

版权-li内容完成

版权底部


 文件和目录准备

1. 新建项目文件夹 xtx-pc-client ,在VScode中打开
在实际开发中,项目文件夹不建议使用中文
所有项目相关文件都保存在 xtx-pc-client 目录中
2. 复制 favicon.ico xtx-pc-client 目录
一般习惯将ico图标放在项目根目录
3. 复制 images uploads 目录到 xtx-pc-client 目录中
images :存放网站 固定使用 的图片素材,如:logo、样式修饰图片… 等
uploads:存放网站 非固定使用 的图片素材,如:商品图片、宣传图片…等
4. 新建 index.html 在根目
5. 新建 css 文件夹保存网站的样式,并新建以下CSS文件:
base.css:基础公共样式
common.css:该网站中多个网页相同模块的重复样式,如:头部、底部
index.css:首页样式

css文件

base.css:


/* 清除默认样式的代码 */
/* 去除常见标签默认的 margin 和 padding */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
input {
  margin: 0;
  padding: 0;
}

/* 內减模式 */
* {
    box-sizing: border-box;
}

/* 设置网页统一的字体大小、行高、字体系列相关属性 */
body {
  font: 16px/1.5 "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei",
    "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", sans-serif;
  color: #333;
}

/* 去除列表默认样式 */
ul,
ol {
  list-style: none;
}

/* 去除默认的倾斜效果 */
em,
i {
  font-style: normal;
}

/* 去除a标签默认下划线,并设置默认文字颜色 */
a {
  text-decoration: none;
  color: #333;
}

/* 设置img的垂直对齐方式为居中对齐,去除img默认下间隙 */
img {
  vertical-align: middle;
}

/* 去除input默认样式 */
input {
  border: none;
  outline: none;
  color: #333;
}

/* 左浮动 */
.fl {
  float: left;
}

/* 右浮动 */
.fr {
  float: right;
}

/* 双伪元素清除法 */
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}
.clearfix::after {
  clear: both;
}

html:

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="小兔鲜儿官网,致力于打造全球最大的食品、生鲜电商购物平台。">
    <meta name="keywords" content="小兔鲜儿,食品,生鲜,服装,家电,电商,购物">
    <title>小兔鲜儿-新鲜、惠民、快捷!</title>
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
    <!-- 按顺序引入,因为外链式样式表,后写的生效 -->
    <link rel="stylesheet" href="./css/base.css">
    <link rel="stylesheet" href="./css/common.css">
    <link rel="stylesheet" href="./css/index.css">
</head>

快捷导航-布局

效果图:

html:

<!-- 快捷导航 -->
    <div class="shortcut">
        <div class="wrapper">
            <ul>
                <li><a href="#">请先登录</a></li>
                <li><a href="#"></a></li>
                <li><a href="#"></a></li>
                <li><a href="#"></a></li>
                <li><a href="#"></a></li>
                <li><a href="#"></a></li>
            </ul>
        </div>
    </div>

common.css:

.wrapper{
    width: 1240px;
    margin: 0 auto;
}

.shortcut{
    height: 52px;
    background-color: #333;
}

.shortcut .wrapper{
    height: 52px;
    background-color: pink;
}

.shortcut .wrapper ul{
    float: right;
}

快捷导航-内容

效果图:

index.html:

<ul>
                <li><a href="#">请先登录</a></li>
                <li><a href="#">请先登录</a></li>
                <li><a href="#">请先登录</a></li>
                <li><a href="#">请先登录</a></li>
                <li><a href="#">请先登录</a></li>
                <li><a href="#">请先登录</a></li>
                <li><a href="#"> <span></span>请先登录</a></li>
            </ul>

common.css:

.shortcut .wrapper li{
    float: left;
    line-height: 52px;
}

.shortcut .wrapper  a{
    padding: 0 16px;
    border-right: 1px solid #666;
    font-size: 14px;
    color: #dcdcdc;
}

.shortcut .wrapper a span{
    display: inline-block;
    margin-right: 8px;
    width: 11px;
    height: 16px;
    background-image: url(../images/sprites.png);
    background-position: -160px -70px;
    
    vertical-align: middle;
}

header-布局

效果图:

index.html:

   <!-- 头部 -->
    <div class="header wrapper">
        <div class="logo"></div>
        <div class="nav">导航</div>
        <div class="search"></div>
        <div class="car"></div>
    </div>

common.css:

.header {
    margin: 30px auto;
    height: 70px;
}

.logo{
    float: left;
    width: 207px;
    height: 70px;
    background-color: pink;
}

.nav{
    float: left;
    margin-left: 40px;
    height: 70px;
    background-color: pink;
}

.search{
    float: left;
    margin-left: 34px;
    width: 172px;
    height: 30px;
    background-color: green;
}

.car{
    float: left;
    margin-left: 15px;
    width: 23px;
    height: 23px;
    background-color: skyblue;
}

logo和导航

效果图:

html:

 <div class="logo">
            <h1><a href="#">小兔鲜儿</a></h1>
        </div>
        <div class="nav">
            <ul>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
                <li><a href="#">首页</a></li>
            </ul>
        </div>
        <div class="search"></div>
        <div class="car"></div>

 common.css:

.logo{
    float: left;
    width: 207px;
    height: 70px;
    /* background-color: pink; */
}

/* logo 搜索引擎优化做法 */
.logo h1{
    width: 207px;
    height: 70px;
}

.logo h1 a{
    display: block;
    width: 207px;
    height: 70px;
    background-image: url(../images/logo.png);
    background-size: contain;
    /* 让h1里面的字看不见 */
    font-size: 0;
}



.nav{
    float: left;
    margin-left: 40px;
    height: 70px;
    background-color: pink;
}

.nav li{
    float: left;
    margin-right: 48px;
    line-height: 70px;
    color: #333;
}

.nav li a{
    padding-bottom: 7px;
}

.nav li a:hover{
    color: #27ba9b;
    border-bottom: 1px solid #27ba9b;
}

搜索

效果图:

index.html:

  <div class="search">
            <input type="text"  placeholder="搜一搜">
            <!-- 定位实现放大镜 -->
            <span></span>
        </div>


common.css:

.search{
    position: relative;
    float: left;
    margin-left: 34px;
    margin-top: 24px;
    width: 172px;
    height: 30px;
    /* background-color: green; */
    border-bottom: 2px solid #e7e7e7;

}

.search input{
    padding-left: 30px;
     width: 172px;
     height: 28px;
     
}

.search::placeholder{
    font-size: 14px;
    color: #ccc;
}

.search span{
    position: absolute;
    left: 2px;
    top: 0;
    display: inline-block;
    width: 18px;
    height: 18px;
    /* background-color: pink; */
    background-image: url(../images/sprites.png);
    background-position: -79px -69px;
}

购物车

效果图:

index.html:

<div class="car">
            <span>2</span>
        </div>

common.css:


.car{
    position: relative;

    float: left;
    margin-top: 28px;
    margin-left: 15px;
    width: 23px;
    height: 23px;
    /* background-color: skyblue; */
    background-image: url(../images/sprites.png);
    background-position: -119px -69px;
}

.car span{
    position: absolute;
    right: -13px;
    top: -6px;
    width: 20px;
    height: 15px;
    background-color: #e26237;
    border-radius: 8px;
    font-size: 13px;
    color: #fff;
    text-align: center;
    line-height: 15px;
}

版权-布局

效果图:

index.html:

 <!-- 版权区域 -->
    <div class="footer">
        <div class="wrapper">
            <div class="top">
                <ul>
                    <li></li>
                    <li></li>
                    <li></li>
                </ul>
            </div>
            <div class="bottom"></div>
        </div>
    </div>

ccommon.css:

/* 版权footer */
.footer{
    height: 342px;
    background-color: #333;
}

.footer .wrapper{
    width: 1293px;
}

.footer .top{
    padding-top: 59px;
    padding-left: 135px;
    height: 175px;
    border-bottom: 1px solid #434343;
}
.footer .top li{
    float: left;
    margin-right: 300px;
    width: 195px;
    height: 50px;
    background-color: pink;
}

.footer .top li:last-child{
    margin-right: 0;
}

版权-li内容完成

效果图:

index.html:

 <div class="top">
                <ul>
                    <li>
                        <!-- 通过伪元素添加标签,实现精灵图 -->
                        <span>价格亲民</span>
                    </li>
                    <li>
                        <span>价格亲民</span>
                    </li>
                    <li>
                        <span>价格亲民</span>
                    </li>
                </ul>
            </div>

common.css:

.footer .top{
    padding-top: 59px;
    padding-left: 135px;
    height: 175px;
    border-bottom: 1px solid #434343;
}
.footer .top li{
    position: relative;
    float: left;
    margin-right: 300px;
    width: 195px;
    height: 58px;
    /* background-color: pink; */

    line-height: 58px;
}

.footer .top li:last-child{
    margin-right: 0;
}

/* 伪元素添加的标签 行内模式 */
/* 如果行内块和行内文字无法通过vertical-algin或者行高对齐,定位 */
.footer .top li::before{
    position: absolute;
    left: 0;
    top: 0;
    /* display: inline-block; */
    content: '';
    width: 58px;
    height: 58px;
    background-image: url(../images/sprites.png);
    vertical-align: middle;
}

.footer .top li span{
    margin-left: 77px;
    font-size: 28px;
    color: #fff;
}

/* 第二个li里面的berfore添加位置图属性 */
.footer .top li:nth-child(2)::before{
    background-position: -64px 0;
}

版权底部

效果图:

index.html:

         <div class="bottom">
                <p>
                    <a href="#">关于我们</a>|
                    <a href="#">关于我们</a>|
                    <a href="#">关于我们</a>|
                    <a href="#">关于我们</a>|
                    <a href="#">关于我们</a>|
                    <a href="#">关于我们</a>|
                    <a href="#">关于我们</a>
                </p>
                <p>CopyRight @小兔鲜儿</p>
            </div>
        </div>

common.css:

.footer .bottom {
    padding-top: 40px;
    font-size: 14px;
    color: #999;
    text-align: center;
}

.footer .bottom a{
    font-size: 14px;
    color: #999;
}

.footer .bootom p{
    margin-bottom: 20px;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么时候养猫猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值