提高CSS開發能力的技巧集

2021-03-06 前端開發
來自:FedFun - CSDN博客連結:http://blog.csdn.net/whqet/article/details/48997389
原文:https://github.com/AllThingsSmitty/css-protips

1、引言

原文:github的A collection of useful CSS protips 
譯者:愛前端樂分享的FedFun
譯言:提高您CSS開發能力的技巧集,希望對大家有所幫助。


2、正文2.1 使用:not()給導航條添加間隔線

我們通常使用如下代碼給導航條增加間隔線

/* add border */

.nav li {

  border-right: 1px solid #666;

}

/* remove border */

.nav li:last-child {

  border-right: none;

}

現在,我們可以使用:not()選擇符簡化操作,代碼簡潔易讀,不錯吧。

.nav li:not(:last-child) {

  border-right: 1px solid #666;

}

或者,我們增加左邊框。

.nav li:first-child ~ li {

  border-left: 1px solid #666;

}

2.2 給body元素增加Line-Height屬性

我們不需要給每個p、h1元素設置line-height,只需要給body元素設置,其他文本元素會自動繼承body的特性。

body {

  line-height: 1;

}

2.3 任意元素垂直居中

不是黑魔法,確實可以讓任意元素垂直居中。

html, body {

  height: 100%;

  margin: 0;

}

body {

  -webkit-align-items: center;  

  -ms-flex-align: center;  

  align-items: center;

  display: -webkit-flex;

  display: flex;

}

2.4 逗號分隔的列表

讓html列表貌似現實中逗號分隔的列表

ul > li:not(:last-child)::after {

  content: ",";

}

2.5 在nth-child中使用負數

在css的nth-child中使用負數選擇1~n條記錄。

li {

  display: none;

}

/* select items 1 through 3 and display them */

li:nth-child(-n+3) {

  display: block;

}

2.6 使用svg圖標

沒有理由不使用svg圖標,在大多數解析度和瀏覽器裡能夠實現縮放,甚至兼容到IE9,所以不用再用.png、.gif等等。

.logo {

  background: url("logo.svg");

}

2.7 文本顯示優化

一些字體不能再所有設備中最優展示,所以需要設置。

html {

  -moz-osx-font-smoothing: grayscale;

  -webkit-font-smoothing: antialiased;

  text-rendering: optimizeLegibility;

}

注意optimizeLegibility屬性值的使用問題,同時IE/Edge不支持text-rendering。


2.8 在Pure CSS Sliders中使用max-height

使用max-height實現隱藏、顯示的動畫。

.slider ul {

  max-height: 0;

  overlow: hidden;

}

.slider:hover ul {

  max-height: 1000px;

  transition: .3s ease;

}

參見本博《Auto值的CSS3 Transition解決方案》

2.9 初始化box-sizing

從html中繼承box-sizing屬性,這樣的話,後期維護比較方便。

html {

  box-sizing: border-box;

}

*, *:before, *:after {

  box-sizing: inherit;

}

2.10 表格單元格等寬


.calendar {

  table-layout: fixed;

}

2.11 使用Flexbox擺脫各種Margin Hacks

在實現側欄時,我們不再需要各種nth-、first-和last-child等設置margin,可以使用Flexbox輕鬆實現均勻分布。

.list {

  display: flex;

  justify-content: space-between;

}

.list .person {

  flex-basis: 23%;

}

2.12 給空連接使用屬性選擇符

對於那些擁有href屬性但是內容為空的a,自動添加內容。

a[href^="http"]:empty::before {

  content: attr(href);

}

非常方便,是吧。

版權聲明

愛前端,樂分享。前端痴王海慶的博客,希望與您共同進步。 
歡迎任何形式的轉載,煩請註明裝載,保留本段文字。 
本文原文連結http://blog.csdn.net/whqet/article/details/48997389 
獨立博客http://whqet.github.io 
新浪微博http://weibo.com/FedFun 
極客頭條http://geek.csdn.net/user/publishlist/whqet

●本文編號117,以後想閱讀這篇文章直接輸入117即可。

●輸入m可以獲取到文章目錄

更多推薦請看15個技術類公眾微信

涵蓋:程序人生、算法與數據結構、黑客技術與網絡安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。傳播計算機學習經驗、推薦計算機優秀資源:點擊前往《值得關注的15個技術類微信公眾號


點擊閱讀原文,了解野狗

相關焦點

  • 合格前端開發該了解的css知識
    但作為一個合格的前端開發,css其實還是挺重要的,本人在面試別人的時候,總是要提及一些css問題,考察面試者基本的布局能力或者其他的一些小想法以下是一些比較常問的問題,包括本人會問候選人和被問的題,各位有興趣的話可以看看,試著實現下,前面會放問題和問題的一些簡述,後面會給一些實現的具體代碼;不趕時間的話,先試著去想像怎麼解決問題,再去看下實現的代碼,加深下自己的印象
  • 前端開發必備的CSS命名規範與常用CSS代碼集合
    編輯 | web前端開發來源 | web前端開發我們在用html+css進行網頁的排版布局時,
  • 17個CSS知識點整理
    來自:編程小技巧整理自網絡連結:
  • CSS文字處理實用小技巧總結
    作為程式設計師的我們,書寫代碼也需要大量的技巧。一份良好的代碼能讓人耳目一新,讓人容易理解,同時也讓自己成就感滿滿。
  • 11 - 前端開發 - CSS 選擇器
    DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>CSS 選擇器</title> <style type="text/css"> li{color: red}</style></head>
  • CSS新手閱讀的CSS技巧十則
    也就是說,可以為頁面指定兩個CSS文件,一個用於屏幕顯示,一個用於列印:<link type=」text/css」 rel=」stylesheet」 href=」stylesheet.css」 media=」screen」 /><link type=」text/css」 rel=」stylesheet」 href=」printstyle.css」 media
  • CSS工程化
    postcss庫提供了對應的js api用於轉換代碼,如果你想使用postcss的一些高級功能,或者想開發postcss插件,就要api使用postcss,api的文檔地址是:http://api.postcss.org/不過絕大部分時候,我們都是使用者,並不希望使用代碼的方式來使用
  • 網頁設計:關於CSS框架網頁的設計!
    近幾年在web開發中,有個非常火的詞——「框架」。YUI、JQuery、Prototype這些javascript框架在開發網站時,確實成為前端開發工程師的手中利器。為什麼呢?因為框架是包含工具、函數庫、約定,以及嘗試從常用任務中抽象出可以復用的通用模塊,讓設計師與程式設計師避免重複開發。通俗地講便是把大多數重複工作的時間給節約了。
  • 這些資源讓你成為CSS專家 (二)​
    http://askthecssguy.com/articles/showing-hyperlink-cues-with-css/52、10個你可能不知道的CSS訣竅 — 涵蓋了CSS字體、圖片替換、垂直居中等技巧。
  • css布局史 - grid一統天下
    而作為前端三劍客的css呢?似乎css3已經是很久很久的事情了,久到了我們不知道它是否還在更新,css是否還有新的技術產生。雖然各種scss,stylus,less預處理器提高了我們代碼的開發和維護,但是css依然缺少一個一擊致命,一劍封喉的技術。
  • 高級前端開發工程師總結:8個不可錯過的CSS開發工具
    CSS是Web開發的基礎之一。但是,我們中的一些人卻感到非常困惑。這是因為我們沒有遵循適當的學習流程,因此我們很難理解CSS的行為。本文旨在通過兩種方式為你提供CSS的學習幫助:藉助專用工具對CSS進行編碼以及通過一些交互環境學習CSS,下面和千鋒廣州小編一起來看看吧!
  • 快到飛起:提高網頁加載速度的優化思路與技巧
    但是網頁的加載速度受到網絡,伺服器和瀏覽器等多方面的影響,所以網頁優化不僅僅涉及後端開發,前端同樣「大有可為」,所以本文在前端的角度來探討網頁優化思路和技巧。在編碼過程中,為提高易讀性,必然帶有許多空格,注釋,或者其他冗餘的代碼,使用代碼壓縮工具,快速刪掉逗號、注釋甚至不需要的空格,可以顯著壓縮 JavaScript 代碼大小,這類的工具有Google Closure Compiler 等。不僅僅是js代碼可以用工具壓縮,css和html代碼同樣可以壓縮,工具也有很多。
  • 提高CSS文件可維護性的五種方法
    首頁 > 教程 > 關鍵詞 > CSS最新資訊 > 正文 提高CSS文件可維護性的五種方法
  • 前端html,css基本知識
    上一篇講到過html和css相當於人的身體和衣服的關係,html的歷史發展百度上可以搜到,這裡簡單了解一下,1989年開發出了世界上第一個Web伺服器與Web客戶端,並將這項發明取名為world wide web,也就是我們現在所說的WWW全球資訊網。HTML也因此誕生。
  • CSS核心基礎之CSS基礎知識介紹
    html顯示頁面元素,CSS控制排版布局的頁面開發模式,HTML+CSS模式可以提高運行效率,簡化代碼,增加頁面可讀性,提高標籤控制力與搜索排名。1. CSS概念CSS是Cascading  Style Sheet的縮寫,可以翻譯為「層疊樣式表」或」級聯樣式表」 ,即樣式表。
  • 一個在線css三角形生成器
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫為了提高 前端開發效率, 筆者先後寫了上百個前端工具, 有些是給公司內部使用的, 有些單純是因為自己太「懶」, 不想寫代碼, 所以才「被迫
  • 10 個 GitHub 上超火的 CSS 技巧項目,找到寫 CSS 的靈感!
    You-need-to-know-css該項目是 CSS 的各種效果實現,尤其是動畫效果。筆者把自己的收穫和工作中常用的一些 CSS 小樣式總結成這份文檔。是一個有趣的,跨瀏覽器的 css3 動畫庫,內置了很多典型的 css3 動畫,兼容性好使用方便。
  • CSS 預處理語言的模塊化實踐
    對於小型項目來說,css的量還不至於龐大,問題沒有凸顯,而如果要開發和持續維護一個較為大型的項目,那就需要對css進行管理和規範了,否則會發生不可挽回的後果(嚇唬誰呢??)。背景上一節【從css談模塊化】我們通過規範的約束,將css的編寫方式進行了優化和改進,形成一種可持續發展的路線。但還是遺留了一些問題:冗餘。
  • CSS面試須知,哪些需要掌握得CSS技巧
    彈性盒布局並沒有這樣內在的方向限制,可以由開發人員自由操作。試用場景:彈性布局適合於移動前端開發,在Android和ios上也完美支持。11 用純CSS創建一個三角形的原理是什麼?首先,需要把元素的寬度、高度設為0。然後設置邊框樣式。
  • 網頁性能之html css javascript
    " alt="HTML代碼優化 網頁性能 JavaScript技巧 Javascript">  </body></html>1 沒有阻止css的並行加載但是影響了body裡面img的並行加載外聯js在css中間<!