<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        CSS的22個必備技巧_html/css_WEB-ITnose

        來源:懂視網 責編:小采 時間:2020-11-27 16:36:38
        文檔

        CSS的22個必備技巧_html/css_WEB-ITnose

        CSS的22個必備技巧_html/css_WEB-ITnose:本文是翻譯,版權歸原作者所有 原文地址(original source): http://ipestov.com/22-essential-css-recipes/ 作者(author): Ilya Pestov( @ipestov ) 大家好!今天我們要 討論 CSS 中的一些有用的技巧 。開始吧…… 混合模式
        推薦度:
        導讀CSS的22個必備技巧_html/css_WEB-ITnose:本文是翻譯,版權歸原作者所有 原文地址(original source): http://ipestov.com/22-essential-css-recipes/ 作者(author): Ilya Pestov( @ipestov ) 大家好!今天我們要 討論 CSS 中的一些有用的技巧 。開始吧…… 混合模式

        本文是翻譯,版權歸原作者所有

      1. 原文地址(original source): http://ipestov.com/22-essential-css-recipes/
      2. 作者(author): Ilya Pestov( @ipestov )
      3. 大家好!今天我們要 討論 CSS 中的一些有用的技巧 。開始吧……

        混合模式

        目前,Firefox 和 Safari 開始支持混合模式,就像 Photoshop 一樣。Chrome 和 Opera 也支持,只是有些差異。看例子:

        你可以創建不同的樣式。下面是示例代碼:

        .blend { background: #fff;}.blend img { mix-blend-mode: darken; }

        在線嘗試一下 CSS 混合模式和濾鏡 !

        漸變邊框

        如今,你可以在邊框里使用漸變了。非常簡單,只要用較小的 z-index 設置偽元素就可以了:

        .box { margin: 80px 30px; width: 200px; height: 200px; position: relative; background: #fff; float: left;}.box:before { content: ''; z-index: -1; position: absolute; width: 220px; height: 220px; top: -10px; left: -10px; background-image: linear-gradient(90deg, yellow, gold);}

        你可以在 這里 找到所有例子。使用 background-clip 和 background-origin 也可以做到 。在美好未來的某一天,border-image 屬性也會被所有瀏覽器支持,實現方法如下:

        .box { border-image: linear-gradient(to bottom, #000000 0%, #FFFFFF 100%); border-image-slice: 1; /* set internal offset */}

        z-index 支持過渡

        你可能不知道,但是 z-index 的確支持過渡了!它不會在每一步去改變值,因此你會認為,它不會產生過渡。但是,它真的支持!這里有個 不錯的例子 。

        currentColor

        我們可以用它檢測當前顏色值,這樣我們就不必多次定義它。

        當和 SVG icon 一起使用時最有幫助,它隨著父級元素顏色的改變而改變。通常,我們的做法如下:

        .button { color: black;}.button:hover { color: red;}.button:active { color: green;}.button svg { fill: black;}.button:hover svg { fill: red;}.button:active svg { fill: green;}

        不過,我們可以用 currentColor 實現:

        svg { fill: currentColor;}.button { color: black; border: 1px solid currentColor;}.button:hover { color: red;}.button:active { color: green;}

        關于偽元素的代碼:

        a { color: #000;}a:hover { color: #333;}a:active { color: #666;}a:after, a:hover:after, a:active:after { background: currentColor; ...}

        object-fit

        你還記得有時候你需要為圖片設置 background-size 嗎,因為它會解決很多問題。現在你可以使用 object-fit,webkit 支持它,很快也會被 Firefox 支持。

        .image__contain { object-fit: contain; } .image__fill { object-fit: fill; }.image__cover { object-fit: cover; }.image__scale-down { object-fit: scale-down;}

        示例 。

        單選、復選按鈕的樣式

        我們不使用任何圖片,來給某個復選按鈕設置樣式:

         
        input[type=checkbox] {display: none;}input[type=checkbox] + label:before { content: ""; border: 1px solid #000; font-size: 11px; line-height: 10px; margin: 0 5px 0 0; height: 10px; width: 10px; text-align: center; vertical-align: middle;}input[type=checkbox]:checked + label:before { content: "\2713";}

        你可以看到,偽元素和偽選擇器 :checked(IE9+)表現正常。在上面的示例代碼中,我們隱藏了原始的復選按鈕,用我們自己的代替。當被勾選時,我們通過 content 顯示一個 Unicode 字符。

        CSS 和 HTML 用到的 Unicode 字符不同。在 CSS 中,開頭是反斜杠,然后跟上十六進制的字符,而在 HTML 中,它是十進制的,形如 ✓ 。

        我們還可以給復選按鈕加上動畫:

        input[type=checkbox] + label:before { content: "\2713"; color: transparent; transition: color ease .3s;}input[type=checkbox]:checked + label:before { color: #000;}

        下面是單選按鈕的動畫:

        input[type=radio] + label:before { content: "\26AB"; border: 1px solid #000; border-radius: 50%; font-size: 0; transition: font-size ease .3s;}input[type=radio]:checked + label:before { font-size: 10px; }

        你可以在 這里 找到完整的 Unicode 清單,試著 鼓搗下代碼 吧。

        CSS 中的 counter

        不是每個人都知道 counter 可以在 CSS 中設置:

        1. a
        2. b
        3. c
        .list { counter-reset: i; //reset conunter}.list > li { counter-increment: i; //counter ID}.list li:after { content: "[" counter(i) "]"; //print the result}

        我們在 counter-reset 屬性中定義了一個任意 ID 和初始值(默認為 0)。你可以在 counter-increment 中設置另一個數字,它定義了計數器的步長。

        比如,counter-increment: i 2 將只顯示偶數。

        CSS 高級計數器

        你還可以累加被用戶選中的復選按鈕:

                 

        Total selected:

        .languages { counter-reset: characters;}input:checked { counter-increment: characters;}.total:after { content: counter(characters);}

        我們累加 input:checked 的值,并顯示出來, 參看例子 。

        你還能開發出一個小型計算器呢:

               

        Sum

        .numbers { counter-reset: sum;}#one:checked { counter-increment: sum 1; }#two:checked { counter-increment: sum 2; }#three:checked { counter-increment: sum 3; }#four:checked { counter-increment: sum 4; }#five:checked { counter-increment: sum 5; }#one-hundred:checked { counter-increment: sum 100; }.sum::after { content: '= ' counter(sum);}

        運行原理一樣。這里有在線 demo 和 文章 。

        沒有圖片的菜單圖標

        你還記得需要使用「三明治」圖標的頻率嗎?

        至少有 3 種方法來繪制:

        1.shadow

        .shadow-icon { position: relative; } .shadow-icon:after { content: ""; position: absolute; left: 0; top: -50px; height: 100%; width: 100%; box-shadow: 0 5px 0 #000, 0 15px 0 #fff, 0 25px 0 #000, 0 35px 0 #fff, 0 45px 0 #000; }

        2.漸變

        .gradient-icon { background: linear-gradient(to bottom, #000 0%, #000 20%, transparent 20%, transparent 40%, #000 40%, #000 60%, transparent 60%, transparent 80%, #000 80%, #000 100%);}

        3.UTF-8

        你可以只粘貼這個標準符號:? (Unicode: U+2630, HTML: ☰)。你可以調整其顏色或尺寸,因此它沒有其它方法靈活。

        看例子 。

        你還可以使用帶有偽元素的 SVG、圖標字體或邊框。

        @Supports

        CSS 有一些稱之為 supports 的新表達式。如你所見,它可以檢測瀏覽器是否支持所需選項。不是所有瀏覽器都支持它,但是你可將其用作簡單的檢查。

        @supports (display: flex) { div { display: flex; }}/*You can check prefixes*/@supports (display: -webkit-flex) or (display: -moz-flex) or (display: flex) { section { display: -webkit-flex; display: -moz-flex; display: flex; float: none; }}

        visibility: visible

        把 visibility: visible 的區塊設置為 visibility: hidden,你對此有何看法?

        .hidden { visibility: hidden;}.hidden .visible { visibility: visible;}

        你或許認為所有元素都將被隱藏,實際上,除了子元素顯示之外,父元素將隱藏所有元素。請看 demo 。

        position: sticky

        我們已經發現了一個新特性,現在你可以創建 “sticky” 的區塊了。它們和 fixed 區塊表現一樣,但是不會隱藏另一個區塊。 你最好看下這里 。目前,只有 Mozilla 和 Safari 支持,但是你可以用如下方式實現:

        .sticky { position: static; position: sticky; top: 0px;}

        我們將會在支持的瀏覽器里得到一個 sticky 區塊,而在其它瀏覽器里得到一個普通區塊。特別有利于移動網站,因為你需要創建一個可移動區塊且不影響其它元素。

        新尺寸

        最近,世界上找到了一種新方式,用來描述不同物體的尺寸。比如:

      4. vw(視口寬度):視口寬度,單位:1/100。
      5. vh(視口高度):視口高度,單位:1/100。
      6. vmin 和 vmax:二者都是相對于視口的寬度或高度,但前者總是相對于大的那個,后者總是相對于小的那個。
      7. 有意思的是,大部分現代瀏覽器都對它們支持很好,你可以隨意使用。我們為什么需要它們呢?因為它們讓所有的尺寸更簡單了。你不必定義父級元素尺寸的百分比或其它東東。看個例子:

        .some-text { font-size: 100vh; line-height: 100vh;}

        或者,你在屏幕中央放置一個美麗的彈窗:

        .blackSquare { background: black; position: fixed; height: 50vh; width: 50vw; left: 25vw; top: 25vh;}

        這貌似是很酷的解決方案。請參考來自 Codepen 的 例子 。

        在使用這個特性時,存在一些劣勢:

      8. IE9 應該使用 vm 而不是 vmin。
      9. iOS7 上的 vh,存在一些 bug。
      10. vmax 還不被完全支持。
      11. 文本修飾

        我們用數行代碼就能改變選中文本的顏色:

        *::selection { color: #fff; background: #000;}*::-moz-selection { /*Only Firefox still needs a prefix*/ color: #fff; background: #000;}

        除了定義選中文本的顏色,還能定義陰影和背景。

        觸摸設備上的塊滾動

        如果頁面存在一些內部滾動的區塊,那么除了添加 overflow: scroll / auto,還要添加這行代碼:

        -webkit-overflow-scrolling: touch;

        問題在于,移動設備瀏覽器對于 overflow: scroll 屬性支持不夠好,會滾動整個頁面而不是期望的區塊。-webkit-overflow-scrolling 修復了這個問題。你可以將其添加到你自己的項目中,看看效果。

        使用硬件加速

        有時候你的動畫能夠減慢用戶電腦。為了阻止這種情況,你可以針對特定區塊使用加速:

        .block { transform: translatez(0);}

        你可能感受不到變化,但是瀏覽器理解,這個元素應該被看做三維,然后開啟加速。如果針對 will-change 屬性的具體設計,沒有提供正常支持,這種方法就不太建議了。

        類命名用 Unicode 字符

        你可以在如下代碼看到使用 Unicode 字符做類名:

        .? { ...}.? { ...}.? { ...}.★ { ...}.? { ...}

        只是開個玩笑。盡量不要在大項目中使用,因為不是每一臺電腦都一定支持 UTF-8。

        百分比表示的垂直邊距

        事實上,垂直縮進是根據父元素的寬度、而非高度計算出來的。我們創建兩個區塊:

         
        .parent { height: 400px; width: 200px;}.child { height: 50%; padding-top: 25%; padding-bottom: 25%; width: 100%;}

        理論上,應該根據高度來填充父元素的,不過,我們看看結果:

        你應該記住,百分比是根據父元素的寬度計算出來的。

        Firefox 下的 button 邊距

        Firefox 還沒有自身方法來計算 button 的邊距。貌似奇怪,但是你可以手動添加。

        還可以這樣修復:

        button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner { border: none; padding:0;}

        Color + Border = Border-Color

        不是每個人都明白,除了為任何對象定義文本顏色,還可以定義其邊框顏色:

        input[type="text"] { color: red; border: 1px solid;}

        流金歲月

        如果你仍然不得不支持 IE7 等類似情況,那么,你可以用一個笑臉來定義其 hack:

        很酷,對吧?

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        CSS的22個必備技巧_html/css_WEB-ITnose

        CSS的22個必備技巧_html/css_WEB-ITnose:本文是翻譯,版權歸原作者所有 原文地址(original source): http://ipestov.com/22-essential-css-recipes/ 作者(author): Ilya Pestov( @ipestov ) 大家好!今天我們要 討論 CSS 中的一些有用的技巧 。開始吧…… 混合模式
        推薦度:
        標簽: 22 html css
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲一区免费视频| 亚洲精品国产福利片| 亚洲日韩精品无码专区加勒比| 99精品视频在线视频免费观看| 亚洲av永久无码制服河南实里| 九九美女网站免费| 亚洲va在线va天堂va不卡下载 | 日韩中文无码有码免费视频| 亚洲人成无码网站在线观看| 日韩视频免费一区二区三区| 国内成人精品亚洲日本语音 | 亚洲AV中文无码字幕色三| 日韩精品免费在线视频| 91亚洲一区二区在线观看不卡| 国产高清免费视频| 亚洲欧美国产欧美色欲| 亚洲AⅤ永久无码精品AA| 99精品免费视频| 亚洲精品一区二区三区四区乱码 | 性色av极品无码专区亚洲| 亚洲а∨天堂久久精品| 中文字幕乱码系列免费| 亚洲精品在线播放| 高清国语自产拍免费视频国产 | 亚洲图片中文字幕| 国产精品公开免费视频| jizz免费观看| 亚洲综合激情六月婷婷在线观看| 青青久在线视频免费观看| 小说专区亚洲春色校园| 国产亚洲婷婷香蕉久久精品| 成人免费午夜无码视频| 麻豆va在线精品免费播放| 亚洲精品无码av人在线观看| 日本亚洲免费无线码| 羞羞视频在线免费观看| 无码乱人伦一区二区亚洲| 国产精品国产自线拍免费软件| 国产午夜无码精品免费看 | 亚洲冬月枫中文字幕在线看| 免费一级毛片正在播放|