人性化的细节处理

例如:

  • textarea 默认只能垂直拖动,防止宽度改变破坏布局。

    textarea {
    resize: vertical;
    }
  • 汉字字号小于 12px 不易阅读,为 <small> 元素设置默认值为 12px。

    small {
    font-size: 85.7%; /* 12/14=0.8571428571 */
    }
  • label 元素默认光标设为「手型」,暗示此处可点击。

    label {
    cursor: pointer;
    }

考虑移动设备

通常 iPhone 横屏时默认会放大文字,如果页面已经做了响应式,这可能会破坏布局,Neat.css做了如下优化:

html {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}

考虑响应式

IE6 以上浏览器,图片默认支持缩放。

/**
* 1. 去除 IE6-9 和 Firefox 3 中 a 内部 img 元素默认的边框
* 2. 修正 IE8 图片消失bug
* 3. 防止 img 指定「height」时图片高度不能按照宽度等比缩放,导致图片变形
http://jsbin.com/aJoTUca/2
* 4. 让图片支持响应式
* 5. 去除现代浏览器图片底部的空隙
* 6. 修复 IE7 图片缩放失真
*/
img {
border: 0 none; /* 1 */
width: auto\9; /* 2 */
height: auto; /* 3 */
max-width: 100%; /* 4 */
vertical-align: top;/* 5 */
-ms-interpolation-mode: bicubic; /* 6 */
}

跨平台最佳 font-family

中文网页一直没有太多显示效果较好的字体可供选择,在「微软雅黑」之前,Windows 平台用于网页正文的简体中文字体仅有一个「中易宋体(SimSun)」。「微软雅黑」的出现似乎成了很多设计师的「救命稻草」。但「微软雅黑」自身也有诸多问题,例如:字距较小、字面宽扁、黑度偏大、字符重心不一致等。所以它实际上不适合用在大面积文字排版上,用在标题上尚可。

如果误认为「微软雅黑」就是网页显示最好的字体,甚至于把 OS X 默认简体中文也设置为「微软雅黑」(安装了 Office 后会预装「微软雅黑」),这将是很可怕的。

为了避免字体混乱的局面,Neat.css 统一了 font-family 的设置。

  1. 中文字体选择如下:
  • Windows 优先使用「微软雅黑」,如果没有则使用「中易宋体(SimSun)」。
  • OS X 优先使用「冬青黑体简体(Hiragino Sans GB)」,如果没有则使用默认的「华文黑体」。
  • Linux 优先使用「文泉驿微米黑」。
  1. 西文字体选择如下:
  • Windows 优先使用「Arial」。
  • OS X 优先使用「Helvetica Neue」
/**
* 1. 防止元素中「font-family」不能继承
* 2. 西文字体和 OS X 字体写在前面
* 3. Opera 12.1 之前版本不支持中文字体的英文名称
* 4. 微软雅黑「\5FAE\8F6F\96C5\9ED1」,中易宋体「\5B8B\4F53」
*/
body,
button, /* 1 */
input, /* 1 */
select, /* 1 */
textarea /* 1 */
{
font-family: 'helvetica neue',arial,'hiragino sans gb',stheiti,'wenquanyi micro hei',\5FAE\8F6F\96C5\9ED1,\5B8B\4F53,sans-serif;
}

注意:IE 中部分表单元素并不能识别以上 font-family 中的「微软雅黑」,会以「中易宋体(SimSun)」显示。

  1. 代码字体选择如下:
  • Windows 优先使用 Consolas。
  • OS X 优先使用 Monaco。
code,
kbd,
pre,
samp {
font-family: monaco, menlo, consolas, 'courier new', courier, monospace;
}

如果开发者对所选字体没有充分了解,不建议重新定义 font-family 。

解决表单渲染问题

由于表单元素是由系统渲染的控件,其 UI 表现具有特殊性。为了尽可能减少不同平台间的差异,Neat.css 中统一了大部分效果,但保留一些平台特殊的样式。比如input[type="search"],保留了搜索框右边的清除按钮,方便移动设备上清除文字。

/**
* 1.移除 OS X 中 Safari5 和 Chrome 搜索框内侧的左边距
* 2.如果需要隐藏清除按钮需要加上
input[type="search"]::-webkit-search-cancel-button
*/
input[type="search"]::-webkit-search-decoration /* 1 */
{
-webkit-appearance: none;
}

面向未来

Neat.css 中对一些浏览器的新特性也会提供支持,比如 HTML5 中新增的 <dialog> 元素。

/**
* 居中 HTML5 dialog 元素
* Chrome 31 支持,需开启 chrome://flags/#enable-experimental-web-platform-features
* Chrome 28 之前、Firefox 中不支持 height:fit-content;
https://src.chromium.org/viewvc/blink?revision=148314&view=revision
* ::backdrop 定义遮罩样式
* @demo: http://jsbin.com/iPACab/1
*/
dialog{
border: 1px solid;
padding: 0;
margin: auto;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0; width: -moz-fit-content;
width: -webkit-fit-content;
width: fit-content;
height: -moz-fit-content;
height: -webkit-fit-content;
height: fit-content;
} dialog::backdrop{
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, .3);
}

相关css 细节处理 neat.css的更多相关文章

  1. 爱上朴实的CSS细节

    英文原文:Learning to Love the Boring Bits of CSS  未来的CSS太让人兴奋了:一方面,是全新的页面布局方式:另一方面,是酷炫的滤镜.颜色等视觉效果.这些CSS, ...

  2. [css]【转载】CSS样式分离之再分离

    原文链接:http://www.zhangxinxu.com/wordpress/2010/07/css%E6%A0%B7%E5%BC%8F%E5%88%86%E7%A6%BB%E4%B9%8B%E5 ...

  3. [转]CSS遮罩——如何在CSS中使用遮罩

    特别声明:此篇文章由D姐根据Christian Schaefer的英文文章原名<CSS Masks – How To Use Masking In CSS Now>进行翻译,整个译文带有我 ...

  4. CSS3与页面布局学习笔记(五)——Web Font与CSS Sprites(又称CSS精灵、雪碧图)技术

    一.web font web font是应用在web中的一种字体技术,在CSS中使用font-face定义新的字体.先了解操作系统中的字体: a).安装好操作系统后,会默认安装一些字体,这些字体文件描 ...

  5. [css]我要用css画幅画(九) - Apple Logo

    接着之前的[css]我要用css画幅画(八) - Hello Kitty,这次画的是苹果公司的logo 这次打算将分析和实现步骤尽量详细的说一说. 其实之前的也打算详细讲分析和设计过程,不过之前的图比 ...

  6. [css]我要用css画幅画(七) - 哆啦A梦

    接着之前的[css]我要用css画幅画(六),今天画的有所不同,画的是哆啦A梦,我们小时候对他的称呼其实是小叮当机器猫. (PS:这次我要做的事情,很多人已经做过,这并不是什么创新,我只是在学习并记录 ...

  7. [css]我要用css画幅画(六)

    接着之前的[css]我要用css画幅画(五), 由于这个画已经画了很久了,这次一次性加了比较多更新,算是让这幅画告一段落吧. 本次的更新包括: 1. 给云增加动画 2. 画了一棵树 3. 树上画了一个 ...

  8. [css]我要用css画幅画(五)

    接着之前的[css]我要用css画幅画(四), 这次我给小明和静静增加了对话,用了简单的动画效果. github:https://github.com/bee0060/Css-Paint , 完整代码 ...

  9. [css]我要用css画幅画(四)

    接着之前的[css]我要用css画幅画(三), 今天,我画了两朵云,并给小明介绍了个朋友:静静. github:https://github.com/bee0060/Css-Paint , 完整代码在 ...

随机推荐

  1. java关闭流,解压缩后的清除

    关闭流文件和file文件的时候,先打开的后关闭,后打开的先关闭,实在不行调用system.jc()方法

  2. 【数据结构】hanoi

    #include<stdio.h> void hanoi(int n,char x,char y,char z) { ; ) printf("%d. Move disk %d f ...

  3. apple配置WIFI热点

    打开AirPort打开设置偏好-共享,找到WIFI相关

  4. Thread源码分析

    本文为转载,请珍惜别人的劳动成果,注明转载地址:http://www.cnblogs.com/gw811/archive/2012/10/15/2724602.html 1.Runnable接口源码: ...

  5. oracle 10g 学习之创建和管理表(7)

    目标 通过本章学习,您将可以: l  描述主要的数据库对象. l  创建表. l  描述各种数据类型. l  修改表的定义. l  删除,重命名和清空表. 常见的数据库对象 表.视图.序列.索引.同义 ...

  6. js 实现文字列表滚动效果

    今天要实现抽奖名单在首页滚动展示的效果,就用js写了一个,代码如下: html代码: <style type="text/css"> *{margin:;padding ...

  7. SU Demos-04Deconvolution-02Wiener_Levinson

    本Demo共有4个脚本,我只看了第一个,后面的3个不熟悉,就不往这里贴图了,望谅解. 不足之处,欢迎批评指正. 先看readme 生成数据所需的c程序 make上述c程序时需要的makefile(本人 ...

  8. Linux部署项目简要记录【只是步骤没有配图】

    1.服务器(192.168.1.197)新建数据库jspxcms_1206,导入数据2.eclipse打war包3.上传war包到/home/app/apache-tomcat-7.0.68/weba ...

  9. POJ3493 Largest Submatrix of All 1’s(单调栈)

    题目给一个01矩阵,求最大的1子矩阵. 先用dp预处理出每一行的每一列的1能向上按连续的1延伸多少,然后枚举每一行作为子矩阵的底,那样对于每一行的答案就是POJ2559这个经典问题了. #includ ...

  10. C# params参数的应用

    为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,如下所示: public static Int32Add(params Int32[] values) { Int ...