热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《跟我一起做J2EE版Blog–jPress》7(前端设计,第一个博客主题)

花开两朵,各表一枝。上一节打通第一个struts2的action后,我们开始设计jPress的第一个默认主题,我不是UI视觉设计师,我也没有太多的艺术细菌,对配色也一窍不通,但是这并不妨碍我们
    花开两朵,各表一枝。上一节打通第一个struts2的action后,我们开始设计jPress的第一个默认主题,我不是UI视觉设计师,我也没有太多的艺术细菌,对配色也一窍不通,但是这并不妨碍我们能够基于CSS3和DIV以及更丰富的HTML5来设计一款风格不错,兼容良好的高质量主题。只要有Firefox以及众多的开发者插件,借鉴和模仿专业的视觉设计大师的WEB作品是一件很容易的事情。我很喜欢我现在WordPress的主题,所以我们第一个主题就是模仿这款WordPress上的Admired主题。如下图:

    具体的前端技术设计流程这里无法进行详细的阐述,我只能谈谈在前端设计中使用到的工具以及技巧。首先最好使用Mozilla Firefox浏览器,并配合着IE9++,再下载一个 IETestr进行IE9以下各版本的调试(尤其要针对IE6,IE6是我们永远的痛,不过根据现在的站点分析报告,IE6占比已经很小了)。在firefox中,我推荐如下的几款插件,Web Developer,CSSViewer,firebug,Rainbow。好了,有了这四个足够了, Web Developer是开发者插件集,包含很多常用的工具,可以将页面中所涉及内部和外部的CSS全部罗列出来供你Ctrl+F,此外还提供标尺功能,方便你测量间距像素; CSSViewr可视化显示每一个元素的所有CSS计算样式,已经停止开发了,而且firefox10以上又不让安装,所以要下载一个作者提供的取消验证的版本; firebug可以提供JS脚本单步调试,而且有页面性能分析(可以配合雅虎提供的YSLOW插件帮助优化页面性能); Rainbow可以取色,分析站点配色方案,这一点对毫无艺术细菌的我来说特别有用,我连#000000到#ffffff格式RGB红绿蓝调色都没概念。
    对于blog系统、商业形象网站,社交分享网站等大多数WEB应用来说,布局都可以分为heaer、content、footer这三个大部分,其他我们还可以定义一些nav、siderbar、entries之类的DIV元素。设计过程中最好是组装形式的设计,元素与元素之间的结构依赖程度尽量降到最低,将来我们使用freemarker(对于php,jsp来说一样)时就可以使用include标签来自定义的引用了。曾经一段时间比较流行从左至右全页面布局,随着终端用户的屏幕越来越大,这种全屏布局很快被淘汰,人们希望自己访问的文字固定在某个特定的位置以方便记忆,不希望上次看到的文字随屏幕大小改变,其位置发生改变,于是一些固定宽度的框架开始流行起来,我们看到的人人,facebook以及twitter都是固定宽度的,其中以 960CSS网格框架最为流行。
    此外,CSS3正在越来越广泛的被接受,各种现代浏览器都内置了自己的CSS3解决方案。曾几何时让UI设计师为止着迷的渐变和圆角,现在不再需要定义若干个DIV和background来解决了,直接使用CSS3就可以做到,下面是一段我所制作的圆角和渐变CSS:

#nav-bar {
background: #0281d4; /* IE6 分级支持 */
background: -moz-linear-gradient(top, #0281d4 0%, #026bb0 100%); /* 渐变 FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #0281d4), color-stop(100%, #026bb0)); /* 渐变 Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #0281d4 0%, #026bb0 100%); /* 渐变 Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #0281d4 0%, #026bb0 100%); /* 渐变 Opera11.10+ */
background: -ms-linear-gradient(top, #0281d4 0%, #026bb0 100%); /* 渐变 IE10 */
background: linear-gradient(top, #0281d4 0%, #026bb0 100%); /* 渐变 W3C */
border: 1px solid #0274BE; /* IE6 分级支持 */
-moz-border-radius: 7px; /* 圆角 FF3.6+ */
-webkit-border-radius: 7px; /* 圆角 chrome safari */
border-radius: 7px; /* 圆角 W3C */
-moz-box-shadow: 0 1px 3px #555; /* 外阴影 FF3.6+ */
-webkit-box-shadow: 0 1px 3px #555; /* 外阴影 chrome safari */
box-shadow: 0 1px 3px #555; /* 外阴影 W3C */
}
    CSS3中hover伪类的灵活运用帮你减少了很多JS脚本,下面是一段动画伸缩的CSS:

#searchInput {
height:30px;
width:120px;
background:url(../images/search.png) no-repeat 5px 6px;
border:1px solid rgb(221,221,221);
padding-left:28px;
font:normal 14px Arial;
color:#888888;
border-radius:2px;
-moz-border-radius:2px;
-webkit-transition-duration: 400ms;
-webkit-transition-property: width, background;
-webkit-transition-timing-function: ease;
-moz-transition-duration: 400ms;
-moz-transition-property: width, background;
-moz-transition-timing-function: ease;
-o-transition-duration: 400ms;
-o-transition-property: width, background;
-o-transition-timing-function: ease;
}
    总之因为HTML以及CSS的明文客户端解析方式,大多数情况下我们都可以模仿和借鉴自己喜欢的各种设计和特效,来弥补程序员先天的美工不足,如果你在photoshop,firework上有更深的造诣那是最好的了,如果没有,配合上述的几款软件以及所向披靡的Dreamweaver,再发挥一点点小小的创意,程序猿们也能制作出很好的视觉设计。
    最后我把我设计的这套皮肤的样式打个包,就是一个index.html和三四个CSS文件,有兴趣的可以下载参考一下。 http://www.flyding.com/wp-content/uploads/ckfinder/files/960.zip
推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • python+selenium十:基于原生selenium的二次封装fromseleniumimportwebdriverfromselenium.webdriv ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Flutter添加APP启动StoryView相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 原文:http:blog.linjunhalida.comblogpjaxgithub:https:github.comdefunktjquery-pjax ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Imdevelopinganappwhichneedstogetmusicfilebystreamingforplayinglive.我正在开发一个应用程序,需要通过流 ... [详细]
  • this prototype 闭包 总结
    this对象整理下思路:一般用到this中的情景:1.构造方法中functionA(){this.nameyinshen;}varanewA() ... [详细]
author-avatar
手机用户2602926907
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有