ZUI使用 normalize 来重置样式,这样尽可能保证在所有浏览器中有一致的体验。

因为IE浏览器与各大浏览器区别太大,为了尽可能的保证在所有浏览器中有一致的体验,很多时候需要单独对待IE浏览器。为了保证代码精简及一致,ZUI只支持IE8+。为了保证IE能够使用最新渲染模式而不是兼容模式,在html文档头部应加入以下代码:

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    ...

针对IE7及更早的版本,应该给出提示,让用户升级浏览器。在body之后加入以下代码可以有选择性的出现浏览器升级提示,并给出链接引导用户访问abetterbrowser.org

<body>
    <!--[if lt IE 8]>
        <p class="abetterbrowser">您正在使用 <strong>过时的</strong> 浏览器. 是时候 <a href="http://abetterbrowser.org/">更换一个更好的浏览器</a> 来提升用户体验.</p>
    <![endif]-->
    ...

因为IE8及早期版本不支持HTML5标签,所以针对IE8浏览器,我们引入html5shiv来使得HTML5标签在IE8中也能使用。在HTML文档的script区域加入以下代码(示例中html5shiv库来自maxcdn):

<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->

因为IE8及早期版本同样不支持media query来实现响应式布局,我们同样可以通过条件注释引入respond.js来帮助ie实现该功能。(示例中的respond.js来自maxcdn,可以和html5shiv共享同一个条件注释区域。)

<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->

现代web应用应该支持响应式布局。栅格系统已提供良好的基础构建响应式布局页面,同时也提供一些辅助工具类来控制内容在不同设备的展现方式。

在ZUI中提供针对4中不同尺寸的设备屏幕进行分别控制。

屏幕 名称 尺寸
超小屏幕(手机) xs <768px
小屏幕(平板) sm >=768px
中等屏幕(笔记本电脑) md >=992px
大屏幕(桌面电脑) lg >=1200px

针对4种屏幕类型各定义两种辅助类来在不同的设备上显示或隐藏内容。

超小屏幕小屏幕中等屏幕大屏幕
.visible-xs可见隐藏隐藏隐藏
.visible-sm隐藏可见隐藏隐藏
.visible-md隐藏隐藏可见隐藏
.visible-lg隐藏隐藏隐藏可见
.hidden-xs隐藏可见可见可见
.hidden-sm可见隐藏可见可见
.hidden-md可见可见隐藏可见
.hidden-lg可见可见可见隐藏

其中显示辅助类.visible-xs.visible-sm.visible-md.visible-lg可以组合使用,同理对于隐藏辅助类也可以组合使用以达到不同的效果。但不要将显示辅助类和隐藏辅助类混合使用。

ZUI也提供用来控制打印机的显示与隐藏的辅助类。显示和隐藏不能同时使用。

字体

在ZUI中我们定义了三种字体家族已适应不同的场合。这些字体在中英文环境下都能够很好的显示。

无衬线字体 "Helvetica Neue", Helvetica, Tahoma, Arial, sans-serif
衬线字体 Georgia, "Times New Roman", Times, serif
等宽字体 Monaco, Menlo, Consolas, "Courier New", monospace

使用无衬线字体来作为页面的默认字体,因为无衬线字体非常适合在屏幕上显示;衬线字体作为一个额外的选择,但并不推荐在小字号中使用,但可以用于特殊文字或者标题中;等宽字体用来显示程序代码。

默认的字体大小为 13px,以保证在所有屏幕上都能有最佳效果。ZUI中也允许使用更小号的字体,不过不要小于 12px。默认行高为字体大小的1.38倍,一般为18px。一至六级标题的行高为字体大小的1.2。

文字排版

字是组成页面的重要内容,一个好的排版是构建好的用户界面的基石。应根据我们的设计原则来进行文字排版。下表中列举了web设计时会用到的文字排版方式。

元素 标签 像素大小 说明

页面标题

<h1> 38.5px 在一个页面只有一个页面标题。

标题

<h2> 31.5px 作为页面第二级标题,可能在一个页面中使用到多个二级标题。

三级标题

<h3> 24.5px 粗体 页面第三级标题,嵌套在二级标题下使用。

四级标题

<h4> 17.5px 粗体 页面第四级标题,嵌套在三级标题下使用。
五级标题
<h5> 14px 粗体 颜色灰色 页面第五级标题,嵌套在四级标题下使用。
六级标题
<h6> 11.9px 粗体 颜色灰色 页面第六级标题,嵌套在五级标题下使用。

这是一个段落

<p> 14px 正文中大部分由段落组成。段落的行高为20px。段落间在垂直方向上有10px边距。

这是一个突出的段落

<p class="lead"> 21px 突出的段落具有更大的字体,在一个段落上加.lead类。
粗体文本 <strong> 14px 通常粗体文本用来强调内容。
斜体文本 <em> 14px
小的文本 <small> 11.9px 颜色灰色 small文本字体只有正常字体大小的85%,通常为11.9px。
超链接 <a> 14px 超链接具有不同的颜色以区别其他文本,超链接仅当鼠标悬停时会增加下划线。
  1. 这是一个有序列表
  2. 包含三个列表项
  3. 作为示例
<ol><li>...</ol> 14px 当组织一些并列项目且关注项目之间顺序时可以使用有序列表。
  • 这是一个无序列表
  • 包含三个列表项
  • 作为示例
<ul><li>...</ul> 14px 当组织一些并列项目但不关注项目之间顺序时可以使用无序列表。
这是一大段引用内容
<blockquote> 14px 用于显示一大段引用的内容。
这是内嵌的引用 <q> 14px 用于在正文行内显示引用的术语。
<div>
        <p>代码区域</p>
        </div>
<pre><code>...</code> 14px 等宽字体 代码区域会加上方框,并使用等宽字体显示,详细代码显示规定请参见节代码高亮

ZUI也针对浏览器的滚动条进行了样式优化。

浏览器兼容性

滚动条样式目前仅支持Webkit内核浏览器。

滚动条样式测试

一些文字

更多的文字

更多的文字

更多的文字

长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本,长段落文本。

较宽的内容。

ZUI的界面应该简洁,易于识别,让人感觉舒适而不失严谨。所使用的配色应该尽可能达到该目的。

ZUI的配色表包含三部分:主要颜色,灰度颜色及额外颜色。

主要颜色

包含3~5种颜色,决定了ZUI界面整体色调。虽然并没有强制的规则来决定如何指定主要颜色,但最好是使用同一色调的不同明度的颜色。一般选取2深色+2浅色+1强调色。主要颜色会用在菜单、导航、链接、高亮选项等。

在ZUI的默认配色方案中,主要颜色均为同一色系。

灰度颜色

灰度颜色强制使用同一色调不同亮度的一组颜色。在无特别需求的情况下,一般使用黑色灰度。灰度颜色会用在块的背景,边框,次要的文本上。灰度颜色为界面创建了层次感,加深了内容与内容间的边界,更易于体现内容的重要程度。

额外颜色

额外的颜色为特殊控件提供的更多的色彩选择。例如各种级别的消息框,特殊作用的按钮,特殊文本等。

配色设计要点