传统企业站开发 - 模块开发

这几周我们接连讲解了如何实现一个页面的搭建,从最初的各种分析,标签选择,一直到可以实现页面的整体布局。这一系列的知识点讲解中,我们熟知了对一个网页PSD图的处理,也懂得了该如何着手进行页面开发。但是上周的标签选择那篇文章当中,我们发现在实现页面中的某个模块的时候,对于标签的使用有很多种选择,所以今天我们就给大家举一个例子来讲解下具体模块开发是如何进行的。

本文内容概要:

1 模块分析&标签选择

2 模块结构搭建

3 模块样式处理

4 模块开发视频讲解

5 课后作业

一、模块分析&标签选择

如上图,页面的头部和导航我们在之前都已经完成了,但是如下图中的“学堂展示”模块,这个模块在具体制作上该如何进行的呢?

参照设计图,我们应该怎么把它实现出来,这时候我们要经历的第一步正好是我们上周说过的标签选择,这时我们有好多种方式来进行制作。最简单的就是把小模块分成上部和下部来制作,上部是标题和More链接,下部是几个展示内容的标题,分别是一个个div,里面包含着一个数据图img和一个标题文字,在右侧还有一个箭头。

上述的这种制作方式也是可以的,不过我们既然学习过了常用的标签,我们今天就带大家使用另外一种方式来制作。模块也一样分成上下两个部分,上部分的制作方式跟原来一样制作。但是下部分制作我们采用dl、dt、dd标签来制作。每一个展示行都是一个dl标签,在里面的数据图放在dt标签里面,文字标题链接放在dd标签里面。

二、模块结构搭建

我们使用了一种新的标签选择方式来制作这个模块,但是具体怎么做结构的搭建呢?这点我们看下面的代码就能够明白了,结构搭建代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>H5course</title>
    <link rel="stylesheet" type="text/css" href="css/reset.css" />
</head>
<body>
   <div class="wrap">
        <div class="header">
            <img src="images/logo.png" alt="" />
            <h1><a href="" title="HTML5学堂"></a>HTML5学堂——h5Course</h1>
        </div>
        <div class="nav">
            <a class="active-nav" href="" title="">首页</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
            <a href="" title="">H5学堂</a>
        </div>
        <div class="main">
            <div class="bigpic">
            </div>
            <div class="manage">
                <div class="com-black">
                    <h2>学堂展示</h2>
                    <a href="">More</a>
                </div>
                <div class="manage-list">
                    <dl>
                        <dt><a href=""><img src="images/logo.png" alt="" /></a></dt>
                        <dd><a href="">学堂展示案例</a></dd>
                    </dl>
                    <dl>
                        <dt><a href=""><img src="images/logo.png" alt="" /></a></dt>
                        <dd><a href="">学堂展示案例</a></dd>
                    </dl>
                    <dl>
                        <dt><a href=""><img src="images/logo.png" alt="" /></a></dt>
                        <dd><a href="">学堂展示案例</a></dd>
                    </dl>
                    <dl>
                        <dt><a href=""><img src="images/logo.png" alt="" /></a></dt>
                        <dd><a href="">学堂展示案例</a></dd>
                    </dl>
                    <dl>
                        <dt><a href=""><img src="images/logo.png" alt="" /></a></dt>
                        <dd><a href="">学堂展示案例</a></dd>
                    </dl>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

三、模块样式处理

搭建好网页结构之后,我们需要处理的就是相应的样式,这时候我们发现下部分的每个展示条样式基本一致,只有最后一个展示行的底部没有边框,所以在处理的时候我们需要量取这个下部分的高度,然后书写超出隐藏,这样再相应的样式实现时,最后一行的边框就会超出父级而被隐藏掉。具体的代码实现如下:

<style type="text/css">
    .wrap {
        width: 980px;
        height:1046px;
        margin: 0 auto;
        background: url("images/index_bac.jpg") 0 0 repeat;
    }
    .header {
        height: 65px;
        border-top: 7px solid #000;
        background: #fff;
    }
    .nav {
        width: 892px;
        height: 34px;
        margin: 0 auto;
        padding: 4px 0 0 88px;
        background: url("images/nav_bac.jpg") 0 0 repeat-x;
    }
    .main {
        width: 960px;
        height: 817px;
        padding: 10px;
    }
    /*主体内容架构*/
    .bigpic {
        float: left;
        position: relative;
        width: 722px;
        height: 256px;
        margin-bottom: 9px;
        padding: 5px;
        background-color: #fff;
        border-radius: 3px;
    }
    .manage {
        float: right;
        width: 209px;
        height: 256px;
        margin-bottom: 9px;
        padding: 5px;
        background-color: #fff;
        border-radius: 3px;
        background-color: #fff;
        border-radius: 3px;
    }
    /*头部制作*/
    .header img {
        float: left;
        width: 65px;
        height: 65px;
        padding-left: 40px;
    }
    .header h1 {
        float: left;
        padding-left: 20px;
        font-size: 18px;
        line-height: 65px;
        /*字间距*/
        letter-spacing: 0.1em;
    }
    /*导航制作*/
    .nav a {
        float: left;
        height: 34px;
        padding: 0 15px;
        line-height: 34px;
        color: #fff;
    }
    .nav .active-nav, .nav a:hover {
        padding: 0 14px;
        border-left: 1px solid #ac1736;
        border-right: 1px solid #ac1736;
        background: url("images/nav_act_bac.jpg") 0 0 repeat-x;
    }
    /*学堂展示模块上部分制作*/
    .com-black {
        height: 28px;
        padding: 0 10px 0 25px;
        background: #303338 url("images/icon.png") 0 center no-repeat;
        line-height: 28px;
        color: #fff;
        border-radius: 3px;
    }
    .com-white {
        height: 28px;
        padding: 0 10px 0 25px;
        background: url("images/icon.png") 0 center no-repeat;
        line-height: 28px;
        border-radius: 3px;
    }
    .com-black h2 {
        float: left;
        height: 28px;
        font-weight: bold;
    }
    .com-black a {
        float: right;
        height: 28px;
        color: #fff;
    }         
    /*学堂展示模块下部分制作*/
    .manage-list {
        overflow: hidden;
        height: 224px;
        margin-top: 4px;
        padding: 0 4px 0 2px;
    }
    .manage-list dl {
        height: 44px;
        border-bottom: 1px dotted #333;
        background: url("images/arrow.png") right center no-repeat;
        line-height: 44px;
    }
    .manage-list dt {
        float: left;
        width: 42px;
        height: 34px;
        padding: 5px 0;
    }
    .manage-list dd {
        float: left;
        overflow: hidden;
        width: 136px;
        height: 44px;
        margin-left: 8px;
    }
    .manage-list dt a {
        display: block;
        height: 100%;
    }
    .manage-list dt img {
        display: block;
        width: 40px;
        height: 32px;
        border: 1px solid #000;
    }
    .manage-list dd a {
        display: block;
        height: 100%;
    }
</style>

对应的代码效果图如下:

四、模块开发视频讲解

为了让大家能够更好的掌握页面的开发,小编在这边给大家提供了一个HTML5学堂 - 利利录制的视频,由于受到各种因素的影响,视频的声音可能有时候不是很清晰,请大家谅解。

模块开发(上)

视频内容

五、课后作业

参照上述模块的制作方式,对比设计图,完成剩余模块的制作,网页的设计图效果如下:

HTML5学堂小编:祥辉(耗时6.5h),欢迎大家沟通交流~~~

下周我们将继续于周一为大家分享基础知识方面的HTML+CSS,下期的主要内容为:标签选择&单个模块的开发(二)。

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端之路

移动端布局多种实现方式

1356
来自专栏DeveWork

移动端UC /QQ 浏览器的部分私有Meta 属性

如同桌面端一样,在国内做web 移动开发的话肯定得考虑下移动端占有率靠前的几个国产浏览器的一些适配工作。好在当前移动端浏览器都是wekit 内核一霸天下,单从这...

28310
来自专栏Coco的专栏

神秘的 shadow-dom 浅析

2384
来自专栏IMWeb前端团队

浅尝iconfont

1. iconfont简介 什么是iconfont?正如字面意思,就是图标字体,下面我给大家慢慢道来 web页面包含什么元素? 文字 链接 流媒体 视频 音频 ...

2927
来自专栏HTML5学堂

HTML5项目开发备忘录

HTML5学堂:良好的项目开发,从缜密的分析与计划开始,充分的项目开发准备能够让之后的问题降低到最少,让我们的整体开发效率提升不少。精心准备了关于项目开发的相关...

3905
来自专栏练小习的专栏

用TAOBAO的方法隐藏多余的线条

偶然的看到了TAOBAO UED团队的BLOG,在上面看到了篇文章,说的是怎么隐藏导航最后一项的竖线 1、类目之间的横竖线 ? 从很久很久以前开始,类目间的竖线...

18910
来自专栏前端新视界

React 系列教程 1:实现 Animate.css 官网效果

3862
来自专栏前端新视界

React 系列教程 1:实现 Animate.css 官网效果

这是 React 系列教程的第一篇,我们将用 React 实现 Animate.css 官网的效果。对于 Animate.css 官网效果是一个非常简单的例子,...

750
来自专栏iOS Developer

Swift版仿“礼物说”的个人界面,一分钟集成不是梦!

1312
来自专栏Android 技术栈

Toolbar去除标题与返回键间的间距

标题和左侧的返回键间距过大,之前在做CloudReader的时候就遇到了,一直没有解决,由于自身强迫症,心里始终和这个过不去,就研究了很久终于解决了。

2001

扫码关注云+社区