Bootstrap 3.2.0 源码试读 2014/08/04

第一部分 normalize.css

用于解决不同浏览器下显示不一致的问题

8至12行

html {
  font-family: sans-serif;    /* 设置默认字体为 sans-serif */
  -webkit-text-size-adjust: 100%;    /* 手机等设备转屏时,字体大小随着自动调整 */
      -ms-text-size-adjust: 100%;    /* 但是如果禁用了缩放功能,则此设置无效 */
}

text-size-adjust由于兼容性的问题,这里只有IE及Safari的前缀。

只所设置在html,因为body是继承,并且如果设在body上,那么页面的缩放功能将会失效。

禁用缩放功能,只需赋值none即可:

-webkit-text-size-adjust: none;
-moz-text-size-adjust:none; 
-ms-text-size-adjust: none;
text-size-adjust: none

13至15行

body {
  margin: 0;
}

清除body的margin默认设置。

16至29行

article,    /* 文章 */
aside,    /* 附注栏 */
details,    /* 附加信息 */
figcaption,    /* 独立流元素的标题 */
figure,    /* 独立的图片、表格等,删除了也不会对页面显示造成影响 */
footer,    /* 页脚 */
header,    /* 页眉 */
hgroup,    /* 组标题 */
main,    /* body里的主要内容,只能有一块 */
nav,    /* 导航 */
section,    /* 区块 */
summary {    /* 摘要 */
  display: block;
}

设置默认显示方式为块方式。

30至36行

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

设置音频,视频,进度条的默认显示样式为内嵌块。

垂直对齐vertical-align方式为相对于父元素的基线对齐,

看下面,直观明了

37至40行

audio:not([controls]) {
  display: none;
  height: 0;
}

如果音频audio没有controls属性(也就是没有控制栏那一条),则不显示,高度height值为0。

41至44行

[hidden],
template {
  display: none;
}

修正hideen属性的显示方式为不显示。

设置模板元素template在页面上不显示。

45至51行

a {
  background: transparent;
}
a:active,
a:hover {
  outline: 0;
}

设置链接a元素的默认背景颜色为透明,也就是显示父元素的颜色。

在链接获得焦点active及鼠标悬停hover时,去掉链接的外边框outline。

52至54行

abbr[title] {
  border-bottom: 1px dotted;
}

设置缩写元素abbr的标题属性title的下边框的宽度为1像素,样式为点划线。

55至58行

b,
strong {
  font-weight: bold;
}

设置b元素及strong元素的默认字体样式为加粗。

59至61行

dfn {
  font-style: italic;
}

设置术语标签dfn的字体显示样式为斜体。

62至65行

h1 {
  margin: .67em 0;
  font-size: 2em;
}

设置标题1的外边距为 上下 .67em,左右 0,字体大小为2em。

em是相对于父元素的大小,如果父元素的字体大小是16px,那么0.67em = 16 * 0.67 = 10.72px。

还有一个rem的单位,是相对于根元素html的,算起来更方便,不过现在并不是所有浏览器都支持。

66至69行

mark {
  color: #000;
  background: #ff0;
}

设置mark标签的默认显示颜色为黑色,背景颜色为洋红色。

待续 ...

Bootstrap 3.2.0 源码试读 2014/08/04

时间: 2024-10-08 09:46:29

Bootstrap 3.2.0 源码试读 2014/08/04的相关文章

Bootstrap 3.2.0 源码试读 2014/08/09

第一部分 normalize.css 104至110行 code,    /* 编辑代码 */ kbd,    /* 键盘输入的文本 */ pre, samp {    /* 范例,sample的简写 */   font-family: monospace, monospace;    /* 这个地方应该是写错了,第二字体应该是serif */   font-size: 1em; } 设置字体的大小为1em,字体为monospace. 111至119行 button, input, optgro

Bootstrap 3.2.0 源码试读 2014/08/11

第二部 @media print 212至217行   pre,   blockquote {    /* 块引用 */     border: 1px solid #999;     page-break-inside: avoid;   } 215行是个空格,是什么个意思?闲着蛋疼往前翻了翻,3.0.X版本没这个问题.根本没这行. 设置边框宽度为1px,实心,颜色#999,并且避免在内容里挺入分页符. page-break-inside据说只有opera支持,可用的值有3个 auto,默认值

Bootstrap 3.2.0 源码试读 2014/08/07

第一部分 normalize.css 70至72行 small {   font-size: 80%; } 设置small标签的字体大小为父容器字体的80%. 73至79行 sub, sup {   position: relative;   font-size: 75%;   line-height: 0;   vertical-align: baseline; } sup {   top: -.5em; } sub {   bottom: -.25em; } 先设置上标sup及下标sub,位

Bootstrap 3.2.0 源码试读 2014/08/10

第一部分 normalize.css 167至171行 fieldset {   padding: .35em .625em .75em;   margin: 0 2px;   border: 1px solid #c0c0c0; } legend {   padding: 0;   border: 0; } 表单分组标题的内添充为上 .23em,下 .75em, 左右 .625em.外边距为上下0,左右2px,边框为#c0c0c0.实心的1px宽. 分组标题的内添充为0,边框为0. 176至1

Lua 源码试读

开始看 Lua 源码也有段时间了,由于尝试用各种方式切入,效果均不是很理想,应该是个人内功不做所致.加上先阶段个人时间有限,现记录下断点,待到来日能力足够有兴趣时再来看. 初期探索: 0.由于第一次尝试读源码,开始时竟将源码按大小顺序排列,从小文件看起. 1.尝试从数据结构看起,看完了 Lua 的数据结构后对 Lua 的数据结构还是有种朦胧的感觉.然后尝试看 Lua 的 GC 终止. 2.尝试把 Lua 当作一个程序来看,从 main 函数开始读,函数调用层层深入下去...作为一个菜鸟,这注定是

Redis源码试读(一)源码准备

这里开始查看Redis的源码,之前是在看Unix的环境编程,虽然这本书写的很好,但是只看这个感觉有点隔靴搔痒.你可以知道沙子.水泥.钢筋的特性,但是要想建一栋大楼仍然是另一回事.Unix环境编程要看,同时也要借助源码来看下大神的操作. Redis的版本:Redis 4.0.1下载地址:http://download.redis.io/releases/redis-4.0.1.tar.gz源码查看工具:Source InsightSource Insight的版本:Source Insight 4

Spring源码试读--BeanFactory模拟实现

动机 现在Springboot越来越便捷,如果简单的Spring应用,已无需再配置xml文件,基本可以实现全注解,即使是SpringCloud的那套东西,也都可以通过yaml配置完成.最近一年一直在用Springboot+JPA或者Springboot+MyBatis,基本上不用Spring和SpringMVC了,心血来潮想着趁国庆假期试着一点点实现一下Spring的基本功能(当然是会对照源码的,毕竟很多细节想不到,变量命名也会按照源码来),基本思路就是先按照Spring的类图试着自己写,争取实

Solr4.8.0源码分析(10)之Lucene的索引文件(3)

Solr4.8.0源码分析(10)之Lucene的索引文件(3) 1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这两个文件.由于本文介绍的Solr4.8.0,所以对应的是SegmentInfoFormat的子类Lucene46SegmentInfoFormat. 首先来看下.si文件的格式 头部(header) 版本(SegVersion) doc个数(SegSize) 是否符合文档格式(IsCompoundF

[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

本文转载自:[Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历.先上图,Ubuntu上编译完后成功运行模拟器,如图: 2 编译环境 UbuntuKylin 16.04 LTS Android 6.0_r1 Open JDK 7 3 准备工作 (1) 下载android 6.0源码.