SSM框架实战系列之十三_H-ui框架之一

  对于很多Java程序员来说,让他们写代码是没问题,但要他们做出一个相对好看的页面,那是相当地困难。

  那么一些快速开发框架对于Java程序员来说无疑是一个福音了。

  H-ui框架就是这样的一个快速开发框架,它是由国人开发的,基于Bootstrap框架并整合了一些常用Web组件的一个快速开发框架。

  使用H-ui框架,不需要程序员写界面样式,就能开发出很漂亮的界面了。

  我们来欣赏几张图:

  在后续的章节中,我们会使用H-ui陆续开发一些模块,逐步深入地了解H-ui框架的细节。

  在本节中,主要探讨H-ui框架的登录页。

  一、H-ui框架的下载

  进H-ui的官网:http://www.h-ui.net/H-ui.admin.shtml,即可下载。

  下载后,解压文件,可以看到如下的目录结构:

  其中,static目录为H-ui框架的核心组件,lib目录为H-ui框架整合的一些其它Web组件,temp目录为临时目录,其余文件都是纯HTML页面,是演示用的,我们做页面时,可以从演示页面找到相似的界面并进行模仿。

  二、在Eclipse中应用H-ui框架

  将static、lib、temp目录全部复制到Eclilpse项目的Web目录之下,即可使用H-ui框架,目录结构如下图:

  三、登录页代码解析

  下面我们来制作登录页。

  这时,只需将H-ui框架中自带的login.html中的所有代码复制到login.jsp中即可。

  我们来分析一下login.html中的代码:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<!--[if lt IE 9]>
<script type="text/javascript" src="lib/html5shiv.js"></script>
<script type="text/javascript" src="lib/respond.min.js"></script>
<![endif]-->
<link href="static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
<link href="static/h-ui.admin/css/H-ui.login.css" rel="stylesheet" type="text/css" />
<link href="static/h-ui.admin/css/style.css" rel="stylesheet" type="text/css" />
<link href="lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
<!--[if IE 6]>
<script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js" ></script>
<script>DD_belatedPNG.fix('*');</script>
<![endif]-->
<title>后台登录 - H-ui.admin v3.1</title>
<meta name="keywords" content="H-ui.admin v3.1,H-ui网站后台模版,后台模版下载,后台管理系统模版,HTML后台模版下载">
<meta name="description" content="H-ui.admin v3.1,是一款由国人开发的轻量级扁平化网站后台模板,完全免费开源的网站后台管理系统模版,适合中小型CMS后台系统。">
</head>
<body>
<input type="hidden" id="TenantId" name="TenantId" value="" />
<div class="header"></div>
<div class="loginWraper"><div id="loginform" class="loginBox"><form class="form form-horizontal" action="index.html" method="post"><div class="row cl"><label class="form-label col-xs-3"><i class="Hui-iconfont"></i></label><div class="formControls col-xs-8"><input id="" name="" type="text" placeholder="账户" class="input-text size-L"></div></div><div class="row cl"><label class="form-label col-xs-3"><i class="Hui-iconfont"></i></label><div class="formControls col-xs-8"><input id="" name="" type="password" placeholder="密码" class="input-text size-L"></div></div><div class="row cl"><div class="formControls col-xs-8 col-xs-offset-3"><input class="input-text size-L" type="text" placeholder="验证码" οnblur="if(this.value==''){this.value='验证码:'}" οnclick="if(this.value=='验证码:'){this.value='';}" value="验证码:" style="width:150px;"><img src=""> <a id="kanbuq" href="javascript:;">看不清,换一张</a> </div></div><div class="row cl"><div class="formControls col-xs-8 col-xs-offset-3"><label for="online"><input type="checkbox" name="online" id="online" value="">使我保持登录状态</label></div></div><div class="row cl"><div class="formControls col-xs-8 col-xs-offset-3"><input name="" type="submit" class="btn btn-success radius size-L" value=" 登    录 "><input name="" type="reset" class="btn btn-default radius size-L" value=" 取    消 "></div></div></form></div>
</div>
<div class="footer">Copyright 你的公司名称 by H-ui.admin v3.1</div>
<script type="text/javascript" src="lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="static/h-ui/js/H-ui.min.js"></script>
<!--此乃百度统计代码,请自行删除-->
<script>
var _hmt = _hmt || [];
(function() {var hm = document.createElement("script");hm.src = "https://hm.baidu.com/hm.js?080836300300be57b7f34f4b3e97d911";var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);
})();
</script>
<!--/此乃百度统计代码,请自行删除
</body>
</html>

  1、meta标签

<meta charset="utf-8">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Cache-Control" content="no-siteapp" />

  第一个meta,指定字符集为utf-8。

  第二个meta,renderer,指定浏览器内核控制。国内的主流浏览器都是双核浏览器:基于Webkit内核用于常用网站的高速浏览,基于IE的内核用于兼容网银、旧版网站。在自己的网页增加一个meta标签,告诉浏览器这个网址应该用哪个内核渲染,那么浏览器就会在读取到这个标签后,立即切换对应的内核。内核有三种:web-kit内核、ie兼容内核、ie标准内核。

  第三个meta,X-UA-Compatible,UA:User Agent,用户代理,即指浏览器。这是个是IE8以上版本的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式,以此来解决部分兼容问题。例如模拟IE7的具体方式如下:< meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />。此处这个标记后面竟然出现了chrome这样的值,难道IE也可以模拟chrome了?原来不是微软增强了IE,而是谷歌做了个外挂:Google Chrome Frame(谷歌内嵌浏览器框架,GCF)。这个插件可以让用户的IE浏览器不变,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核,而且支持IE6、7、8等多个版本的IE浏览器。IE Edge是IE的最新版本,如果指定IE=edge,表示以最高级别的可用模式显示内容。

  第四个meta,viewport,视口。这个标签常用于响应式设计,即网页页面可根据设备的大小自动调整。width=device-width,表示页面大小与设备等宽。initial-scale=1表示缩放比例为1,即不缩放。minimum-scale和maximum-scale都设置为1,即不允许缩放。user-scalable=no,不允许用户缩放。

  第五个meta,Cache-Control为no-siteapp,表示不希望页面被百度转码,手机百度在显示网页时,通常会将页面转码,以匹配手机模式,这项设置表示不希望百度将此页面转码。

  2、样式表

<link href="static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
<link href="static/h-ui.admin/css/H-ui.login.css" rel="stylesheet" type="text/css" />
<link href="static/h-ui.admin/css/style.css" rel="stylesheet" type="text/css" />
<link href="lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />

  在此页面中引入了四个样式表。

  第一个样式表,H-ui.min.css,这个样式表是最基本的样式表,由于H-ui是基于Bootstrap框架的,所以这个样式表中也包含了Bootstrap框架常用的栅格系统的样式。

  第二个样式表,H-ui.login.css,这个样式表是登录页用到的样式表。

  第三个样式表,style.css,这个样式表是空的,用于二次开发时,用户定制H-ui框架的样式。

  第四个样式表,iconfont.css,这个样式表引入了H-ui的图标字体功能,它里面定义了一系列图标,每个图标用特殊文字来表示。例如就表示账户的图标。具体可以参看H-ui图标文字的API:http://www.h-ui.net/Hui-3.7-Hui-iconfont.shtml。

  3、IE兼容性

  为了达成IE浏览器的兼容,做了一些特殊设置,例如:

<!--[if lt IE 9]>
<script type="text/javascript" src="lib/html5shiv.js"></script>
<script type="text/javascript" src="lib/respond.min.js"></script>
<![endif]-->

  假如IE版本低于9,则引入另外两个脚本,以便在低版本IE上实现HTML5和响应式设计。

  4、界面样式

  观察以下的HTML代码:

    <form class="form form-horizontal" action="index.html" method="post"><div class="row cl"><label class="form-label col-xs-3"><i class="Hui-iconfont"></i></label><div class="formControls col-xs-8"><input id="" name="" type="text" placeholder="账户" class="input-text size-L"></div></div>......

  (1) 表单通常添加类样式:form。还有一个类样式form-horizontal,表示水平表单,即表单元素是水平排列的。通常Bootstrap的表单元素是垂直排列的。

  (2) 每一行表单元素都放在一个div中,类样式为:row cl。row样式说明这是一行,它使用浮动让内部元素水平排成一行。cl表示clearfix,它使用了清除浮动,做到了左右清除浮动并重新计算盒子高度。

  (3) 标题使用form-label样式,输入框使用formControls样式,form-label样式使得标签右对齐,formControls样式使得表单元素的宽度充满容器。要了解详情,可以打开static/h-ui/css/H-ui.css,使用文字查找,根据样式名找到样式的定义,进行详细了解。

  (4) 栅格系统,col-xs-3与col-x-8,这两个样式都是Bootstrap的栅格系统样式。Bootstrap栅格系统将页面分成十二等分,如果你想让一个元素占用1/12页面,可以设置样式col-xs-1,占用2/12页面,设置样式col-xs-2,......。然后Bootstrap还可以针对不同尺寸的设备进行定制,它总共有4种设备尺寸:xs(extra small,超小)、sm(small,小)、md(middle,中等)、bg(big,大),例如你想在手机上一行显示2张图片,而在较大设备上一行显示4张图片,你就可以对一个列设置样式:col-xs-6 col-bg-3,这个样式表示此列在超小设备上,占用6/12,在大设备上,占用3/12。如果只指定一种尺寸类型例如xs,那么其它类型的设备沿用这个比例。

  还有一个样式col-xs-offset-3,这个样式表示该元素缩进3个栅格显示。在不使用表格布局时,为了对齐,应该善用Bootstrap的栅格系统。

  至此,我们大致了解了H-ui框架的登录页的页面构成,在后面一讲中,我们将会编写后台代码,以实现登录功能。

SSM框架实战系列之十三_H-ui框架之一相关推荐

  1. iOS之UI--主流框架的搭建-- 仿制QQ的UI框架

    iOS之UI--主流框架的搭建-- 仿制QQ的UI框架 使用XCode搭建多个控制器界面,一般在实际开发中建议超过四个控制器界面使用纯代码. 下面的实例其实已经超过了四个,总结详细步骤的目的,主要是更 ...

  2. Unity手游实战:从0开始SLG——UI框架篇(一)各种UI框架模型简介

    提到游戏的UI开发,几乎没人没听说过MVC吧?MVC最早是为软件架构设计的框架,这里不打算讲MVC的演变过程,需要的了解的可以参考大神的文章,传送门: 你对MVC.MVP.MVVM 三种组合模式分别有 ...

  3. 后端程序员转行前端,强烈推荐这6个前端UI框架,第二款小程序UI框架颜值最高!...

    昨天有个同事问我有没有可以直接上手的前端UI框架. 那今天就给大家推荐6个简单.视觉体验好的前端框架 没吃过猪肉,肯定见过猪跑! Jquery Mobile demo地址: https://demos ...

  4. 后端程序员转行前端,强烈推荐这6个前端UI框架,第二款小程序UI框架颜值最高!

    昨天有个同事问我有没有可以直接上手的前端UI框架. 那今天就给大家推荐6个简单.视觉体验好的前端框架 没吃过猪肉,肯定见过猪跑! Jquery Mobile demo地址: https://demos ...

  5. XenServer 6.5实战系列之十三:图形界面安装Linux Redhat系统

    Citrix目前已经支持发布Linux桌面,然而在XenServer上创建VM和安装图形界面系统是有一定讲究的,为此今天在此跟大家分享如何在XenServer 6.5中部署Red Hat Enterp ...

  6. python框架flask系列(2),Python的Web框架之Flask(2)

    路由参数 默认string,可以指定参数的类型限定,限定参数为int @app.route('/user/') def user_info(user_id): return 'hello{}'.for ...

  7. vuejs webapp框架_vue常用开发ui框架(app,后台管理系统,移动端)及插件

    vue常用开发ui框架(app,后台管理系统,移动端)及插件 22019.02.15 00:59:30字数 637阅读 30,178 一.uni-app (app混合开发) uni-app是一个使用V ...

  8. Vue、React、Angular最佳UI框架

    摘要: 今天我们不聊技术,只"以貌取人". 刚入门的小伙伴问我(上面是我的自拍照),现在前端Vue.React.Angular这三个框架似乎都很好,反而不知道选择什么了,我当时开玩 ...

  9. 前端ui框架_跨屏建站发布同名响应式前端ui框架

    跨屏建站发布同名响应式前端ui框架,它是跨屏建站关于前端页面构建上的积累的结晶,现已开源,我们将持续的用开源的方式做好ui框架产品,用心做好建站产品. 关于 跨屏UI框架是基于Bootstrap的扩展 ...

最新文章

  1. 20行Python代码说清“量子霸权”
  2. 记录一次读取hdfs文件时出现的问题java.net.ConnectException: Connection refused
  3. Python技巧之函数拆包裹
  4. 「万字图文」史上最姨母级Java继承详解
  5. GDCM:gdcm::ModuleEntry的测试程序
  6. et操作 python wps_拿起来就用的office二次开发(python,win32com使用经历总结)
  7. jh锂电保护电路_锂电池过充电、过放电、过流及短路保护电路原理及电路图
  8. 作者:鄂世嘉,男,同济大学博士生,CCF学生会员。
  9. Jmeter 的json Extractor
  10. java 执行class顺序_java – @BeforeClass和inheritance – 执行顺序
  11. 超大背包问题(二进制枚举 + 二分)
  12. android drawtext换行_Android中用StaticLayout实现文本绘制自动换行详解
  13. 文件二维码、社交媒体二维码如何制作?
  14. java 模拟天眼查登陆,模拟天眼查登陆问题
  15. 不用iTunes也能添加音乐到iPod
  16. acwing.回文质数
  17. [CB]2018年中国智能手机市场出货量
  18. python ASF API下载Sentine-1数据
  19. 2022-2027年中国烟用香精香料行业发展前景及投资战略咨询报告
  20. 微博scrapy爬虫实战经验分享

热门文章

  1. c语言的积木编程,c语言入门3,自己造积木,掌握它就能随心所欲的完成各种工作了...
  2. 【图像识别】基于计算机视觉实现红绿灯识别含Matlab代码
  3. 意识篇 —— 抓不住的600(管理多余的心智宽带)
  4. UG NX中的一条曲线的点集进行导出时顺序是乱的,如何进行排序或按照导出点集
  5. 论文阅读:Personalized Purchase Prediction of Market with Wasserstein-Based Sequence Matching
  6. 植物大战僵尸之加钱外挂..
  7. 键盘·由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码19)
  8. 四柱八字大全 php,四柱八字查询表 免费四柱八字查询
  9. Altium Designer10铺铜技巧小结
  10. java人民币大小写转换_人民币大小写转换