6.1 初始化与CSS重置
Bootstrap致力于提供一个简洁、优雅的基础,以此作为立足点,下面是一些初始化与CSS重置的内容。
1.路线方针
系统重置建立新的规范化,只允许元素选择器向HTML元素提供自有的风格,额外的样式只通过明确的.class类来规范。例如,重置了一系列<table>样式,然后提供了.table、.table-bordered等样式类。
以下是Bootstrap的指导方针和选择在重新启动时覆盖什么内容的理由。
■ 重置浏览器默认值,使用rem作为尺寸规格单位,代替em,用于指定可缩放的组件的间隔与缝隙。
■ 尽量避免使用margin-top,防止使用它造成的垂直排版的混乱,造成意想不到的结果。更重要的是,一个单一方向的margin是一个简单的构思模型。
■ 为了易于跨设备缩放,block块元素必须使用rem作为margin的单位。
■ 保持font相关属性最小的声明,尽可能地使用inherit属性,不影响容器溢出。
2.页面默认值
为提供更好的页面展示效果,Bootstrap 4更新了<html>和<body>元素的一些属性:
■ box-sizing是对每个元素全局设置的,这可以确保元素声明的宽度不会因为填充或边框而超过。在<html>上没有声明基本的字体大小,使用浏览器默认值16px。然后在此基础上采用font-size:1rem的比例应用于<body>上,使媒体查询能够轻松地实现缩放,最大限度保障用户偏好和易于访问的特性。
■ <body>元素被赋予一个全局性的font-family和line-height类,其下面的诸多表单元素也继承此属性,以防止字体大小错位冲突。
■ 为了安全起见,<body>的background-color的默认值设为#fff。
3.本地字体属性
Bootstrap 4删除了默认的Web字体(Helvetica Neue,Helvetica和Arial),并替换为“本地OS字体引用机制”,以便在每个设备和操作系统上实现最佳文本呈现。
这样,font-family适用于<body>,并被全局自动继承。切换全局font-family,只要更新$font-family-base即可。
4.标题和段落
标题和段落元素(<h1>和<p>)都被重置,系统移除它们的上外边距margin-top,标题添加外边距为margin-bottom: .5rem,段落元素<p>添加了外边距margin-bottom:1rem,以形成简洁行距。
5.列表
移除所有的列表元素(<ul>、<ol>和<dl>)的外边距margin-top,并设置为margin-bottom: 1rem,被嵌套的子列表没有margin-bottom值。
6.pre预先格式化文本
pre标签可定义预格式化的文本。被包围在<pre>标签元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。
Bootstrap重置了pre元素,移除它的margin-top属性,并用rem作为margin-bottom的单位。
7.表格
微调了表格的<caption>,并确保始终保持一致的文本对齐。.table类还对边框、填充等进行了额外的更改。
8.Forms表单
Bootstrap重置了多种表单元素,得到简化的基本样式,使之简洁易用,显著变化表现如下。
■ <fieldset>去除了边框、内填充、外边距属性,所以它们可以轻松地用作单一的输入框或输入框组,放入容器中使用。
■ <legend>和fieldset字段集一样,也已被重新设计过,显示为不同种类的标题。
■ <label>加上了display:nline-block属性,从而可以被用户赋予margin属性进行布局调用。
■ <input>、<select>、<textarea>、<button>被规范化处理了,同时重置移除了它们的margin,并且设置了inline-height:inherit属性。
■ <textarea>被修改为只能竖直方向上调整大小,因为水平方向上调整大小经常会“破坏”页面布局。
9.Address地址控件
Bootstrap更新了<address>元素初始属性,重置了浏览器默认的font-style,由italic改为normal,line-height同样是继承来的,并添加了margin-bottom: 1rem。
10.Blockquote引用块效果
Blockquote引用块默认的margin是1em 40px,而Bootstrap把它重置为001rem,使其与其他元素更一致。
11.abbr内联元素
<abbr>内联元素接受基本的样式,使其在段落文本中突出。