电商静态网页

HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>电商项目轮廓</title>
    <!-- 重置浏览器样式 ,在不同浏览器下显示一致-->
    <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/normalize/8.0.1/normalize.min.css">
    <!-- 前置工作的css -->
    <link rel="stylesheet" type="text/css" href="css/prepare.css">
    <!-- 引入主css -->
    <link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
    <!-- 电商布局 -->
    <!-- 布局思路 -->
    <!-- 网页最上面那部分 -->
    <!-- 所有浮动的母元素清除浮动 -->

    <!-- 网页最顶部部分 -->
    <div class="top-nav clear-float">
        <!-- container的目的是把所有的容器包起来 -->
        <div class="container clear-float">
            <!-- 定义容器里的小块,左右浮动的两个小块 -->
            <!-- 注意这里的container坍缩了,清除浮动 -->
            <div class="fl">
                <a class="item" href="">首页</a>
            </div>
            <div class="fr">
                <a class="item" href="">我的订单</a>
                <a class="item" href="">我的收藏</a>
                <a class="item" href="">登录</a>
                <a class="item" href="">注册</a>
            </div>
        </div>
    </div>

    <!-- 网页搜索栏那部分 -->
    <div class="header clear-float">
        <!-- 从左到右,分别是logo,搜索框,购物车,大概比例是2,5,3 -->
        <!-- 首先还是定义一个容器 -->
        <div class="container clear-float">
        <!-- 定义container里的三块内容 -->
            <div class="colume-2">
                <img src="images/logo.png" alt="">
            </div>
            <div class="colume-5 search-area">
                <input type="text"></input>
                <button>搜索</button>
            </div>
            <div class="colume-3 car">
                <a class="item" href="">购物车</a>
            </div>
        </div>
    </div>
    <!-- 网页主促销区 -->
     
    <div class="main-promote clear-float">
        <!-- 主促销区左边分类块,中间促销商品,右边公告,比例大概是2,6,2 -->
        <!-- 首先还是来个container包裹 -->
        <div class="container clear-float">
            <!-- 分成三块 -->
            <div class="colume-2 category">
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
                <div class="item">item/item</div>
            </div>
            <div class="colume-6">
                <div class="slider">
                    <img src="images/slider-01.png" alt="">
                </div>
                <div class="promote">
                    <div class="colume-05">
                        <img src="images/logo.png" alt="">
                    </div>
                    <div class="colume-05">
                        <img src="images/logo.png" alt="">
                    </div>
                </div>
            </div>
            <div class="colume-2 info ">
                <div class="author clear-float">
                    <div class="log"></div>
                    欢迎您购物
                    <div class="anno">
                        <div class="title">公告</div>
                        <div class="content">
                            这是一瓶起泡酒,也是一瓶纪念阿里巴巴成立20年的纪念酒,酒瓶上写有马云逍遥子的笔名,令人神奇的是马云还能在酒里说话...据了解,这瓶酒的正确开启方式是使用支付宝VR扫描盒外的二维码,并将手机放入盒子另一侧,手机中的视频就会反射到酒瓶上,形成类似全息投影的效果,看起来非常的神奇。这是一瓶起泡酒,也是一瓶纪念阿里巴巴成立20年的纪念酒,酒瓶上写有马云逍遥子的笔名,令人神奇的是马云还能在酒里说话...据了解,这瓶酒的正确开启方式是使用支付宝VR扫描盒外的二维码,并将手机放入盒子另一侧,手机中的视频就会反射到酒瓶上,形成类似全息投影的效果,看起来非常的神奇.
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- 网页子促销区 -->
    <!-- 促销区有很多行,以三行为例 -->
    <div class="sub-promote1 clear-float">
        <!-- 促销区是各种商品,每块大概占20% -->
        <!-- 首先以container容器包裹 -->
        <div class="container clear-float">
            <div class="colume-2">1</div>
            <div class="colume-2">2</div>
            <div class="colume-2">3</div>
            <div class="colume-2">4</div>
            <div class="colume-2">5</div>
        </div>
    </div>
    <div class="sub-promote2 claear-float">
        <!-- 促销区是各种商品,每块大概占20% -->
        <!-- 首先以container容器包裹 -->
        <div class="container clear-float">
            <div class="colume-2">1</div>
            <div class="colume-2">2</div>
            <div class="colume-2">3</div>
            <div class="colume-2">4</div>
            <div class="colume-2">5</div>
        </div>
    </div>
    <div class="sub-promote3 clear-float">
        <!-- 促销区是各种商品,每块大概占20% -->
        <!-- 首先以container容器包裹 -->
        <div class="container clear-float">
            <div class="colume-2">1</div>
            <div class="colume-2">2</div>
            <div class="colume-2">3</div>
            <div class="colume-2">4</div>
            <div class="colume-2">5</div>
        </div>
    </div>

    <!-- 网页的页脚 -->
    <div class="footer clear-float">
        <!-- 页脚有些文字,只需要使得文字居中即可 -->
        <div class="container clear-float">
            文字
        </div>
    </div>
</body>
</html>

CSS代码

/*准备工作*/


/*给所有的东西指定一下*/
* {
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    /*添加这个是加个透明度,便于分析不同元素位置,
    网页做好了删掉即可*/
    background-color: rgb(0,0,0,.1);
    /*页面颜色变化时间变得柔和一点,没0.2秒一次*/
    -webkit-transition:background 200ms;
    -o-transition:background 200ms;
    transition:background 200ms; 
}

/*给body再指定一下*/
body {
    font-size: 12px;
    color: #444;
    line-height: 1.7;
}
/*把所有的图片定义一下格式*/
img {
    display: block;
    max-width: 100%;
}

/*定义一个类,使其居中*/
.container {
    /*使其以块级元素显示,一般定义这个容器,都是块级*/
    display: block;
    /*最大宽度1080px,如果窗口宽度大于1080px,
    则只为1080px,如果窗口宽度小于1080px,则为最大窗口。*/
    max-width: 1080px;
    /*上下为0,左右auto,使其居中*/
    margin: 0 auto;
}
/*常用左右浮动*/
.fl {
    float: left;
}
.fr {
    float: right;
}
/*container有两个子元素,都是浮动的,这样就撑不起来了,故而container
的高度为0,这就需要清除浮动,使得container的高度重新撑起来*/
/*利用css里伪类的概念*/
.clear-float:after,
.clear-float:before {
    content: " ";
    display: block;
    clear: both;
}

/*元素并排显示*/
/*这里有个细节,如果你写<span>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
这样并不会说会显示理想的左边占50%,右边占50%,因为钯那么多a当成一个单词
不会自动给你换行*/
p {
    width: 25%;
    float: left;
}

/*在布局中经常使用,
可以定义一套标准,比如左边10%,右边90%等等
也就是原子类*/
.colume-1,
.colume-2,
.colume-3,
.colume-4,
.colume-5,
.colume-6,
.colume-7,
.colume-8,
.colume-9 {
    /*就是使得每一部分以块级元素显示*/
    display: block;
    /*每个部分与每个部分之间相对定位显示*/
    position: relative;
    /*给一个最小像素,确保这个有高度*/
    min-height: 1px;
    /*浮动*/
    float: left;
}
/*以上指定的是共性,下面指定他们的具体样式*/

.colume-1 {
    width: 10%;
}
.colume-2 {
    width: 20%;
}
.colume-3 {
    width: 30%;
}
.colume-4 {
    width: 40%;
}
.colume-5 {
    width: 50%;
}
.colume-6 {
    width: 60%;
}
.colume-7 {
    width: 70%;
}
.colume-8 {
    width: 80%;
}
.colume-9 {
    width: 90%;
}.top-nav {
    /*颜色浅灰*/
    background-color: #eee;

}

/*快捷键:选一个部分之后,按ctrl+d,可以连续选出所有和你选中的部分,
然后可以同时一起加上你想加的东西*/
a {
    /*去掉下划线*/
    text-decoration: none;
}

.top-nav .item {
    display: inline-block;
    /*top-nav类下的item类,上下6像素,左右10像素,单单只设置这个没用,因为
    a默认是inline,上下并不会约束到,应该首先将其转为display: inline-block*/
    padding: 6px 10px;
    /*
        关于inline和inline-block区别
        1、inline:内联,只有水平宽度可以调,没有高度,任何属性调高度无效
        2、inline-block:让元素以内联形式存在,也就是不是块级,但是表现起来
           又有块级元素的高度,,也就是可以调高度;
    */
    color: #666;
}
.top-nav .item:hover {
    color: red;
}


/*header*/
.header {
    /*header外边框上下20px,左右0px,整体上下就分离开*/
    margin: 20px 0px;
}
.header .search-area {
    /*边框设置,厚度为2个像素,实线,颜色*/
     border:2px solid #dd182b;
     background-color: #dd182b;
}
/*希望的是用外部的边框,但是需要input输入框,可以把input输入框隐藏*/
.header .search-area input,
.header .search-area button {
    /*不加这两个会掉下来,转为块元素*/
    display: block;
    float: left;
    /*设置border属性为0即可隐藏*/
    border:0;
    /*内边框距离是10像素,与button的内边框距离一样*/
    padding: 10px;
    /*与border很相似,将其值设为0没有描边*/
    outline: 0;
}
.header .search-area input {
    width: 80%;
}
.header .search-area button {
    width: 20%;
    /*将button背景色设为要求的颜色*/
    background-color: #dd182b;
}
.header .search-area button:hover {
    /*当鼠标经过button的时候,会变色,即获得焦点的时候*/
    background:#ce1829;
}
/*购物车所在的块居中显示*/
.header .car {
    text-align: center;
}

/*购物车的a块,设置有浮动,内边距和上面的logo和搜素栏一样,设置背景颜色
设置边框格式,a这个小块占car这个块的805,a的文字颜色是,注意color与background
的颜色区分开*/
.header .car a {
    float: right;
    padding: 10px;
    background: #fff;
    border:1px solid #eee;
    width: 80%;
    color: #dd182b;
}

.main-promote {
    background-color: #dedede;
}
/*
    注意:background-color和color区别:
    1、background-color背景颜色
    2、color字体颜色
*/
.main-promote .category {
    background: #616568;
    color:#fff; 
}
.main-promote .category .item {
    padding: 14px 20px;
}
/*rgba
    r红色值
    g绿色值
    b蓝色值
    a透明度 取值在0-1之间
*/
.main-promote .category .item:hover {
    background: rgba(0,0,0,0.1);
}
/*生成图片的网站:dummyimage.com*/
.main-promote .info {
    padding: 10px;
    /*
    line-height:行高,设置文字上下间的距离,可以让层里的元素居中;
    height:高度,定义一个块的高度;
    */
    /*line-height: 50%;*/
    background: #fff;
    color: #888;
    /*使得看起来更有质感*/
    box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.main-promote .info > * {
    margin-bottom: 10px;
}
.main-promote .info .log {
    width: 50px;
    height: 50px;
    background: #aaa;
    /*圆角*/
    border-radius: 50%;
    float: left;
    margin-right: 10px;
}

大概做成这个样子(图片没做比例,做个大概轮廓)

 

posted @ 2019-09-13 17:19  糖爱上了盐  阅读(481)  评论(0编辑  收藏  举报