您現在的位置是:電腦技術吧?>? 故障問題 ??>??Java編程,g代碼編程詳解??>??正文詳情

Java編程,g代碼編程詳解

羅雅志2019-11-15 20:30:38 人圍觀
簡介宏程序編程一百例隨著CSS的發展,CSS具有語義命名約定和CSS層的分離,這將有助于CSS的可擴展性、性能改進和代碼管理。在我之前的文章中討論的許多CSS問題可以通過使用合適的編程初

隨著CSS的發展,使用CSS有語義化的命名約定和CSS層的分離,將有助于它的可擴展性,性能的提高和代碼的組織管理。

  在我前面的文章中討論很多關于CSS的問題都可以通過使用一個適當的CSS策略來避免。

在這篇文章里,我將著重于討論使用一種方法或者一個命名規則所帶來的好處。

  這里有很多可供使用的前端方法和命名規則,每個都有自己的優缺點。

在幾乎所有的案例中CSS被分割成更易于管理的代碼塊。

CSS的這種分割方式定義了每一種方法。

  命名規則  一個可靠命名規則的重要性是不可忽視的。

就像組織結構帶來的好處一樣,這里有很多性能上的優勢讓你能夠堅持地,有責任感地去命名你的選擇器。

  正確使用任何規則將會在大型項目減少與CSS相關的憂慮而發揮關鍵的作用  BEM  最流行的命名規則之一就是BEM(block:塊,Element:元素,Modifier:修飾符)。

通過給每個元素添加它的父級block模塊作為前綴,使得目標的安全性變得更加簡單了。

BEM還有助于消除頁面和body類對嵌套或者附加樣式依賴。

  CSS Code復制內容到剪貼板  .block {}  .block__element {}  .block--modifier {}  上面的例子展示了一個BEM項目的類結構,下劃線(__)被用來區分元素,而用連字符(--)是用來修飾元素的。

下面是一個現實世界的例子...  CSS Code復制內容到剪貼板  .product-details {}  .product-details__price {}  .product-details__price--sale {}  BEM中的一個圈套是引誘在修飾部分中添加多種用途的樣式類。

大的,小的,綠色的或者醒目的等修飾選擇器被提出引入到標記中,這在不久的將來將會發生改變。

  CSS Code復制內容到剪貼板  .product-details {}  .product-details__title {}  .product-details__title--small {}  像大多數的多用途類一樣,在項目一開始的時候意圖很明顯,但是當一個設計改變的時候常常會導致矛盾的CSS。

  SUIT  Suit起源于BEM,但是它對組件名使用駝峰式和連字號把組件從他們的修飾和子孫后代中區分出來。

  CSS Code復制內容到剪貼板  .u-utility {}  .ComponentName {}  .ComponentName--modifierName {}  .ComponentName-descendantName {}  .ComponentName.is-someState {}  通過消除潛在的混亂連字符號連接元素名來使得選擇器的可讀性更強。

  CSS Code復制內容到剪貼板  .ProductDetails {}  .ProductDetails-price {}  .ProductDetails-title--sale {}  加前綴  如果你不想使用如此嚴格或者復雜的命名規則,給每一個選擇器加前綴同樣可以達到這樣的效果。

  CSS Code復制內容到剪貼板  .s-product-details {}  .t-product-details {}  .js-product-details {}  這種方法使得它很容易的在表象類中辨別結構類但是只是簡單的寫和理解。

在上面的例子中的結構屬性將會被應用到s-product-details選擇器中。

主題屬性將應用于t-product-details選擇器。

  元素可以以同樣的方式定義或者使用基類和修飾類...  XML/HTML Code復制內容到剪貼板        從一方面說明在Sass partials中加前綴對于當在文件夾中刪除必要的存儲partials時對一個很大的項目文件定位是很有幫助的。

這種方法被使用于ITCSS中。

  你選擇什么都沒有問題,重要的是記住你的選擇,并將他們應用到整個項目中。

  方法  隨著命名規則的增加,CSS變得更安全,更高效了。

由于較小的CSS文件和更少的權重問題,所需要的嵌套選擇器將會減少。

  盡管有這些改進你仍可以像下面的這個例子使用復制的CSS來完成樣式。

  CSS Code復制內容到剪貼板  .product-details__title {  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;  text-transform: uppercase;  color: #333;  }  .latest-news__title {  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;  text-transform: uppercase;  color: #FF0000;  }  這就是前端的方法的由來,將你的CSS劃分層次會有助于防止重復的樣式和大分組的選擇器。

共同或者基礎的樣式被分開定義,而更具體或者修飾的樣式被添加到繼承樣式的頂部。

  OOCSS  面向對象CSS有兩個主要的原則第一是表現與結構分離,第二是容器與內容分離。

這兩個原則的設計是用來通過創建可復用的CSS模塊以提高性能。

  表現與結構分離:  CSS Code復制內容到剪貼板      .product-image {  width: 400px;  overflow: hidden;  }  .product-description {  width: 500px;  min-height: 200px;  overflow: auto;  }  .box-padded {  background: #FFF;  padding: 10px;  }  ```  內容與容器分離:  CSS Code復制內容到剪貼板      .wrapper {  width: 400px;  margin: 0 auto;  overflow: hidden;  }  .recently-viewed {  border: solid 1px #ccc;  background: #FFF;  color: £666;  }  .suggested-products {  border: solid 1px #ccc;  background: #FFF;  color: £666;  }  這種面向對象的工作方式創建了一系列可以用來設置CSS屬性的多種用途類。

這種工作方式可以提高站點性能和維護以及保持CSS文件的DRY原則。

  即使標記的多個主題是一致的,一個面向對象方法可以添加矯正的CSS用來覆蓋或刪除不想要的繼承樣式。

  CSS Code復制內容到剪貼板  product-delivry.padded-box {  padding:0  }  SMACSS  SMACSS像OOCSS一樣以減少重復樣式為基礎。

然而SMACSS使用一套五個層次來劃分CSS給項目帶來更結構化的方法。

  Base - HTML elements defaults  Layout -Page structure  Module - Re-usable code bloks  State - Active/Inactive etc  Theme - Typography and colour schemes etc  這個增加的組織和結構提高了輸出的CSS的效率。

這個方法同樣適用于需要添加或者刪除層次的地方。

  ITCSS  ITCSS是一個完全不同于SMACSS的全新的方法,它創造了一系列的層次來管理依賴關系和促進可擴展性。

基礎的層次包括通用和廣泛的選擇器。

頂部的層次包含了局部模塊具體化的選擇器。

整套的層次如下...  Tools??Default mixins functions  Generic??Normalize, resets, box-sizing  Base??HTML elements  Objects??Design patterns  Components??Modules blocks of code  Trumps??Helpers overrides  每個層次增加的權重,只允許添加額外的要求。

  以上面同樣的例子,CSS將會被劃分為基礎層和組件層。

  CSS Code復制內容到剪貼板  p {  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;  font-size: 14px;  }  .product-details__title {  color: #333;  }  .latest-news__title {  color: #FF0000;  }  使用前請注意  你僅僅是可以決定使用上述策略之一,但是你不是全部都得靠它。

如果某一層次并不適合你的項目那么就不要使用它了。

你也可以改變或者增加一些東西來使得它適應你的項目和團隊的需求。

命名規則或者方法并不是每個時候都能100%的適合所有項目。

  你也可以創建你自己的方法或者命名規則,允許一個量身定制的解決方案來完美的適應你項目的需求。

定制解決方案的一個不足之處就是缺乏社區的支持和文檔。

版權聲明:本文由 羅雅志 整理編輯。

原標題:c編程,shell編程

轉載注明出處:http://www.dn9ww09s.icu/fault/12607.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • fastboot mode不動,fastboot mode

    fastboot mode不動,fastboot mode 相關圖片魅族fastbootmode不動Android手機最大的特點是可以自由刷卡,但仍存在一些困難和風險。例如,有些用戶在刷卡過程中打開FastBoot模式界面,然后就無法移動。在這種情況下我們該怎fastboo...

  • win10屏幕自定義分辨率,win10強制分辨率

    win10屏幕自定義分辨率,win10強制分辨率 相關圖片win10分辨率調不了如果您是win10用戶,當您發現桌面上的圖標太大或太小,或者桌面不夠清晰時,我們需要設置分辨率。如何設置win10分辨率?未知用戶可以一起了解win10 如何調整分辨率...

  • 壓縮袋怎么用,好用的壓縮解壓軟件

    壓縮袋怎么用,好用的壓縮解壓軟件 相關圖片壓縮面怎樣使用我不知道你是否用過苗條女孩。它特別用于壓縮HTML超文本文件和腳本文件。據說它的壓縮率已達到15%以上。我試過了。有些文件(大文件)的壓縮率實際上是50%。我比壓...

  • win7系統不兼容怎么辦,文件與windows7不兼容

    win7系統不兼容怎么辦,文件與windows7不兼容 相關圖片軟件與電腦系統不兼容當一些用戶安裝軟件或游戲時,他們將收到一條錯誤消息,說明此文件的版本與正在運行的Windows不兼容。在這種情況下,壓縮文件不兼容,或者安裝軟件不兼容。...

  • vbhtml,vb6解析html

    vbhtml,vb6解析html 相關圖片打開vbPrivate Sub Command1_Click()WebBrowser1.導航http://localhost/Timer1.Enabled=TrueEnvb net...

  • steam錯誤代碼-100解決,steam錯誤代碼-21解決

    steam錯誤代碼-100解決,steam錯誤代碼-21解決 相關圖片steam錯誤代碼137當你玩一些國外的游戲時,你通常需要使用游戲平臺steam。雖然國內使用不是很強大,但游戲資源相當豐富。可能是因為steam的服務器在國外,所以當用戶使用steasteam老是...

  • 智能多焦點老花眼鏡,智能

    智能多焦點老花眼鏡,智能 相關圖片今日網絡熱點作為一個新興產業,智能電視行業的用戶體驗知識匱乏。今天,請您與@Bu carrot 1992分享一些電視用戶體驗的實用設計經驗和基礎知識,他負責智能電視應用程序文件分享...

  • Touch是什么意思,Touch

    Touch是什么意思,Touch 相關圖片蘋果touch是什么意思Force touch是3D touch的前身,是蘋果的一種觸摸傳感技術。它用于蘋果手表、新款MacBook和新款MacBook Pro。用戶使用武力touch是什么手機...

  • 努比亞X,努比亞X2

    努比亞X,努比亞X2 相關圖片努比亞root努比亞新旗艦車型努比亞x于10月31日正式上市。與其他全屏幕旗艦機型相比,努比亞X采用了不同的方案,即目前手機市場上有很多全面的屏幕實現方案,從劉海屏幕到升降式努...

  • 設計師用APP,設計師經常看的app

    設計師用APP,設計師經常看的app 相關圖片設計師交流的app工欲善其事,必先利其器。今天,我們將為我們的設計師提供24款精選軟件。我們推薦來自大公司、捷步達康、ustwo、okfocus等團隊的頂尖設計師,看看他們通常使設計師必...

熱評文章

  • round函數有什么用,函數round怎么用

    round函數有什么用,函數round怎么用 相關圖片rounddouble函數怎么用Round是一種函數,在多種編程語言中都很有用。在常用的辦公軟件Excel中,也有圓函數。在Excel中,round函數是一個基本函數,它根據指定的位數輸入值怎么用round函數...

  • 網頁設計未來趨勢,未來網頁設計的發展方向

    網頁設計未來趨勢,未來網頁設計的發展方向 相關圖片網頁設計發展前景如何@陳子目移動設備的大規模推廣應用,逐步增加了個人用戶和企業用戶對移動設備的依賴,這也使得相關技術企業和開發商近年來在B2B和B2C領域不斷加強技術支持。...

  • 華為mate10pro是曲屏么,麒麟970和驍龍710跑分

    華為mate10pro是曲屏么,麒麟970和驍龍710跑分 相關圖片驍龍710對應麒麟小龍710和麒麟970之間哪個最好?這是眾多Android手機用戶選擇其他品牌和華為的重要依據之一。對于小龍系列,我們會很清楚的。定位為中高端次旗艦機型的是CP麒麟970和...

  • 漸變濾鏡如何使用,漸變灰濾鏡怎么用

    漸變濾鏡如何使用,漸變灰濾鏡怎么用 相關圖片ps漸變濾鏡怎么用在CSS3和IE過濾器中實現線性漸變對完美主義者來說是一件痛苦的事情,就像不去挑選一塊垃圾一樣。所以對于普通的漸變,那些可以用CSS解決的不使用圖片。CSS3為漸變...

  • error522啥意思,522error怎么解決

    error522啥意思,522error怎么解決 相關圖片網頁error522如今,許多網民也開始建立自己的網站。在網站運營過程中,有時會出現各種各樣的問題。例如,一個網民的網站在打開時遇到錯誤522。錯誤522是什么意思?錯誤522error...

  • hp筆記本如何進bios,惠普電腦進bios

    hp筆記本如何進bios,惠普電腦進bios 相關圖片hp工作站進bios有時,由于一些設置問題,筆記本電腦需要進入BIOS進行設置。我相信許多惠普筆記本用戶不知道如何進入BIOS。惠普筆記本電腦進入BIOS的方式非常簡單:1。筆記本hp進bios按...

  • html5,html

    html5,html 相關圖片html解析原理HTML5和CSS3的時代即將到來。2011年淘寶新主頁全部使用了HTML5。擁抱變革是王道。我有很好的翻譯。讀完后,我覺得我明白了很多。我強烈推薦其他的童鞋,html5上傳原理...

  • arcore支持的手機,什么手機支持carplay

    arcore支持的手機,什么手機支持carplay 相關圖片華為手機里的arcore是什么有網友在應用市場發現了一個阿科爾應用。阿科爾是什么?Arcore是谷歌為構建增強現實應用而推出的一個軟件平臺,蘋果平臺也有類似的arkit。arcore的主要功什么...

  • 語法規則,什么是語法

    語法規則,什么是語法 相關圖片基礎語法一。HTML5不區分大小寫。這是我的2號。HTML5省略斜線來關閉空元素。空元素是不嵌套內容的元素,例如:3。屬性的語法規則。只要屬性值不包含限定字符(如(=或語法的組合規...

  • steam錯誤代碼-100解決,steam錯誤代碼-21解決

    steam錯誤代碼-100解決,steam錯誤代碼-21解決 相關圖片steam錯誤代碼137吃雞游戲《絕地生存》讓更多玩家開始接觸steam平臺,用戶群也更多。當然,在使用蒸汽的過程中會出現更多的錯誤情況。不過,還是有一些人不熟悉蒸汽,所以遇到蒸汽...

關注微信

变脸官网查询