成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何用自己喜歡的 CSS 風(fēng)格重置網(wǎng)站的樣式

shaonbean / 1942人閱讀

摘要:翻譯瘋狂的技術(shù)宅原文許多前端開發(fā)人員都在用為他們的網(wǎng)站設(shè)計(jì)樣式。一些人喜歡在中添加一些自己偏好的樣式,我也一樣。我認(rèn)為這是令人難以置信和奇怪的。不同的瀏覽器為表單元素和按鈕設(shè)置了不同的邊框樣式。這種風(fēng)格的問題是它的特異性低。

翻譯:瘋狂的技術(shù)宅
原文:https://medium.freecodecamp.o...

許多前端開發(fā)人員都在用 Normalize 為他們的網(wǎng)站設(shè)計(jì)樣式。一些人喜歡在 Normalize.css 中添加一些自己偏好的樣式,我也一樣。

在本文中,我會與你分享我自己的 CSS reset 項(xiàng)目(除了 Normalize.css 之外我還使用它們)。

我將 reset 項(xiàng)分為8類:

盒子大小

刪除邊距和填充

列表

表格和按鈕

圖像和嵌入視頻

表格

隱藏屬性

Noscript

調(diào)整盒子大小

box-sizing 屬性改變了 CSS 盒子模型的工作方式。它會改變計(jì)算 width、 height、 padding、 bordermargin 的方式。

box-sizing 的默認(rèn)設(shè)置是 content-box。我更喜歡將其改為 border-box,因?yàn)檫@樣更容易設(shè)置 paddingwidth.。

有關(guān) Box Sizing 的更多信息,你可能對“了解Box大小”感興趣。

html {
  box-sizing: border-box;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
刪除邊距和填充

瀏覽器對不同元素 marginpadding 的設(shè)置各不相同。當(dāng)我不了解這些時,默認(rèn)設(shè)置會讓我失望。但是我更喜歡通過自己編碼設(shè)置所有邊距和填充。

/* Reset margins and paddings on most elements */
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
p,
pre,
blockquote,
figure,
hr {
  margin: 0;
  padding: 0;
}
列表

我在很多情況下都使用無序列表,而且很多情況下都不需要 disc 樣式。在這里我將 list-style 設(shè)置為 none 。當(dāng)我需要 disc 樣式時,會在特定的

    上手動設(shè)置它。

    /* Removes discs from ul */
    ul {
      list-style: none;
    }
    表單和按鈕

    瀏覽器不會繼承表單和按鈕的排版。他們將 font 設(shè)置為 400 11px system-ui。我認(rèn)為這是令人難以置信和奇怪的。所以我總是要手動讓它們從祖先元素繼承樣式。

    input,
    textarea,
    select,
    button {
      color: inherit; 
      font: inherit; 
      letter-spacing: inherit; 
    }

    不同的瀏覽器為表單元素和按鈕設(shè)置了不同的邊框樣式。我很不喜歡這些默認(rèn)樣式,寧愿將它們設(shè)置為 1px solid gray。

    input,
    textarea,
    button {
      border: 1px solid gray; 
    }

    我對按鈕做了一些調(diào)整:

    將按鈕的 padding 設(shè)置為 0.75em1em ,因?yàn)檫@看起來更符合我經(jīng)驗(yàn)中的合理默認(rèn)值。

    刪除了應(yīng)用于按鈕的默認(rèn) border-radius

    強(qiáng)制背景顏色是透明的

    button {
      border-radius: 0; 
      padding: 0.75em 1em;
      background-color: transparent;
    }

    最后,我將 pointer-events: none 設(shè)置為按鈕內(nèi)的元素。這主要用于 JavaScript 交互。

    (當(dāng)用戶點(diǎn)擊按鈕中的某些內(nèi)容時,他們點(diǎn)擊的內(nèi)容是 event.target ,而不是按鈕。如果按鈕內(nèi)有 HTML 元素,這種風(fēng)格可以更輕松地處理 click 事件)。

    button * {
      pointer-events: none;
    }

    媒體元素包括 imgvideo、 object、 iframeembed。我傾向于讓這些元素符合其容器的寬度。

    I also set these elements to display: block because inline-block creates unwanted whitespace at the bottom of the element.
    我還將這些元素設(shè)置為 display: block ,因?yàn)?inline-block 在元素的底部創(chuàng)建了不需要的空格。

    embed,
    iframe,
    img,
    object,
    video {
      display: block;
      max-width: 100%;
    }
    表格

    我很少使用表格,但有時它們可??能很有用。這是我的默認(rèn)樣式:

    table {
      table-layout: fixed;
      width: 100%;
    }

    當(dāng)元素具有 hidden 屬性時,應(yīng)該從視圖中隱藏它們。 Normalize.css 已經(jīng)為我們做了這件事。

    [hidden] {
      display: none;
    }

    這種風(fēng)格的問題是它的特異性低。

    我經(jīng)常將 hidden 添加到用類設(shè)置的其他元素中。類的特異性高于屬性,并且 display: none 屬性不起作用。

    這就是為什么我選擇用 !important 提高[hidden]的特異性。

    [hidden] {
      display: none !important;
    }
    Noscript

    如果一個組件需要 JavaScript 才能工作,我會添加一個

    這樣為

    /* noscript styles */
    noscript {
      display: block;
      margin-bottom: 1em;
      margin-top: 1em;
    }
    總結(jié)

    很多人對我提到的這些樣式風(fēng)格感興趣。這個鏈接是我在 Github 的 CSS Resets 倉庫(https://github.com/zellwk/css...)。

    本文首發(fā)微信公眾號:jingchengyideng 歡迎掃描二維碼關(guān)注公眾號,每天都給你推送新鮮的前端技術(shù)文章

    歡迎繼續(xù)閱讀本專欄其它高贊文章:

    12個令人驚嘆的CSS實(shí)驗(yàn)項(xiàng)目

    世界頂級公司的前端面試都問些什么

    CSS Flexbox 可視化手冊

    過節(jié)很無聊?還是用 JavaScript 寫一個腦力小游戲吧!

    從設(shè)計(jì)者的角度看 React

    CSS粘性定位是怎樣工作的

    一步步教你用HTML5 SVG實(shí)現(xiàn)動畫效果

    程序員30歲前月薪達(dá)不到30K,該何去何從

    7個開放式的前端面試題

    React 教程:快速上手指南

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/116018.html

相關(guān)文章

  • [譯]148個資源讓你成為CSS專家

    摘要:層疊樣式表二修訂版這是對作出的官方說明。速查表兩份表來自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來自的基礎(chǔ)參考指南簡寫速查表簡寫形式參考書使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個方法快速寫成高質(zhì)量的寫出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計(jì)脫穎而出。 CSS3 資源 20個學(xué)習(xí)CSS3的有用資源 C...

    impig33 評論0 收藏0
  • 7 個開放式 CSS 面試題及回答策略

    摘要:通過面試者的答案可以得知他都知道哪些開發(fā)語言。這個問題的答案能夠知道求職者有沒有可靠的資源,這些資源在未來開展項(xiàng)目時可能會派上用場。對這個問題的誠實(shí)回答可以幫助面試官為求職者提供合適的團(tuán)隊(duì)。 翻譯:瘋狂的技術(shù)宅原文:https://www.indeed.com/hire/i... 不管你是面試官還是求職者,里面的思路都能讓你獲益匪淺。 你用 CSS 多久了? 解析: 這個問題可以讓面...

    AJie 評論0 收藏0
  • 按鈕樣式正確方式

    摘要:按鈕樣式的正確方式如果你正在建立一個網(wǎng)站或一個應(yīng)用,你可能會用到按鈕,也許看起來像按鈕的鏈接。這是我們想要做的事情可應(yīng)用于鏈接或按鈕的按鈕樣式我們希望有選擇地應(yīng)用它,因?yàn)槲覀兊捻撁嬷袝衅渌溄雍桶粹o樣式。 按鈕樣式的正確方式 如果你正在建立一個網(wǎng)站或一個web應(yīng)用,你可能會用到按鈕,也許看起來像按鈕的鏈接。不管怎樣,讓這些正常展示是很重要的。 在本教程中,我們將為和元素以及一個自定義...

    DataPipeline 評論0 收藏0
  • 學(xué)習(xí)何用CSS變量創(chuàng)建網(wǎng)頁響應(yīng)布局 — css var()

    摘要:只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會招致額外的大量代碼,像下面這樣查看效果新方法下面讓我們來看如何使用變量來解決這個問題。 在創(chuàng)新的2018年已經(jīng)過去,在2019年看看如何簡單做成響應(yīng)性的網(wǎng)站 如果你未曾聽說過CSS變量,那么我告訴你,它就是CSS的一種新功能,可以讓你擁有在樣式表中使用變量的能力,這樣做時并不需要什么特別的設(shè)置呦。 從本質(zhì)上講,...

    Yuanf 評論0 收藏0
  • 學(xué)習(xí)何用CSS變量創(chuàng)建網(wǎng)頁響應(yīng)布局 — css var()

    摘要:只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會招致額外的大量代碼,像下面這樣查看效果新方法下面讓我們來看如何使用變量來解決這個問題。 在創(chuàng)新的2018年已經(jīng)過去,在2019年看看如何簡單做成響應(yīng)性的網(wǎng)站 如果你未曾聽說過CSS變量,那么我告訴你,它就是CSS的一種新功能,可以讓你擁有在樣式表中使用變量的能力,這樣做時并不需要什么特別的設(shè)置呦。 從本質(zhì)上講,...

    jemygraw 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<