欧美中文字幕第一页-欧美中文字幕一区-欧美中文字幕一区二区三区-欧美中文字幕在线-欧美中文字幕在线播放-欧美中文字幕在线视频

Github 的 CSS 風格指南 – WEB前端開發

我是創始人李巖:很抱歉!給自己產品做個廣告,點擊進來看看。  

這個CSS風格指南是在GitHub內部用于應用程序的指南。我們鼓勵您建立一個適合你自己團隊的風格指南。在你閱讀這個之前,你需要大致了解 SCSS 語法和 KSS 文檔。雖然我們通過KSS文檔把風格移植到了SCSS上,但請務必立刻升級整個元素的CSS。不要混合少量SCSS和無格式的CSS。

編碼風格:

  • 用兩個空格的“soft-tabs”來縮進
  • 在屬性聲明的“:”后加上空格
  • 在規則聲明后的“{”前加上空格
  • 使用十六進制顏色代碼#000,如果不使用RGBA
  • 使用//來做注釋塊(而不是/**/)
  • 文檔風格與KSS相同

這里有個好的語法示例:

			// This is a good example!
			.styleguide-format {
			??border: 1px solid #0f0;
			??color: #000;
			??background: rgba(0,0,0,0.5);
			}
		

SCSS 風格:

  • 任何會在多個文件中使用的$variable 或者 @mixin應該放在globals/下。其他的應該放在使用它的文件的頂部。
  • 作為一個經驗法則,不要使用超過3層的嵌套。如果你發現你將要使用超過三層,想想重新組織你的規則。

文件組織:

一般來說,CSS文件組織應該想下面這樣:

		styles
		├── components
		│?? ├── comments.scss
		│?? └── listings.scss
		├── globals
		│?? ├── browser_helpers.scss
		│?? ├── responsive_helpers.scss
		│?? ├── variables.scss
		├── plugins
		│?? ├── jquery.fancybox-1.3.4.css
		│?? └── reset.scss
		├── sections
		│?? ├── issues.scss
		│?? ├── profile.scss
		└── shared
		????├── forms.scss
		????└── markdown.scss
	

使用 Spockets 來獲取文件。但是,你應該明確地導入任何在特定的SCSS文件中不會產生樣式(globals/)的SCSS。下面是個好的例子:

		//= require_tree ./plugins
		//= require my_awesome_styles
		?
		@import "../globals/basic";
		?
		.rule { ... }
	

Pixels vs. Ems:
在font-size上使用px,因為它提供了在文字上的絕對控制。此外,更傾向于使用無單位的line-height,因為它不會繼承父元素的百分比值,而是基于字體大小的倍數。

Class的命名慣例:
不要在css文件中引用js-前綴的類名。js-只由js文件使用。在css和js共享的狀態規則使用is-前綴。

特異性(classes vs. ids):
在頁面中確定出現一次的元素應該使用IDs.否則使用Class.在不確定時使用Class。

  • 應該使用ID的:header,footer,彈窗
  • 不應該使用ID的:導航,列表元素等

當在給一個組件加樣式的時候,從元素+類名(更傾向于類名)開始,在默認情況下更傾向于使用直接后代選擇器(>)。用盡可能少的特殊的。下面是個例子:

		<ul class="category-list">
		??<li class="item">Category 1</li>
		??<li class="item">Category 2</li>
		??<li class="item">Category 3</li>
		</ul>
	
		ul.category-list {// element + class namespace
		?
		??&>li {// direct descendant selector > for list items
		????list-style-type: disc;
		??}
		?
		??a {// minimal specificity for all links
		????color: #ff0000;
		??}
		}
	

CSS特異性指南:

  • 如果你必須使用一個id選擇器,確保在你的規則聲明中只有一個。像#header .search #quicksearch { … }這樣的被認為是不好的。
  • 當在修改一個現有元素來特殊使用,試著使用類名。使用.listings-layout.listings-bigger而不是.listings-layout.bigger。想想ack/grep在你未來的代碼中。
  • disabled ,? mousedown ,? danger ,? hover ,? selected , active這些類名應該有一個類作為命名空間(button.selected是個好的例子)

實驗性功能:
我們想要內部使用和實驗性功能。在編寫css的時候需要一些紀律因為現有的功能和實驗性功能的css將會被同時提供。始終牢記這些目標:

  • 給新功能寫樣式的時候不要影響已有功能的樣式
  • 當實驗性功能不工作的時候可以很容易的移除
  • 當新功能上線的時候可以很容易移除舊的功能的css

在開發beta或實驗性功能時,用-experimental變量替換根命名空間和棄用現有根節點。一般來說,最好重復樣式實驗塊而不是試圖和擴展現有的樣式。

一個現有功能的:

		<div class="notifications">
		??<ul class="navigation">
		????<li><a href="#">Notifications</a></li>
		????<li><a href="#">Messages</a></li>
		??</ul>
		??<div class="notifications-listing">
		????<a href="#">dragon commented on Issue #551</a>
		????<a href="#">mojombo commented on Issue #91</a>
		????<a href="#">defunkt uploaded a new file to defunkt/resque</a>
		??</div>
		</div>
	
		// Deprecated: Existing notifications + messages design. To be removed when
		// notifications-next ships.
		//
		// Styleguide 4.5.1
		.notifications {
		??ul.navigation {
		????float: left;
		????width: 200px;
		????background: #eee;
		??}
		?
		??.notification-listing {
		????&>a {
		??????display: block;
		??????font-weight: bold;
		????}
		??}
		}
	

在這里查看完整的版本: http://www.css88.com/archives/https://github.com/styleguide/css

轉載自: http://hao.jobbole.com/github-css-style-guide/

本文被轉載1次

首發媒體 Web前端開發 | 轉發媒體

隨意打賞

提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 中文字幕第一页国产 | 色偷偷亚洲 | 免费看一级欧美毛片 | 桃色婷婷 | 97人人在线观看 | 中文字幕国产综合 | 国产成人精品视频免费 | 亚洲综合免费视频 | 免费一级特黄视频 | 欧美一区色 | 欧美30p| 99爱免费观看视频在线 | 手机看片久久高清国产日韩 | 高清国产一区二区三区 | 黄色.www| 五月花激情网 | aaa国产一级毛片 | 国产美女视频免费 | 乱人伦中文字幕在线看 | 久久精品国产99久久 | 日本欧美一区二区三区在线 | 亚洲综合在线另类色区奇米 | 毛片免费视频播放 | 亚洲三级天堂 | 欧美三级久久 | 成人不卡视频 | 成人在线免费网站 | 国产精品福利影院 | 亚洲精品综合久久中文字幕 | 插久久 | 日本精品久久久中文字幕 | 久久er热这里只有精品免费 | 亚洲国产精品yw在线观看 | 免费爱爱的视频太爽了 | 免费一区二区三区免费视频 | 五月色婷婷六月噜噜 | 99在线热视频 | 国产精品福利久久 | 中文字幕精品1在线 | 久久亚洲精品久久久久 | 天堂成人一区二区三区 |