?
This document uses PHP Chinese website manual Release
重新啟動,單個文件中特定于元素的CSS更改集合,kickstart Bootstrap提供優(yōu)雅、一致且簡單的基礎(chǔ)來構(gòu)建環(huán)境。
重新啟動基于Normalize構(gòu)建,僅使用元素選擇器提供許多有些自以為是風(fēng)格的HTML元素。額外的樣式只能通過類來完成。例如,我們重新啟動一些<table>
樣式以獲得更簡單的基準,然后再提供.table
,.table-bordered
等等。
以下是我們的指南和選擇重新啟動時要重寫的內(nèi)容的原因:
更新一些瀏覽器默認值以使用rem
s而不是em
s來表示可伸縮組件間距。
避免margin-top
。垂直邊距可能會崩潰,產(chǎn)生意想不到的結(jié)果。更重要的是,單一的方向margin
是一個更簡單的心理模型。
為了便于跨設(shè)備大小縮放,塊元素應(yīng)該使用rem
s來表示margin
s。
盡可能保持與font
相關(guān)屬性的聲明最小化inherit
。
在<html>
和<body>
元素更新,以提供更好的頁面寬度默認值。進一步來說:
將box-sizing
在全球范圍內(nèi)設(shè)定的每一個元素,包括*::before
和*::after
,來border-box
。這確保了由于填充或邊框而永遠不會超出聲明的元素寬度。
沒有font-size
聲明基地<html>
,但16px
假定(瀏覽器默認)。通過媒體查詢font-size: 1rem
應(yīng)用于<body>
易于響應(yīng)的類型縮放,同時尊重用戶偏好并確保更易于訪問的方法。
該<body>
還設(shè)置一個全球性的font-family
,line-height
和text-align
。稍后會被某些表單元素繼承以防止字體不一致。
為了安全起見,它<body>
有一個聲明background-color
,默認為#fff
。
默認的Web字體(Helvetica Neue,Helvetica和Arial)已被放入Bootstrap 4中,并替換為“原生字體堆?!?,以在每個設(shè)備和操作系統(tǒng)上實現(xiàn)最佳文本呈現(xiàn)。閱讀本Smashing雜志文章中有關(guān)原生字體堆棧的更多信息。
$font-family-sans-serif: // Safari for OS X and iOS (San Francisco) -apple-system, // Chrome < 56 for OS X (San Francisco) BlinkMacSystemFont, // Windows "Segoe UI", // Android "Roboto", // Basic web fallback "Helvetica Neue", Arial, sans-serif, // Emoji fonts "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
這font-family
適用于<body>
整個Bootstrap并在全局自動繼承。要切換全局font-family
,請更新$font-family-base
并重新編譯Bootstrap。
所有標題元素 - 例如<h1>
- <p>
重置為margin-top
刪除。標題margin-bottom: .5rem
添加了段落margin-bottom: 1rem
,并且可以輕松排列。
標題 | 例 |
---|---|
<H1> </ H1> | H1。Bootstrap標題 |
<H2> </ H2> | H2。Bootstrap標題 |
<H3> </ H3> | H3。Bootstrap標題 |
<H4> </ H4> | H4。Bootstrap標題 |
<H5> </ H5> | H5。Bootstrap標題 |
<H6> </ H6> | H6。Bootstrap標題 |
所有l(wèi)ists- <ul>
,<ol>
和<dl>
-具備其margin-top
刪除和margin-bottom: 1rem
。嵌套列表沒有margin-bottom
。
為了更簡單的樣式,清晰的層次結(jié)構(gòu)和更好的間距,說明列表已更新margin
。<dd>
重設(shè)margin-left
到0
并添加margin-bottom: .5rem
。其中<dt>
s是粗體的。
該<pre>
元素被重置為刪除它margin-top
并為其使用rem
單位margin-bottom
。
表格略微調(diào)整為樣式<caption>
,折疊邊界,并確保始終一致text-align
。對.table
班級附加更改,邊框,填充等。
各種表單元素已被重新引導(dǎo),以實現(xiàn)更簡單的基本樣式。以下是一些最顯著的變化:
<fieldset>
s沒有邊框,填充或邊距,因此它們可以很容易地用作單個輸入或輸入組的包裝。
<legend>
與字段集一樣,它也被重新設(shè)置為顯示為各種標題。
<label>
s被設(shè)置為display: inline-block
允許margin
應(yīng)用。
<input>
s,<select>
s,<textarea>
s和<button>
s主要通過Normalize處理,但Reboot 也會刪除它們margin
并設(shè)置line-height: inherit
。
<textarea>
s被修改為只能在垂直方向調(diào)整大小,因為水平調(diào)整大小通常會“破壞”頁面布局。
下面將演示這些更改以及更多內(nèi)容。
該<address>
元素被更新重置瀏覽器默認font-style
的italic
到normal
。line-height
現(xiàn)在也被繼承了,并且margin-bottom: 1rem
已被添加。<address>
s是為了提供最近的祖先(或整個工作機構(gòu))的聯(lián)系信息。通過結(jié)束行來保留格式<br>
。
margin
blockquotes上的默認值是1em 40px
,所以我們重置它以0 0 1rem
使其與其他元素更加一致。
該<abbr>
元件接收基本樣式以使它在段落文本之間脫穎而出。
[hidden]
attributeHTML5添加了一個名為的新的全局屬性[hidden]
,display: none
默認情況下它的樣式是。從PureCSS借鑒一個想法,我們通過改進默認設(shè)置[hidden] { display: none !important; }
來幫助防止它display
被意外覆蓋。盡管[hidden]
IE10本身并不支持,但CSS中的顯式聲明解決了這個問題。
<input type="text" hidden>
[hidden]
與jQuery $(...).hide()
和$(...).show()
方法不兼容。因此,我們目前并不特別贊同[hidden]
用于管理display
元素的其他技術(shù)。
要僅僅切換元素的可見性,意味著它display
沒有被修改,并且元素仍然可以影響文檔的流動,請.invisible
改為使用該類。
傳統(tǒng)上,觸摸屏設(shè)備上的瀏覽器在“輕敲”(即手指/觸筆從屏幕上抬起)和click
事件被觸發(fā)的時刻之間延遲約300ms 。這種延遲對于這些瀏覽器正確處理“雙擊縮放”手勢是必要的,而不會在第一次“輕敲”后過早觸發(fā)操作或鏈接,但它可能會使您的站點感覺稍微緩慢且無響應(yīng)。
大多數(shù)移動瀏覽器會自動優(yōu)化此站點的300毫秒延遲,以便將該width=device-width
媒體資源用作其響應(yīng)元標記的一部分(也適用于禁用縮放功能的網(wǎng)站,例如user-scalable=no
,盡管出于可訪問性和可用性的原因,強烈建議您不要這樣做)。這里最大的例外是Windows Phone 8.1上的IE11,以及iOS 9.3之前的 iOS Safari(以及任何其他基于iOS WebView的瀏覽器)。
在支持觸摸的筆記本電腦/臺式機設(shè)備上,IE11和Microsoft Edge目前是唯一具有“雙擊縮放”功能的瀏覽器。由于所有桌面瀏覽器width=device-width
都會忽略響應(yīng)式元標記,因此使用此功能對延遲300毫秒不起作用。
為了在桌面上的IE11和Microsoft Edge以及Windows Phone 8.1上的IE11中解決這個問題,Bootstrap明確地在所有交互元素(例如按鈕和鏈接)上使用touch-action:manipulation
CSS屬性。該屬性實質(zhì)上禁用了這些元素的雙擊功能,消除了300ms的延遲。
對于舊的iOS版本(9.3之前版本),建議的方法是使用其他腳本(如FastClick)明確解決延遲問題。
有關(guān)更多詳細信息,請參閱兼容性表以抑制觸摸屏交互的300毫秒延遲。
? 2011–2017 Twitter, Inc.
? 2011–2017 The Bootstrap Authors
根據(jù)MIT許可證授權(quán)的代碼。
根據(jù)知識共享署名許可證v3.0獲得許可的文檔。