说明:此文根据代码的实际更新进度进行更新
JFinal UI简介
JFinal UI是为JFinal社区定制的一套新UI,在JFinal原版UI的逻辑和设计上,采用最新版Bootstrap作为CSS基础脚手架搭建起来的。这套UI默认使用JFinal官网定制的一种体验样式,CSS和Html模板中也内置了多种风格可选,比如Header区域可以切换黑白色,可以悬浮顶部,也可以固定,全局可以是跟简书一样的无区块扁平风格 也可以是分区块风格。
灵活多变,多种选择。
主要框架技术
Bootstrap4.3.1 CSS脚手架
JQuery3.x JavaScript基础类库
Font-aswesome 字体
canvas-nest.js 网页特效
目前JFinal UI已经完成了以下模板页面:
主要是前端网站的主页、各频道的的列表页、俱乐部、文档中心、个人中心(自己的)、用户空间(他人的)、登录、注册、文章详情页、文章内容发布页面等
页面索引表如下图:
![](https://img.haomeiwen.com/i4173441/96bc6387b0c2cc26.png)
项目代码结构
所有静态引用资源都放在了assets资源包里 css、javascript、图片资源、字体资源等,方便部署后对assets整个资源进行CDN加速
![](https://img.haomeiwen.com/i4173441/f336f055c937d1e7.png)
首页样式
![](https://img.haomeiwen.com/i4173441/a4aa74e44773a026.png)
布局解析
默认风格是按照区块划分比较明显的风格。
主要布局分为上中下结构:
![](https://img.haomeiwen.com/i4173441/1de334b2406fc0b0.png)
中间部分又分开左右结构
其中为main放主要内容,side属于侧边栏,可以放其他相关内容和广告信息
side不一定在左边的,常见的网站side部分在右侧,但是个人中心设计到了左侧
个人中心布局如下图
![](https://img.haomeiwen.com/i4173441/3f9c9fcee55686ef.png)
![](https://img.haomeiwen.com/i4173441/cefff58ea44a21d3.png)
![](https://img.haomeiwen.com/i4173441/723ee23de74d3b48.png)
![](https://img.haomeiwen.com/i4173441/12b6623a7ae66b9d.png)
从代码上看布局
![](https://img.haomeiwen.com/i4173441/eb1d3b54da8f26a6.png)
Body 中间部分代码拆分展开
![](https://img.haomeiwen.com/i4173441/51c24c21aa7148ab.png)
上中下结构中 中间左右结构的样式可以变化
1、side部分宽度变化,默认宽度是300px 可以在css中自行修改宽度
![](https://img.haomeiwen.com/i4173441/8aa75e0c97a28fbc.png)
改成400px后 左右比例变化 看着也不错
![](https://img.haomeiwen.com/i4173441/ccc9466ca23e2dff.png)
目前代码里 定义了页面主要区域的宽度是最小1280px 所以看着还是挺宽挺大气的。
![](https://img.haomeiwen.com/i4173441/911cbbdbcdfddc31.png)
![](https://img.haomeiwen.com/i4173441/b2788d8142c16ce6.png)
去掉这个限制宽度 就恢复 bootstrap container默认宽度。
但是需要注意 加限制最小宽度是为了去掉响应式处理,pc社区类站点 不做响应式,后面打算做专门的手机版 当然响应式的也在处理中
![](https://img.haomeiwen.com/i4173441/937ca850b248f830.png)
JFinal UI 中的CSS class的定义 都是jf-开头的 定义见名知意
例如:jf-header jf-footer jf-panel jf-page-main jf-page-side
灵活多变风格
一、多变的Header
1、header浮动状态
默认是随着页面滚动的,在body上增加一个class就变成浮动版本
jf-header-fixed
![](https://img.haomeiwen.com/i4173441/3b5f1976562015cf.png)
这样 主题内容滚动 header一直浮动在顶部
![](https://img.haomeiwen.com/i4173441/686e2b7f0dc0af40.png)
2、header颜色的变化
默认内置了两种风格 一种黑 一种白
黑色版
![](https://img.haomeiwen.com/i4173441/c0e0cb3a51acd185.png)
白色版
![](https://img.haomeiwen.com/i4173441/c8f98d8d7805dabe.png)
在header上使用jf-style-white即可启动白色版
![](https://img.haomeiwen.com/i4173441/3d4402f46665caab.png)
其它颜色 可以按照自己喜好定义class了
3、header分有图标和无图标版本
默认无图标
有图标版本是这样的 图标是由Font-awsesome提供的
![](https://img.haomeiwen.com/i4173441/849ff005dcaf1abb.png)
二、登录后的header样式变化
![](https://img.haomeiwen.com/i4173441/38084cfdd0ba24e8.png)
![](https://img.haomeiwen.com/i4173441/38062e19510e4c07.png)
![](https://img.haomeiwen.com/i4173441/d578c95ec0f0fd9c.png)
![](https://img.haomeiwen.com/i4173441/3436b6f58aee79cf.png)
三、两种全局风格
一种分割、一种扁平 默认分割
1、直接看扁平风格 类似简书
![](https://img.haomeiwen.com/i4173441/0df549a3c74869e0.png)
jf-flat 通过多种样式组合出多种效果
想要浮动Header-白色Header-扁平内容区域也是没有问题的 按照你的心情搭配
![](https://img.haomeiwen.com/i4173441/906e7c50ed8043b1.png)
四、登录 注册
1、普通版
![](https://img.haomeiwen.com/i4173441/8fdfd428247051f8.png)
2、酷炫版 其实更适合做后台管理系统的登录页面 当然很酷的社区也是没问题的
![](https://img.haomeiwen.com/i4173441/d88c46918716d18f.png)
![](https://img.haomeiwen.com/i4173441/dc0b214fc84a0557.png)
![](https://img.haomeiwen.com/i4173441/3d246a752b5f7a95.png)
其中第三个是纯色背景 偏暗色调 可以修改其他颜色
![](https://img.haomeiwen.com/i4173441/a53b9e154696ee98.png)
![](https://img.haomeiwen.com/i4173441/ee3bb141b2f017a5.png)
![](https://img.haomeiwen.com/i4173441/e83c49598b995e2d.png)
这里的登录界面用到了cavas-nest类库,用来给单调的静态突变背景,增加些许的动态特效。
![](https://img.haomeiwen.com/i4173441/5310cd774d02b714.png)
![](https://img.haomeiwen.com/i4173441/6445a16071d39409.png)
五、区块的使用jf-panel
![](https://img.haomeiwen.com/i4173441/998a3ba42d1d472b.png)
这一个个区块 都是使用jf-panel做的
我们来看一个jf-panel的结构代码 有header 有body
![](https://img.haomeiwen.com/i4173441/bba13f6b8f574470.png)
这样就能写出一个区块分割区域,一个区块都是块元素 各自占一个大行 这里右侧side部分又多个panel 如果想增加一个区块 只需要复制一份jf-panel就可以了
![](https://img.haomeiwen.com/i4173441/dce490e1cd9effd0.png)
同样左侧主题区域也是这么用 用一个jf-panel就能做很多事情,可以是一个页面内容的一部分,也可以是整个部分。
例如登录页就是独立一个jf-panel 部分左右结构了。
![](https://img.haomeiwen.com/i4173441/0c29b8a19f4f4f93.png)
jf-panel的header部分可以不要,直接写内容区域即可
六、doc文档类、俱乐部介绍类界面布局说明
JFinal官网的文档,之前也被吐槽过很多次了,界面跳转后没有保持左侧滚动位置,导致阅读体验不是很好
新版UI设计是左右分离,左侧始终悬浮不会随着页面滚动的。
然后在使用Pjax加载右侧每一章节的区域内容,就能完美了。
滚动条也做了美化处理。
![](https://img.haomeiwen.com/i4173441/c3326d7fca6e1ed6.png)
下方用JavaScript监听了窗口的变化后处理左侧悬浮导航的具体变化细节在jfinal-com.js中
![](https://img.haomeiwen.com/i4173441/8fe00b455d7a570a.png)
七、列表页面布局
上面讲了jf-panel的使用和首页的样式风格,都是jf-panel搭建出来的。
那么这里列表界面布局 跟首页是一样的 只不过需要把小的jf-panel的内容填充的多一些
去掉没用的其他panel后 加上分页组件。
![](https://img.haomeiwen.com/i4173441/7dfb10c7e223fdf2.png)
这个项目列表界面,内容比首页项目区域的内容要多,但是元素的风格一模一样。
下面再加上一个分页组件就行了。
![](https://img.haomeiwen.com/i4173441/0bb3420e1a54e06e.png)
分页组件用的是Bootstrap内置的风格上稍微处理了一下配色。
捐助列表用的是table做了内容显示
![](https://img.haomeiwen.com/i4173441/3803033e2570bd98.png)
八、内容发布页面
在项目、反馈、分享页面的side部分顶部,有专门一个链接按钮进入对应的发布界面。
![](https://img.haomeiwen.com/i4173441/750df49bd93e11e5.png)
![](https://img.haomeiwen.com/i4173441/4950f5ea5cf78216.png)
实际动态项目中,根据需要,引入合适的富文本编辑器就可以了。
九、补充 标准列表布局
提供了一套标准列表样式
例如首页的分享列表 多种样式 反馈列表 都是用了这种标准列表jf-common-list
每一行数据都是一个jf-common-item
![](https://img.haomeiwen.com/i4173441/f8f73179ef7897b1.png)
具体一个item中的布局随意编写,这套Ui默认提供了Bootstrap 行布局 分左右两部分
![](https://img.haomeiwen.com/i4173441/5eb205f380fd9185.png)
上图这样左右分为头像和内容信息 右侧又分为上下罗列的元素 一行一大个 每行有自己的东西
![](https://img.haomeiwen.com/i4173441/5a5f4147d4b40163.png)
几个地方使用的大致布局是一致的 细节上根据不同区块的需要 单独定义自己的样式。
![](https://img.haomeiwen.com/i4173441/2158eea4f3c7b02e.png)
九、如您也需要获取这套Ui资源 练手 做自己的博客站 垂直社区站 目前低于5折(原价199)出售。
![](https://img.haomeiwen.com/i4173441/6e21ead336b65638.png)
购买后 加我微信告知 发源码包
![](https://img.haomeiwen.com/i4173441/4684c9eff3d81d30.png)
更多JFinal课程、资源、信息、项目 请扫码关注JFinal学院
![](https://img.haomeiwen.com/i4173441/0075781744afc8f5.png)
网友评论