精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

現代 CSS 解決方案:Modern CSS Reset

開發 前端
到今天,我們更多聽到現代 CSS 解決方案一詞。它除去頁面樣式最基本的呈現外,同時也關注用戶體驗與可訪問性。這也可能是過去,我們在寫 CSS 的時候比較容易忽略的環節。

在早年間(其實也不是很早),寫過幾篇關于 CSS Reset 的文章 - reset.css 知多少[1]。

詳細描述了當時業界比較常用的,兩個 CSS reset 方案:reset.css 與 Normalize.css。

以更為推薦的 Normalize.css 為例,它的核心思想是:

  1. 統一了一些元素在所有瀏覽器下的表現,保護有用的瀏覽器默認樣式而不是完全清零它們,讓它們在各個瀏覽器下表現一致。
  2. 為大部分元素提供一般化的表現。
  3. 修復了一些瀏覽器的 Bug ,并且讓它們在所有瀏覽器下保持一致性。
  4. 通過一些巧妙的細節提升了 CSS 的可用性。
  5. 提供了詳盡的文檔讓開發者知道,不同元素在不同瀏覽器下的渲染規則。

如今,Normalize 已經出到了第八版 -- normalize.css V8.0.1[2],而隨之而變的是瀏覽器市場環境的巨大變化。

IE 已經逐漸退出歷史舞臺,處理各個瀏覽器之間巨大差異、不同兼容性問題的日子像是一去不復返了。雖然今天不同廠商在對待標準仍然存在差異,一些細節上仍舊有出入,但是我們已經不需要再像過去般大肆地對瀏覽器默認樣式進行重置。

到今天,我們更多聽到現代 CSS 解決方案一詞。它除去頁面樣式最基本的呈現外,同時也關注用戶體驗與可訪問性。這也可能是過去,我們在寫 CSS 的時候比較容易忽略的環節。

Modern CSS Reset

我最近比較喜歡的一個 CSS Reset 方案,源自于 -- Modern-CSS-Reset[3]。

它的核心觀點是:

  1. 重置合理的默認值。
  2. 關注用戶體驗。
  3. 關注可訪問性。

整個 Reset 的源碼比較簡單:

/* Box sizing rules */
*,
*::before,
*::after {
box-sizing: border-box;
}
/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
margin: 0;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
list-style: none;
}
/* Set core root defaults */
html:focus-within {
scroll-behavior: smooth;
}
/* Set core body defaults */
body {
min-height: 100vh;
text-rendering: optimizeSpeed;
line-height: 1.5;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img,
picture {
max-width: 100%;
display: block;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
font: inherit;
}
/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
html:focus-within {
scroll-behavior: auto;
}
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}

其中一些比較有意思的點,單看盒子模型:

*,
*::before,
*::after {
box-sizing: border-box;
}

Normalize.css 是不推薦這么做的,大部分元素的 box-sizing 其實都是 content-box,但是,對于實際開發,全部元素都設置為 border-box 其實是更便于操作的一種方式。

再看看在用戶體驗及可訪問性方面的一些做法:

html:focus-within {
scroll-behavior: smooth;
}

scroll-behavior: smooth 意為平滑滾動,當然這里是設置給了 html:focus-within 偽類,而不是直接給 html 賦予平滑滾動,這樣做的目的是只對使用鍵盤 tab 鍵切換焦點頁面時,讓頁面進行平滑滾動切換,帶來更好的使用體驗。

如果我們設置了如下 CSS:

html {
scroll-behavior: smooth;
}

可能會起到一起副作用,譬如,當我們在頁面查找元素時候(使用 Ctrl + F、或者 Mac 的 Commond + F),這段 CSS 代碼可能會嚴重延緩我們的查找速度:

再看看這段代碼:

@media (prefers-reduced-motion: reduce) {
html:focus-within {
scroll-behavior: auto;
}
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}

我曾經在 使用 CSS prefers-* 規范,提升網站的可訪問性與健壯性[4] 介紹過 prefers-reduced-motion。

prefers-reduced-motion 規則查詢用于減弱動畫效果,除了默認規則,只有一種語法取值 prefers-reduced-motion: reduce,開啟了該規則后,相當于告訴用戶代理,希望他看到的頁面,可以刪除或替換掉一些會讓部分視覺運動障礙者不適的動畫類型。

規范原文:Indicates that user has notified the system that they prefer an interface that removes or replaces the types of motion-based animation that trigger discomfort for those with vestibular motion disorders。

vestibular motion disorders 是一種視覺運動障礙患者,翻譯出來是前庭運動障礙,是一種會導致眩暈的一類病癥,譬如一個動畫一秒閃爍多次,就會導致患者的不適。

使用方法,還是上面那段代碼:

.ele {
animation: aniName 5s infinite linear;
}
@media (prefers-reduced-motion: reduce) {
.ele {
animation: none;
}
}

如果我們有一些類似這樣的動畫:

在用戶開啟了 prefers-reduced-motion: reduce 時,就應該把這個動畫去掉。

而上述 Reset 中的那段代碼,正是用于當用戶開啟對應選項后,減弱頁面上的所有動畫效果。屬于對可訪問性的考慮。

結合實際環境

當然,結合實際環境,目前國內整體不太注重可訪問性相關的內容。

而且,許多業務根本無法拋棄一些老舊瀏覽器,仍然需要兼容 IE 系列。

因此,對于現階段的 Reset 方案,可以靈活搭配:

  1. 如果你的業務場景仍然需要考慮一些老舊瀏覽器,依舊需要兼容 IE 系列,Normalize.css 的大部分功能都還是非常好的選擇。
  2. 如果你的業務場景只專注于 Chrome 或者是 Chromium 內核,Normalize.css 內的許多內容其實可能是一些實際中根本不會遇到或者用上的兼容適配,可以進行必要的精簡。
  3. 如果你的業務是全球化,面向的用戶不僅僅在國內,你應該開始考慮更多可訪問性相關的內容,上述的 Modern CSS Reset 可以借鑒一下。

因此,更應該的情況是,根據實際的業務需要,吸收多個業界比較常見/知名的 Reset 方案形成自己業務適用的。

這里再羅列一些常見及現代 CSS Reset 方案:

你會看到,其實大家都號稱自己是現代 CSS Reset 解決方案,但其實其內部做的 Reset 工作很多是我們根本用不上的。有人喜歡小而美,有人喜歡大而全,實際使用的時候需要具體取舍,魔改合并成適合自己的才是最好的。

最后

好了,本文到此結束,希望對你有幫助 :)

參考資料

[1]reset.css 知多少: https://github.com/chokcoco/iCSS/issues/5。

[2]normalize.css V8.0.1: https://github.com/necolas/normalize.css。

[3]Modern-CSS-Reset: https://github.com/hankchizljaw/modern-css-reset。

[4]使用 CSS prefers-* 規范,提升網站的可訪問性與健壯性: https://github.com/chokcoco/iCSS/issues/118。

[5]normalize.css: https://github.com/necolas/normalize.css。

[6]sanitize.css: https://github.com/csstools/sanitize.css。

[7]reseter.css: https://github.com/resetercss/reseter.css。

[8]Modern-CSS-Reset: https://github.com/hankchizljaw/modern-css-reset。

[9]Github -- iCSS: https://github.com/chokcoco/iCSS。

責任編輯:姜華 來源: iCSS前端趣聞
相關推薦

2022-04-19 06:27:13

CSS數學函數calc

2023-09-11 07:11:04

CSSNesting

2022-12-22 08:34:22

CSS不規則圖形

2022-04-28 07:00:09

min()max()clamp()

2010-09-06 14:46:25

CSSXHTML

2010-09-16 09:26:57

CSS display

2010-08-31 16:09:04

DIV+CSS

2010-09-06 13:51:38

CSS失效CSS

2010-08-26 14:00:28

CSSmargin

2009-08-03 18:06:28

JS性能問題

2010-09-01 10:49:57

CSS水平居中垂直居中

2017-10-11 16:55:32

CSSWebpackLighthouse

2010-09-07 09:08:03

DIV彈出層

2023-12-09 09:44:07

MetaFacebook開源

2010-08-26 10:56:16

CSStextarea

2010-09-09 16:47:49

CSS paddingFirefox

2010-08-26 12:59:29

marginCSS

2010-08-23 14:06:57

DIV+CSS

2010-09-07 13:24:18

CSS

2010-09-02 15:18:42

CSSASP.NET
點贊
收藏

51CTO技術棧公眾號

亚洲日本视频在线观看| 一区二区高清不卡| 国产欧美日韩丝袜精品一区| 国产日韩精品视频一区二区三区 | 久久人体av| 一区二区免费电影| 中文字幕不卡在线播放| 国产激情一区| 色婷婷免费视频| 亚洲最新av在线| 中出一区二区| 国产男男gay网站| 一级片免费观看视频| 国产精品羞羞答答在线观看| 欧美日韩精品欧美日韩精品一| 亚洲精品自在在线观看| 99国产精品欲| 日韩视频免费| 久久香蕉频线观| av2014天堂网| 永久免费av片在线观看全网站| 中国xxxx性xxxx产国| 色偷偷av一区二区三区乱| 99久久99热这里只有精品| 国产肉体xxxx裸体784大胆| 亚洲国产精品成人精品 | 九一久久久久久| 欧美日韩精品系列| 激情六月天婷婷| 免费人成在线观看网站| 国产一区二三区| 国模gogo一区二区大胆私拍| 丁香激情五月少妇| 91夜夜蜜桃臀一区二区三区| 欧洲精品视频在线观看| 亚洲国产精品无码观看久久| 黄色免费在线网站| 久久一留热品黄| 2020国产精品久久精品不卡| 日韩精品一区不卡| 在线日韩欧美| 久久综合网hezyo| 免费观看a级片| 奇米777国产一区国产二区| 56国语精品自产拍在线观看| 日韩精品―中文字幕| 成全电影大全在线观看| 亚洲色图一区二区| 亚洲日本精品国产第一区| 蜜桃视频在线观看www| 日韩一区精品视频| 88国产精品欧美一区二区三区| 欧美做爰爽爽爽爽爽爽| 欧美一站二站| 亚洲精品一区二区三区不| 免费涩涩18网站入口| 伊人久久高清| 色域天天综合网| 欧美日韩一道本| 国产经典三级在线| 亚洲综合色成人| 91国在线高清视频| av网址在线看| 亚洲欧美日韩中文字幕一区二区三区| 亚洲最大色综合成人av| 91在线品视觉盛宴免费| 国产欧美一区二区精品性| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 国产精品久久久久久久久久直播 | 日本h片在线观看| ㊣最新国产の精品bt伙计久久| 亚洲成人自拍| 自拍视频在线免费观看| 国产精品视频免费看| 日韩亚洲一区在线播放| 色一情一乱一区二区三区| 99re视频精品| 欧美xxxx黑人又粗又长密月| 毛片免费在线| 国产午夜精品福利| 欧美二区在线| av在线播放网| 国产精品剧情在线亚洲| 一区二区精品在线观看| 91麻豆免费在线视频| 亚洲免费资源在线播放| 欧美一级视频免费看| 三级中文字幕在线观看| 欧美日韩激情美女| 免费黄色特级片| 三上悠亚亚洲一区| 91麻豆精品91久久久久同性| 久久久男人的天堂| 丝袜美腿综合| 中文字幕日韩精品在线| 日韩欧美123区| 国产偷自视频区视频一区二区| 欧美影院在线播放| 亚洲午夜精品久久久| 国产中文一区二区三区| 国产欧美日韩一区二区三区| 黄视频在线观看免费| 国产精品成人免费| 人体内射精一区二区三区| 成人av观看| 制服丝袜av成人在线看| 一级日本黄色片| 亚洲品质自拍| 欧美成人免费全部| 国产婷婷色一区二区在线观看| 日本一不卡视频| 国产精品视频内| 欧美一区二区三区成人片在线| 国产亚洲欧美一区在线观看| 樱空桃在线播放| 最近高清中文在线字幕在线观看1| 欧美日韩亚洲91| 国产5g成人5g天天爽| 欧美综合自拍| 欧美精品在线免费观看| jizz国产在线观看| 国产一区二区看久久| 日韩国产伦理| 草草在线观看| 欧美日韩大陆一区二区| 亚洲国产欧美视频| 久久精品国产99久久| 欧美亚洲午夜视频在线观看| 国产三级三级在线观看| 久久精品视频免费观看| 99久久免费观看| abab456成人免费网址| 亚洲国产成人久久综合| 神马午夜精品91| 日本成人中文字幕| 久久精品国产99精品国产亚洲性色| 国产小视频免费在线网址| 亚洲一区二区三区美女| 思思久久精品视频| 精品久久美女| 欧美亚洲国产视频| 亚洲男人天堂久久| 国产精品久久毛片a| 一级黄色香蕉视频| 日韩在线你懂的| 欧美黑人巨大精品一区二区| 一级黄色大片免费观看| 久久一区二区三区国产精品| 99热亚洲精品| а√中文在线天堂精品| 欧美男插女视频| 一区二区三区免费在线| 国产欧美日韩在线看| 国产在线青青草| 久久91在线| 77777少妇光屁股久久一区| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 悠悠色在线精品| 久久婷婷中文字幕| 天天av综合| 91久久精品美女高潮| gogo在线观看| 日韩一区二区视频| 日本黄色小说视频| 国产精品自拍网站| 韩国黄色一级大片| 国内激情视频在线观看| 91精品一区二区三区在线观看| 三级黄色片在线观看| 麻豆91在线播放| 日韩第一页在线观看| 性欧美18一19sex性欧美| 日韩电影在线观看中文字幕| 国产成人精品网| 久久亚区不卡日本| 一区二区三区入口| 国产精品久久久乱弄 | 老司机精品视频网站| 激情视频在线观看一区二区三区| 国产高清一区二区三区视频 | 国产精品视频二| 精品久久对白| 91成人在线观看国产| 偷拍自拍在线| 欧美色图12p| 希岛爱理中文字幕| 成人综合婷婷国产精品久久| 亚洲色成人www永久在线观看| 亚洲高清国产拍精品26u| 久久综合免费视频| 日韩一区二区三区不卡| 91久久一区二区| 日韩在线一卡二卡| 成人在线视频首页| 国产精品亚洲a| 国产一区不卡| 91嫩草国产在线观看| 国产一二三在线| 尤物九九久久国产精品的分类| 91女人18毛片水多国产| 亚洲综合视频在线观看| 欧美日韩高清丝袜| 国产在线国偷精品产拍免费yy| 真人做人试看60分钟免费| 激情亚洲另类图片区小说区| 国产成人精品在线播放| 国产激情在线| 欧美xxxxx牲另类人与| 中文字幕精品视频在线观看| 亚洲免费电影在线| wwwwxxxx国产| 国产一区二区精品久久91| 久久久亚洲国产精品| 成人看的视频| 久久精品国产一区二区三区不卡| 亚州精品国产| 国产精品久久一区主播| free性欧美| 欧美成人在线免费| 无码国产精品一区二区免费16| 在线观看一区日韩| 青青草av在线播放| 亚洲另类在线一区| 美国美女黄色片| 91在线观看地址| 丝袜熟女一区二区三区| 国产又粗又猛又爽又黄91精品| 5月婷婷6月丁香| 国产精品大片免费观看| 一本色道久久综合亚洲精品婷婷| 亚洲激情播播| 亚洲精品欧美极品| 伊人国产精品| 国产成人亚洲综合91精品| a级大胆欧美人体大胆666| 美女性感视频久久久| 北岛玲日韩精品一区二区三区| 亚洲乱亚洲乱妇无码| 国产成人亚洲精品自产在线| 亚洲影视在线播放| 久久黄色免费网站| 亚洲天堂久久久久久久| 日本在线观看网址| 欧美极品aⅴ影院| 精品无人区无码乱码毛片国产| 99re热这里只有精品免费视频| 国产精品成人免费一区久久羞羞| 国产精品亚洲午夜一区二区三区| 五月婷婷六月丁香激情| 日本91福利区| 国产精品一区二区小说| 日产国产高清一区二区三区| 宅男噜噜噜66国产免费观看| 亚洲欧美视频| 好男人www社区| 日韩成人免费电影| 麻豆一区二区三区视频| 久久精品99久久久| 国产精品区在线| 国产一区二区三区四区五区美女| 一级片黄色免费| 国模大尺度一区二区三区| 亚洲欧美日韩中文字幕在线观看| 韩国一区二区在线观看| 久久久久亚洲av无码麻豆| 国产福利一区二区三区在线视频| 国产十八熟妇av成人一区| 99久久精品费精品国产一区二区| 亚洲综合网在线观看| 亚洲国产精品成人综合 | 日韩av卡一卡二| 国产精品一区二区三区乱码| 亚洲一区二区三区四区av| 99国产一区二区三精品乱码| 日韩精品电影一区二区| 国产精品传媒在线| 久久国产精品二区| 色欧美88888久久久久久影院| 日韩中文字幕在线观看视频| 在线免费观看日本一区| 国产视频一区二区三区四区五区| 日韩视频中午一区| 亚洲av成人无码久久精品老人 | 亚洲欧美丝袜中文综合| 精品亚洲aⅴ在线观看| 日本在线播放| 欧美精品在线极品| 日本电影欧美片| 国产精品女人网站| 一区二区三区视频免费视频观看网站| 国产综合 伊人色| 欧美日韩水蜜桃| 草草草视频在线观看| 国产日韩亚洲| 狠狠干狠狠操视频| 国产不卡视频在线观看| 国精产品一区一区三区免费视频| 中文字幕va一区二区三区| 精品一区二区三区四| 日韩欧美国产黄色| 国产激情视频在线播放| 日韩av中文字幕在线| 黄网站app在线观看| 日本乱人伦a精品| 美女精品久久| 日本一区美女| 91视频一区| 少妇人妻无码专区视频| 久久精品国产99| 在线免费观看a级片| 日韩美女精品在线| 久久久久精彩视频| 亚洲第一精品久久忘忧草社区| а天堂8中文最新版在线官网| 久久亚洲影音av资源网| 神马久久资源| 国产一区二区三区av在线| 大片网站久久| 热久久精品国产| 成人av电影在线| √天堂中文官网8在线| 欧美视频一区二区| 国产成人精品白浆久久69| 视频在线观看一区二区| 美女日韩欧美| 国产chinese精品一区二区| 日韩国产一区| 手机在线看福利| 91女人视频在线观看| 日韩成人在线免费视频| 精品久久五月天| 免费大片在线观看www| 国产精品视频区| 免费成人蒂法| 免费看欧美一级片| 国产91在线观看| 日本免费网站视频| 欧美午夜一区二区| 国产小视频在线| 欧美性受xxx| 视频福利一区| 日韩国产一级片| 成人aa视频在线观看| 国产一级在线播放| 日韩欧美国产一区二区三区| 少妇av在线| 99在线观看视频网站| 一区二区三区中文| 丰满饥渴老女人hd| 亚洲欧洲在线观看av| 一区二区三区免费在线视频| 按摩亚洲人久久| 亚洲精品aa| 神马午夜伦理影院| 国产成人欧美日韩在线电影| 希岛爱理中文字幕| 日韩精品中文字幕一区| 激情aⅴ欧美一区二区欲海潮| 国产精品国色综合久久| 一本久道久久综合婷婷鲸鱼| 任你躁av一区二区三区| 精品国产乱码久久久久久婷婷| 欧美777四色影视在线| 日本精品视频在线播放| 日本一二区不卡| 亚洲第一天堂久久| 亚洲人成影院在线观看| 亚洲乱码国产乱码精品精软件| 国模视频一区二区| 日韩免费精品| 国产免费毛卡片| 国产喂奶挤奶一区二区三区| ,一级淫片a看免费| 性欧美长视频免费观看不卡| 欧美偷窥清纯综合图区| 免费在线观看的毛片| 亚洲色图在线视频| 欧美特级特黄aaaaaa在线看| 日韩美女视频中文字幕| 欧美第一精品| 中文字幕一区二区三区人妻在线视频 | 欧美午夜激情影院| 欧美一级二级在线观看| 丁香花视频在线观看| 日本一区二区免费看| 精品无人区卡一卡二卡三乱码免费卡 | 欧美丰满熟妇xxxxx| 亚洲欧洲av一区二区三区久久| 国产伦一区二区| 4438全国亚洲精品在线观看视频| 日本久久精品| 国产精品久久久久久亚洲av| 色婷婷av一区二区三区软件| www.欧美日本韩国| 欧美日韩精品免费观看视一区二区 | 久久亚洲影音av资源网| 日韩高清在线免费观看| 亚洲精品手机在线观看| 欧美日韩国产精品| 麻豆91在线|