千家信息网

【Nodejs开发】第2章 网站首页的布局

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,请关注我的小站:http://oideas.herokuapp.com/1.布局之前的准备工作上一章我们已经搭建好了环境,本站就开始我们的OMinds的开发吧。在开始之前,先让我们来装点东西,打开cm
千家信息网最后更新 2024年11月22日【Nodejs开发】第2章 网站首页的布局

请关注我的小站:http://oideas.herokuapp.com/

1.布局之前的准备工作

上一章我们已经搭建好了环境,本站就开始我们的OMinds的开发吧。

在开始之前,先让我们来装点东西,打开cmd,切换到project目录,输入命令:


npm install -g supervisor


效果如下图(由于正在等待安装只截了一部分):


注意:每次我们更新代码后,都需要手动停止并重启应用,使用 supervisor 模块可以解决这个问题,每当我们保存修改的文件时,supervisor 都会自动帮我们重启应用。所以这里安装supervisor ,以便于我们能方便看到自己的布局效果。

在任何你觉得合适的地方,建立一个文本文档,写入内容如下:


@echo offcd E:\nworks\OMindssupervisor app.js


其中cd E:\nworks\OMinds 是你的项目目录,保存之后,重命名为server.bat,以后启动server只需点击server.bat即可。

注意:假如你的project在e盘,而bat在桌面上,那么需要在以上代码@echo off后面添加一行代码:


 e:


表示切换到e盘。

OK,准备工作已经做好,让我们跑一下server看看吧:



2.开始布局(本站只使用chrome浏览器做效果,如果你自己的网站布局已做好,可以跳过这一章)

首先实现导航栏,在public文件夹下建立p_w_picpaths、js两个目录,加上已经存在的stylesheets目录,共3各目录,打开style.css,清空里面的内容,加入以下css:


body{    margin: 0 auto;    padding: 0;    background: url(../p_w_picpaths/bgnoise_lg.png) repeat left top;    font: bold 12px/18px "Helvetica Neue", Helvetica, Arial, sans-serif;}ul {    list-style: none;  }#navigation {    margin: 20px auto;     text-transform: uppercase;    color: #444;}#navigation:after {    clear: both;    content: ".";    display: block;    height: 0;    visibility: hidden;}#navigation ul {        margin: 0 auto;     padding:0;}#navigation li {    float: left;    border-style: solid;    border-width: 1px;    border-color: #BABABA #BABABA #BABABA #FFF;    box-shadow: 0 1px rgba(255,255,255,1) inset;    -webkit-box-shadow: 0 1px rgba(255,255,255,1) inset;    background: #F7F7F7; /* Old browsers */    background: -moz-linear-gradient(top, #F7F7F7 0%, #EDEDED 100%); /* FF3.6+ */    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F7F7F7), color-stop(100%,#EDEDED)); /* Chrome,Safari4+ */    background: -webkit-linear-gradient(top, #F7F7F7 0%,#EDEDED 100%); /* Chrome10+,Safari5.1+ */    background: -o-linear-gradient(top, #F7F7F7 0%,#EDEDED 100%); /* Opera 11.10+ */    background: -ms-linear-gradient(top, #F7F7F7 0%,#EDEDED 100%); /* IE10+ */    background: linear-gradient(top, #F7F7F7 0%,#EDEDED 100%); /* W3C */    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#F7F7F7', endColorstr='#EDEDED',GradientType=0 ); /* IE6-9 */   }#navigation li:hover, #navigation li.current {    box-shadow: 0 1px rgba(255,255,255,0.2) inset;    -webkit-box-shadow: 0 1px rgba(255,255,255,0.2) inset;    border-color: #262626 !important;    background: #4D4D4D; /* Old browsers */    background: -moz-linear-gradient(top, #4D4D4D 0%, #262626 100%); /* FF3.6+ */    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4D4D4D), color-stop(100%,#262626)); /* Chrome,Safari4+ */    background: -webkit-linear-gradient(top, #4D4D4D 0%,#262626 100%); /* Chrome10+,Safari5.1+ */    background: -o-linear-gradient(top, #4D4D4D 0%,#262626 100%); /* Opera 11.10+ */    background: -ms-linear-gradient(top, #4D4D4D 0%,#262626 100%); /* IE10+ */    background: linear-gradient(top, #4D4D4D 0%,#262626 100%); /* W3C */    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4D4D4D', endColorstr='#262626',GradientType=0 ); /* IE6-9 */}#navigation a {    display: block;    padding: 10px 15px;    color: #444;    text-decoration: none;    text-shadow: 0 1px #FFF;}#navigation a:hover, #navigation li.current a {    color: #FFF;    text-shadow: 0 1px #000;}#navigation li:first-child {    border-left-color: #BABABA;    border-radius: 100px 0 0 100px;}#navigation li:last-child {    border-radius: 0 100px 100px 0;}


在p_w_picpaths文件夹里把我们的背景图片添加进去:


打开views下的inde.ejs文件,在此之前,先让我们调整一下项目的编码,在eclipse下,右键->properties->resource,text file encoding 选择utf-8,由于目前不支持gbk,index.ejs内容如下(是设置编码格式的):


          <%= title %>                      


打开浏览求看一下导航的效果:


可以看到搜索与登录之间有一块留白,这个可以根据自己需要进行调整,我的想法是当点击搜索时向右拉出搜索框,不过暂时不着急。

其次,实现内容布局,再次打开style.css,添加以下css代码:

.content {    max-width: 690px;    margin: 20px auto;}.cell {    margin: 0 auto;    background-color: #fff;    clear: both;    padding: 18px 20px;    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);    margin-bottom: 20px;    border-radius: 4px;}.cell_loc{    float:right;    padding:2px 6px;    background:url(../p_w_picpaths/bgnoise_lg.png);    border-radius: 9px;    border-color: #BABABA #BABABA #BABABA #FFF;    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) inset,                0 0 0 1px rgba(0, 0, 0, 0.2) inset;    font-size:6px;}.cell_author {    font-size: 14px;    vertical-align: middle;    line-height: 100%;    margin: 0 0 17px;}.cell_author img {    border-radius: 20px;    box-shadow: 0 0 6px hsla(0, 27%, 42%, .5);    width: 40px;    height: 40px;    max-width: 100%;    vertical-align: middle;    margin: 0 10px 0 0;    border: 0;}.cell_author img:hover{    box-shadow: 0 0 8px hsla(350, 89%, 48%, 0.69);}.cell_author a {    color: #9b8878;}.cell_author a:hover {    color: #300;}.cell_text {    word-break: break-all;    line-height: 160%;}.cell_bar {    margin: 15px 0 0 0;    height: 30px;    font-size: 12px;}.cell_bar ul li {    float: left;}.cell_bar ul li a {    display: block;    height: 28px;    line-height: 30px;    margin-right: 10px;    text-indent: 20px;    color: #BEBEBE;    width: 80px;    font-weight: 500;}.cell_bar ul li a:hover {    color: #9e8c7b;}.cell_bar_comm {    float: right;    margin: 0;    padding: 0;}.cell_bar_comm li {    float: left;}.cell_share {    float: right;}.share_icon {    display: inline-block;    width: 24px;    height: 24px;    overflow: hidden;    background: url(../p_w_picpaths/share_logo.png) no-repeat;}.share_sn {    float: right;    margin-right: 5px;    background-position: -50px 0px;}.share_tc {    float: right;    margin-right: 15px;    background-position: -100px 0px;}.share_rr {    float: right;    margin-right: 5px;    background-position: -150px 0px;}


打开index.ejs,在之后添加代码:


OMinds 1#
OMinds,发表你的心事,你可以不用登录,不用在乎是否会被别人嘲笑,因为在这里大家都是一样的没有谁会嘲笑你。
  • 评[10]


其中p_w_picpaths/tem.jpg为:



好,刷新浏览器看看效果如何:



好基本上小站原型已成,下面做一下修剪,在views目录下新建header.ejs、footer.ejs文件,将index.ejs中以上的代码全部拷贝到header.ejs中,并在index.ejs的最顶端添加代码:


<%- include header%>


将index.ejs中最后一个

及以后的代码提取到footer.ejs中,并在indes.ejs中添加代码:


<%- include footer%>


那么,最后index.ejs中应该为:


<%- include header%>    
OMinds 1#
OMinds,发表你的心事,你可以不用登录,不用在乎是否会被别人嘲笑,因为在这里大家都是一样的没有谁会嘲笑你。
  • 评[10]
<%- include footer%>


以上的首页是没什么问题了,有了显示,就需要有数据来源,来源就是通过投稿页,那么下面来布局投稿页面,先在header.ejs中把代码:


  • 投稿

  • 修改为:


  • 投稿

  • 表示我们通过upminds地址访问投稿页面,直接拷贝复制index.ejs文件命名为:upminds.ejs,将header和footer以外的代码删除。再次打开style.css添加css:


    .upideas_content {    position: relative;    width: 690px;    margin: 0 auto;    padding: 0 10px 0 10px;}.clear_fix {    display: block;}.clear_fix:after {    content: ".";    display: block;    height: 0;    clear: both;    visibility: hidden;}.up_content {    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);    background: #fff;    padding: 20px;    margin-bottom: 20px;    margin-top: 20px;    display: block;    border-radius: 4px;}.up_bar {    color: #666;    width: 200px;    float: right;}.up_bar h4 {    font-size: 16px;    padding: 0 0 20px 0;    margin: 0;}.up_bar ol li {    padding: 15px 0;    border-top: 1px solid #efefef;    list-style-position: inside;    list-style-type: decimal;    line-height: 140%;}.up_content_text {    width: 422px;    float: left;}.up_idea_text {    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);    border: 1px solid #ccc;    background: #f9f9f9;    font-size: 14px;    line-height: 18px;    padding: 10px;    resize: none;    width: 400px;}.up_idea_err{    float: left;    color:#FF0000;    padding: 10px 0 0 0;}.up_idea_btn {    border-radius: 2px;    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);    background: #FF8000;    color: #fff;    font-size: 14px;    line-height: 18px;    padding: 10px 20px 10px 20px;    border: 0 none;    float: right;}


    upminds.ejs中的代码:

    <%- include header%>    

    投稿须知

    1. 分享自己或朋友的Minds(心事),不浮夸、有意义,不含政治、×××、广告、诽谤、歧视等内容。
    2. 分享的Minds(心事),将在审核之后发布。
    3. 转载请注明出处,任何由Minds引发的法律等纠纷,本站概不负责。
    4. 不得盗用站内其他会员的Minds。
    <%- include footer%>


    打开routes/index.js文件,内容最终为:

    module.exports = function(app) {  app.get('/', function (req, res) {    res.render('index', { title: 'OMinds' });  });  app.get('/upminds', function (req, res) {        res.render('upminds', { title: 'OMinds' });  });};


    打开浏览器,点击投稿导航,效果:




    好了,本站的基本布局以及OK了,有些同学可能会说了,导航里面不是还有很多东西没实现吗,不要紧,当前已经能基本满足需求,别人能投稿,能显示别人的投稿不就ok了吗,其他的慢慢来。

    下一章将会链接db,来动态显示内容,不然,一直静态的多没意思啊。

    注:有些同学可能回觉得,呀,你做这个教程干嘛啊,直接把源码给我们不久ok了吗,还在这墨迹个什么啊,我写的代码很乱,是之前ideas项目的代码,现在做的是Ominds,完全是从头开始做的,一步一步做的,不过,不用担心,我一定会做完的,也没多少东西,每天一章的话,基本上1周半就完事了。


    请关注我的小站http://oideas.herokuapp.com/,最好是能注册一下,当然,由于用的是外机,很卡,不能要求什么了。


    源码已上传到git,点击这里下载

    ideas-ominds交流群:158325682,有想要一起做的,或者有什么不懂的都可以找我哦。


    csdn全blog地址:http://blog.csdn.net/joveth/article/category/1862915


    很赞哦!
    代码 投稿 布局 内容 文件 心事 效果 目录 不用 导航 搜索 浏览 东西 小站 浏览器 项目 登录 再次 同学 地址 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库中怎样输出素数 安顺弄潮儿互联网科技 net 数据库映射机制 孤胆车神服务器维修 吉林电商系统软件开发 宝山区工商软件开发价格表格 中学生教育和网络安全的视频 软件开发用语 英文 网络安全日常生活应用 六安电力软件开发要多少钱 华为服务器制造企业 邮政储蓄软件开发中心待遇 2008服务器磁盘管理 网络安全学院黄勇凯 河南利梭互联网科技有限公司 软件开发的普遍原则 电脑开服务器手机能进吗我的世界 服务器通知设置 静安区app软件开发定做价格 山西现代化软件开发价格走势 网络技术专业宣传语 属于保护网络安全的措施有 VFP如何编辑数据库表内容 党员干部网络安全承诺书 sp3d 数据库 如何把文档存入数据库 计算机网络技术和维修 网络安全与信息管理岗位 云服务器买什么地方的 电脑服务器管理显示设备未就绪
    0