Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲色图综合,国产三级在线观看免费,欧美日韩中字国产

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          技術(shù)學(xué)派:CSS規(guī)范總結(jié)

          SS樣式的權(quán)值(權(quán)重)

          權(quán)值等級的定義

          第一等:代表內(nèi)聯(lián)樣式,如: style=””,權(quán)值為1000。

          第二等:代表ID選擇器,如:#content,權(quán)值為100。

          第三等:代表類,偽類和屬性選擇器,如.content,權(quán)值為10。

          第四等:代表類型選擇器和偽元素選擇器,如div p,權(quán)值為1。

          Ps:通用選擇器(*),子選擇器(>)和相鄰?fù)x擇器(+)并不在這四個等級中,所以他們的權(quán)值都為0,!important 優(yōu)先級最高,萬不得已的情況下才用。

          權(quán)重計算

           #content div#main-content h2=2*100+2*1=202
           #content #main-content>h2=2*100+1=201
           body #content div[id="main-content"] h2=1*100+1*10+3*1=113
           #main-content div.paragraph h2=1*100+1*10+2*1=112
           #main-content [class="paragraph"] h2=1*100+1*10+1*1=111
           div#main-content div.paragraph h2.first=1*100+2*10+3*1=123
          

          優(yōu)先規(guī)則

          權(quán)值大的樣式會覆蓋權(quán)值小的樣式,上面例子的樣式會采用權(quán)值最大201的樣式,當(dāng)你亂用!important,特別是后期修改樣式的時候,是不是有種心力憔悴電費感覺?

          當(dāng)css前后樣式項的權(quán)值一樣,后面的樣式會覆蓋前面的樣式。

          Css 概念

          CSS規(guī)范

          命名風(fēng)格規(guī)范

          1 css文件命名:統(tǒng)一為小寫的英文字母(盡量少用拼音),如:index.css。

          當(dāng)名字需要組合拼寫時,可以在單詞間加中杠線(不要用下劃線:容易寫錯)。如:member-report.css。(推薦)

          或者統(tǒng)一為駝峰式拼寫。如:MemberReport.css (項目啟動前統(tǒng)一風(fēng)格)。

          2 樣式名(html的class名):在讓人看懂的前提下,盡量語義化或簡寫。盡量少用拼音,和無語義的縮寫 .bt .bd 等; 風(fēng)格可以統(tǒng)一為小寫字母,如:content。當(dāng)名字需要組合時,可以采用css文件名的規(guī)范。

          樣式的繼承

          文本樣式

          color,font-family, font-size, font-style,
          font-variant, font-weight, font, letter-spacing,
          line-height,text-align, text-indent, texttransform,word-spacing 
          

          列表相關(guān)屬性

          list-style-image, list-style-position,
          list-style-type, list-style,
          

          像素化 css

          CSS優(yōu)化

          渲染

          就是瀏覽器把HTML代碼以css定義的規(guī)則顯示在瀏覽器窗口的過程

          瀏覽器對頁面呈現(xiàn)的處理流程

          1. 用戶輸入網(wǎng)址(假設(shè)是個html頁面,并且是第一次訪問),瀏覽器向服務(wù)器發(fā)出請求,服務(wù)器返回html文件;
          2. 瀏覽器開始載入html代碼,發(fā)現(xiàn)<head>標(biāo)簽內(nèi)有一個<link>標(biāo)簽引用外部CSS文件;
          3. 瀏覽器又發(fā)出CSS文件的請求,服務(wù)器返回這個CSS文件;
          4. 瀏覽器繼續(xù)載入html中<body>部分的代碼,并且CSS文件已經(jīng)拿到手了,可以開始渲染頁面了;
          5. 瀏覽器在代碼中發(fā)現(xiàn)一個<img>標(biāo)簽引用了一張圖片,向服務(wù)器發(fā)出請求。此時瀏覽器不會等到圖片下載完,而是繼續(xù)渲染后面的代碼;
          6. 服務(wù)器返回圖片文件,由于圖片占用了一定面積,影響了后面段落的排布,因此瀏覽器要回過頭來重新渲染這部分代碼;
          7. 瀏覽器發(fā)現(xiàn)了一個包含一行Javascript代碼的<script>標(biāo)簽,趕快運行它;
          8. Javascript腳本執(zhí)行了這條語句,它命令瀏覽器隱藏掉代碼中的某個<div> (style.display=”none”)。杯具啊,突然就少了這么一個元素,瀏覽器不得不重新渲染這部分代碼;
          9. 終于等到了</html>的到來,瀏覽器淚流滿面……
          10. 等等,還沒完,用戶點了一下界面中的“換膚”按鈕,Javascript讓瀏覽器換了一下<link>標(biāo)簽的CSS路徑;
          11. 瀏覽器召集了在座的各位<div><span><ul><li>們,“大伙兒收拾收拾行李,咱得重新來過……”,瀏覽器向服務(wù)器請求了新的CSS文件,重新渲染頁面。

          回流

          當(dāng)頁面的布局發(fā)生變化時,瀏覽器會回過頭來重新渲染,這就是頁面為什么會慢的一個原因,當(dāng)一個點的變 化影響了布局,這就會使得要倒回去重新渲染,這個倒回去的過程稱為 reflow(回流)。

          當(dāng)頁面布局和幾何屬性改變時就需要回流。下述情況會發(fā)生瀏覽器回流

          1. 添加或者刪除可見的DOM元素;
          2. 元素位置改變和計算(offsetWidth 和 offsetHeight)
          3. 元素尺寸改變——邊距、填充、邊框、寬度和高度
          4. 內(nèi)容改變——比如文本改變或者圖片大小改變,字體的改變而引起的計算值寬度和高度改變;
          5. 頁面渲染初始化
          6. 瀏覽器窗口尺寸改變——resize事件發(fā)生時;
          7. 操作 class 屬性,腳本操作 DOM,設(shè)置 style 屬性的值,激活 CSS 偽類
          var s = document.body.style;
          s.padding = "2px"; // 回流+重繪
          s.border = "1px solid red"; // 再一次 回流+重繪
          s.color = "blue"; // 再一次重繪
          s.backgroundColor = "#ccc"; // 再一次 重繪
          s.fontSize = "14px"; // 再一次 回流+重繪
          // 添加node,再一次 回流+重繪
          document.body.appendChild(document.createTextNode('abc!'));
          回流比重繪的代價要更高,回流的花銷跟render tree有多少節(jié)點需要重新構(gòu)建有關(guān)系,假設(shè)你直接操作body,比如在body最前面插入1個元素,會導(dǎo)致整個render tree回流,這樣代價當(dāng)然會比較高,但如果是指body后面插入1個元素,則不會影響前面元素的回流。
          

          reflow問題也是可以優(yōu)化的,減少reflow是很有必要的,比如給圖片設(shè)定好寬度和高度,這樣就可以把圖片的占位面積預(yù)定好。

          重繪

          一些元素需要更新屬性,而這些屬性只是影響元素的外觀,風(fēng)格(景顏色,文字顏色,邊框顏色)而不會影響布局,瀏覽器就會repaint。repaint的速度明顯比reflow的速度快。

          為了幫助小伙伴們更好的學(xué)習(xí)WEB前端,技術(shù)學(xué)派整理了WEB前端的相關(guān)學(xué)習(xí)視頻及學(xué)習(xí)路線圖。

          領(lǐng)取方式

          關(guān)注“技術(shù)學(xué)派”后,評論轉(zhuǎn)發(fā)文章,私信回復(fù):WEB前端

          碼規(guī)范

          CSS樣式表是一個序列通用字符集,傳輸和存儲過程中,這些字符必須由支持 US-ASCII(例如 UTF-8, ISO 8859-x, SHIFT JIS 等)字符編碼方式編譯

          文檔內(nèi)嵌樣式表編碼

          When a style sheet is embedded in another document, such as in the STYLE element or "style" attribute of HTML, the style sheet shares the character encoding of the whole document.

          當(dāng)樣式出現(xiàn)在其它文檔,如 HTML 的 STYLE 標(biāo)簽或標(biāo)簽屬性 "style",樣式的編碼由文檔的決定。

          文檔外鏈樣式表編碼

          When a style sheet resides in a separate file, user agents must observe the following priorities when determining a style sheet's character encoding (from highest priority to lowest):

          An HTTP "charset" parameter in a "Content-Type" field (or similar parameters in other protocols)BOM and/or [@charset ]()or other metadata from the linking mechanism (if any)charset of referring style sheet or document (if any)Assume UTF-8

          文檔外鏈樣式表的編碼可以由以下各項按照由高到低的優(yōu)先級順序決定:

          1. HTTP “Content-Type” 字段參數(shù) “charset”(或其它協(xié)議相似的參數(shù))
          2. BOM(byte-order mark)和(或)[@charset ]()
          3. Link 中的元數(shù)據(jù)設(shè)置(如果有的話)
          4. 引用樣式表字符集或文檔編碼(如果有的話)
          5. 假定為 UTF-8 編碼

          樣式表編碼

          Authors using an [@charset ]() rule must place the rule at the very beginning of the style sheet, preceded by no characters. (If a byte order mark is appropriate for the encoding used, it may precede the [@charset ]() rule.)

          [@charset ]() must be written literally, i.e., the 10 characters '[@charset ]() "' (lowercase, no backslash escapes), followed by the encoding name, followed by '";'.

          • @charset規(guī)則一定要在樣式文件的第一行首個字符位置開始,否則的話就會有機(jī)會讓 BOM 設(shè)置生效(如果有設(shè)置 BOM 的話)而優(yōu)于 [@charset ]() 作為樣式表的編碼
          • @charset ""; 一定要寫上,并且用小寫字母,不能出現(xiàn)轉(zhuǎn)義符

          團(tuán)隊約定

          • 樣式文件必須寫上 [@charset ]() 規(guī)則,并且一定要在樣式文件的第一行首個字符位置開始寫,編碼名用 “UTF-8”
          • 字符 [@charset ]() ""; 都用小寫字母,不能出現(xiàn)轉(zhuǎn)義符,編碼名允許大小混寫
          • 考慮到在使用“UTF-8”編碼情況下 BOM 對代碼的污染和編碼顯示的問題,在可控范圍下,堅決不使用 BOM。(更多關(guān)于 BOM 可參考 BOM的介紹 和 「帶 BOM 的 UTF-8」和「無 BOM 的 UTF-8」有什么區(qū)別? )

          推薦:

          @charset "UTF-8";
          
          .jdc{}

          不推薦:

          /**
           * @desc File Info
           * @author Author Name
           * @date 2015-10-10
           */
           
          /* @charset規(guī)則不在文件首行首個字符開始 */
          @charset "UTF-8";
          
          .jdc{}
          @CHARSET "UTF-8";
          /* @charset規(guī)則沒有用小寫 */
          
          .jdc{}
          /* 無@charset規(guī)則 */
          .jdc{}

          更多關(guān)于樣式編碼:CSS style sheet representation

          代碼風(fēng)格

          代碼格式化

          樣式書寫一般有兩種:一種是緊湊格式 (Compact)

          .jdc{ display: block;width: 50px;}

          一種是展開格式(Expanded)

          .jdc{
              display: block;
              width: 50px;
          }

          團(tuán)隊約定

          統(tǒng)一使用展開格式書寫樣式

          代碼大小寫

          樣式選擇器,屬性名,屬性值關(guān)鍵字全部使用小寫字母書寫,屬性字符串允許使用大小寫。

          /* 推薦 */
          .jdc{
              display:block;
          }
              
          /* 不推薦 */
          .JDC{
              DISPLAY:BLOCK;
          }

          選擇器

          • 盡量少用通用選擇器 *
          • 不使用 ID 選擇器
          • 不使用無具體語義定義的標(biāo)簽選擇器
          /* 推薦 */
          .jdc {}
          .jdc li {}
          .jdc li p{}
          
          /* 不推薦 */
          *{}
          #jdc {}
          .jdc div{}

          代碼縮進(jìn)

          統(tǒng)一使用四個空格進(jìn)行代碼縮進(jìn),使得各編輯器表現(xiàn)一致(各編輯器有相關(guān)配置)

          .jdc {
              width: 100%;
              height: 100%;
          }

          分號

          每個屬性聲明末尾都要加分號;

          .jdc {
              width: 100%;
              height: 100%;
          }

          代碼易讀性

          左括號與類名之間一個空格,冒號與屬性值之間一個空格

          推薦:

          .jdc { 
              width: 100%; 
          }

          不推薦:

          .jdc{ 
              width:100%;
          }

          逗號分隔的取值,逗號之后一個空格

          推薦:

          .jdc {
              box-shadow: 1px 1px 1px #333, 2px 2px 2px #ccc;
          }

          不推薦:

          .jdc {
              box-shadow: 1px 1px 1px #333,2px 2px 2px #ccc;
          }

          為單個css選擇器或新申明開啟新行

          推薦:

          .jdc, 
          .jdc_logo, 
          .jdc_hd {
              color: #ff0;
          }
          .nav{
              color: #fff;
          }

          不推薦:

          .jdc,jdc_logo,.jdc_hd {
              color: #ff0;
          }.nav{
              color: #fff;
          }

          顏色值 rgb() rgba() hsl() hsla() rect() 中不需有空格,且取值不要帶有不必要的 0

          推薦:

          .jdc {
              color: rgba(255,255,255,.5);
          }

          不推薦:

          .jdc {
              color: rgba( 255, 255, 255, 0.5 );
          }

          屬性值十六進(jìn)制數(shù)值能用簡寫的盡量用簡寫

          推薦:

          .jdc {
              color: #fff;
          }

          不推薦:

          .jdc {
              color: #ffffff;
          }

          不要為 0 指明單位

          推薦:

          .jdc {
              margin: 0 10px;
          }

          不推薦:

          .jdc {
              margin: 0px 10px;
          }

          屬性值引號

          css屬性值需要用到引號時,統(tǒng)一使用單引號

          /* 推薦 */
          .jdc { 
              font-family: 'Hiragino Sans GB';
          }
          
          /* 不推薦 */
          .jdc { 
              font-family: "Hiragino Sans GB";
          }

          屬性書寫順序

          建議遵循以下順序:

          1. 布局定位屬性:display / position / float / clear / visibility / overflow
          2. 自身屬性:width / height / margin / padding / border / background
          3. 文本屬性:color / font / text-decoration / text-align / vertical-align / white- space / break-word
          4. 其他屬性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient ...
          .jdc {
              display: block;
              position: relative;
              float: left;
              width: 100px;
              height: 100px;
              margin: 0 10px;
              padding: 20px 0;
              font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
              color: #333;
              background: rgba(0,0,0,.5);
              -webkit-border-radius: 10px;
              -moz-border-radius: 10px;
              -o-border-radius: 10px;
              -ms-border-radius: 10px;
              border-radius: 10px;
          }

          mozilla官方屬性順序推薦

          CSS3瀏覽器私有前綴寫法

          CSS3 瀏覽器私有前綴在前,標(biāo)準(zhǔn)前綴在后

          .jdc {
              -webkit-border-radius: 10px;
              -moz-border-radius: 10px;
              -o-border-radius: 10px;
              -ms-border-radius: 10px;
              border-radius: 10px;
          }

          更多關(guān)于瀏覽器私有前輟寫法:#Vendor-specific extensions

          參考閱讀

          Google Code Guide


          者:sunshine小小倩

          轉(zhuǎn)發(fā)鏈接:https://juejin.im/post/592d4a5b0ce463006b43b6da


          主站蜘蛛池模板: 国产综合视频在线观看一区| 国产精品福利一区二区久久| 日韩内射美女人妻一区二区三区| 91精品一区二区| 亚洲日本一区二区一本一道| 亚洲一区二区三区高清在线观看 | 精品女同一区二区三区在线| 射精专区一区二区朝鲜 | 亚洲AV无码片一区二区三区| 亚洲熟妇av一区二区三区漫画| 视频一区二区在线播放| 国模无码一区二区三区| 日本免费电影一区二区| 538国产精品一区二区在线| 麻豆视传媒一区二区三区| 国产情侣一区二区| 在线观看一区二区三区av| 亚洲一区二区三区在线网站| 91久久精品无码一区二区毛片| 久久一区二区精品综合| 久久精品一区二区| 无码一区二区三区免费| 一区二区三区四区免费视频| 日韩一区精品视频一区二区| 精品无码一区二区三区亚洲桃色| 久久久久人妻精品一区蜜桃| 亚洲av日韩综合一区在线观看| 中文字幕亚洲一区| 国产AV一区二区三区传媒| 精品一区二区在线观看| 亚洲AV成人一区二区三区AV| 亚洲综合无码一区二区| 亚洲区精品久久一区二区三区 | 一区二区高清在线| 亚洲午夜日韩高清一区| 国产精品熟女一区二区| 欧洲无码一区二区三区在线观看| 蜜臀AV一区二区| 国产伦精品一区二区三区免费迷 | 一区二区三区国产| 美女毛片一区二区三区四区|