整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          PHPStorm屬性的HTML縮進

          于具有很多屬性的標簽,我希望在新行上分割每個屬性,當按Enter鍵調用新行時,它應該只縮進一個標簽。

          以下示例輸出我想如何縮進我的屬性:

          <svg width="300px" height="150px">
           <ellipse class="fill-current" 
           cx="150" 
           cy="75" 
           rx="100"
           ry="75"
           />
          </svg>
          

          但PHPStorm會自動嘗試將我所有的行縮進到當前屬性:

          <svg width="300px" height="150px">
           <ellipse class="fill-current"
           cx="150"
           cy="75"
           rx="100"
           ry="75"
           />
          </svg>
          

          我無法在設置(編輯器 - >代碼樣式 - > HTML)中找到任何選項來更改此行為。有誰知道這個問題的解決方案?

          這背后的原因是因為我經常在我的HTML模板中使用自定義標簽。有時候我自己的標簽很長,并且是2個或(罕見的情況下)3個單詞的組合,并且在新行上啟動所有額外屬性并且它不應該在標簽的末尾對齊。自己縮進屬性是很麻煩的。我想自動化它。


          進設置


          回憶上節課內容


          • 這次了解了顏色的細節
          • 設置 256 色模式 :set t_Co=256
          • 然后確定了具體的各種顏色
          • 還可以生成網頁 :TOhtml
          • 還有什么好玩的么?




          縮進設置


          ?



          • 在正常模式下 使用 << 可以向前縮進 使用 >> 可以向后縮進 = 可以讓當前行自動縮進
          • 使用 g g = G 可以從頭自動縮進到結尾
          • 這超爽


          顯示縮進


          • 我們編程的時候會遇到縮進 這縮進究竟是 空格 呢?還是 tab 呢? 要把 空格 和 tab 區別開來
          • :set list 使得列表生效 tab 會被顯示為 ^I 行尾會顯示 $


          ?



          • :set nolist 使得列表失效 tab 會被顯示為空格縮進


          ?



          • 但是好像縮進看起來只有兩格了
          • 與實際不符
          • 能修改么?


          定制 tab 顯示


          • 把特殊字符作為 listchars 組顯示出來
          • :set listchars
          • 設置 listchars
          • :set listchars=eol:$,tab:>-,space:_ tab 對應 >- > 是開頭 - 在后面補位


          ?



          • space 對應 _
          • eol 對應 $
          • :h listchars可以查看相關手冊


          空格顏色


          • :hi SpecialKey ctermfg=DarkRed guifg=grey70 設置 listchars 相應的顏色 設置得特殊一點


          ?



          最終效果


          ?



          • 建議統一能用 tab 的時候就用 tab
          • 減小文件容量


          ?



          基礎


          • shiftwidth值是整個縮進的基礎
          • :set shiftwidth=4 shiftwidth 是一個基礎的值,對應 按下 >> 縮進的寬度 按下 tab 縮進的寬度 退格或者刪除 \t 時縮進的寬度
          • 一般 tabstop、softtabstop 都與他相同 一般都是 4 如果 shiftwidth 是 0 的話 就按照 tabstop 來


          解釋 tab 寬度


          • tabstop 是 讀取文件 時用到的
          • 讀到 \t 字符時
          • 解釋他對應多少個空格的寬度
          • 一般都是 4 個空格


          ?



          softtabstop 處理空格的數量


          • 如果 softtabstop 等于 0 特性取消,一切按照 tabstop 來
          • 如果 tabstop=4、softtabstop=8 按下 tab 時 一次插入 8 個位置 看起來像插了兩個 tab 要刪除 tab 時 1 次刪除空格 8 個 看起來像刪了兩個 tab 可以試試,能看出來
          • 當他是負數的時候 shiftwidth 起作用
          • 所以說 shiftwidth 是基礎


          ?



          擴展 tab


          • :set expandtab 可以把輸入的 tab 變成空格
          • 設置好之后,在正常模式下 > > 或者在插入模式下 tab 的時候 都看不到 >---,而是直接變成空格 _
          • 反之 :set noexpandtab 之后 插入的 tab 都還是 >---
          • :h expandtab 可以查看相關手冊 expandtab 可以簡寫為 et


          ?



          • 那已經存在的tab怎么辦呢?


          強制拓展


          • :retab!
          • 把已經存在的 tab 強制擴展成為空格


          ?



          • 轉過去之后
          • 沒有轉回來的命令
          • 慎重吧
          • 我覺得tab挺好的


          回車之后自動縮進


          • :set autoindent 可以簡寫為 :set ai 添加與上一行一致的縮進 取消為 :se noai
          • :set smartindent 簡寫為 :se si 在 autoindent 的基礎上根據 {、} 來調整本行縮進 取消為 :se nosi 需要保證 :se nopaste
          • :set cindent 根據類似于 c、java 的代碼動態調節縮進 見到 if 之類的可以自動縮進 取消為 :set nocindent


          ?



          整體設定為


          • :set noexpandtab
          • :set shiftwidth = 4
          • :set tabstop =4
          • :set softtabstop=4
          • :set autoindent
          • 簡寫為 :set noet sw=4 ts=4 sts=4 ai
          • 這都個人喜好
          • 沒有絕對規定


          總結


          • 這次了解了縮進的各種方式
          • 正常模式下用 << 縮進
          • 插入模式下用 tab 縮進
          • 有關于縮進對應空格數的參數 expandtab shiftwidth tabstop softtabstop autoindent
          • 不同的文件類型可以對應不同的縮進嗎?? python、java縮進4個 html、css可以縮進2個
          • 下次再說

          ?

          TML 代碼約定

          很多 Web 開發人員對 HTML 的代碼規范知之甚少。

          在2000年至2010年,許多Web開發人員從 HTML 轉換到 XHTML。

          使用 XHTML 開發人員逐漸養成了比較好的 HTML 編寫規范。

          而針對于 HTML5 ,我們應該形成比較好的代碼規范,以下提供了幾種規范的建議。

          使用正確的文檔類型

          文檔類型聲明位于HTML文檔的第一行:

          <!DOCTYPE html>

          如果你想跟其他標簽一樣使用小寫,可以使用以下代碼:

          <!doctype html>

          使用小寫元素名

          HTML5 元素名可以使用大寫和小寫字母。

          推薦使用小寫字母:

          • 混合了大小寫的風格是非常糟糕的。

          • 開發人員通常使用小寫 (類似 XHTML)。

          • 小寫風格看起來更加清爽。

          • 小寫字母容易編寫。

          不推薦:

          <SECTION>

          <p>這是一個段落。</p>

          </SECTION>

          非常糟糕:

          <Section>

          <p>這是一個段落。</p>

          </SECTION>

          推薦:

          <section>

          <p>這是一個段落。</p>

          </section>

          關閉所有 HTML 元素

          在 HTML5 中, 你不一定要關閉所有元素 (例如 <p> 元素),但我們建議每個元素都要添加關閉標簽。

          不推薦:

          <section>

          <p>這是一個段落。

          <p>這是一個段落。

          </section>

          推薦:

          <section>

          <p>這是一個段落。</p>

          <p>這是一個段落。</p>

          </section>

          關閉空的 HTML 元素

          在 HTML5 中, 空的 HTML 元素也不一定要關閉:

          我們可以這么寫:

          <meta charset="utf-8">

          也可以這么寫:

          <meta charset="utf-8" />

          在 XHTML 和 XML 中斜線 (/) 是必須的。

          如果你期望 XML 軟件使用你的頁面,使用這種風格是非常好的。

          使用小寫屬性名

          HTML5 屬性名允許使用大寫和小寫字母。

          我們推薦使用小寫字母屬性名:

          • 同時使用大小寫是非常不好的習慣。

          • 開發人員通常使用小寫 (類似 XHTML)。

          • 小寫風格看起來更加清爽。

          • 小寫字母容易編寫。

          不推薦:

          <div CLASS="menu">

          推薦:

          <div class="menu">

          屬性值

          HTML5 屬性值可以不用引號。

          屬性值我們推薦使用引號:

          • 如果屬性值含有空格需要使用引號。

          • 混合風格不推薦的,建議統一風格。

          • 屬性值使用引號易于閱讀。

          以下實例屬性值包含空格,沒有使用引號,所以不能起作用:

          <table class=table striped>

          以下使用了雙引號,是正確的:

          <table class="table striped">

          圖片屬性

          圖片通常使用 alt 屬性。 在圖片不能顯示時,它能替代圖片顯示。

          <img src="html5.gif" alt="HTML5" style="width:128px;height:128px">

          定義好圖片的尺寸,在加載時可以預留指定空間,減少閃爍。

          <img src="html5.gif" alt="HTML5" style="width:128px;height:128px">

          空格和等號

          等號前后可以使用空格。

          <link rel = "stylesheet" href = "styles.css">

          但我們推薦少用空格:

          <link rel="stylesheet" href="styles.css">

          避免一行代碼過長

          使用 HTML 編輯器,左右滾動代碼是不方便的。

          每行代碼盡量少于 80 個字符。

          空行和縮進

          不要無緣無故添加空行。

          為每個邏輯功能塊添加空行,這樣更易于閱讀。

          縮進使用兩個空格,不建議使用 TAB。

          比較短的代碼間不要使用不必要的空行和縮進。

          不必要的空行和縮進:

          <body>

          <h1>菜鳥教程</h1>

          <h2>HTML</h2>

          <p>

          菜鳥教程,學的不僅是技術,更是夢想。

          菜鳥教程,學的不僅是技術,更是夢想。

          菜鳥教程,學的不僅是技術,更是夢想,

          菜鳥教程,學的不僅是技術,更是夢想。

          </p>

          </body>

          推薦:

          <body>

          <h1>菜鳥教程</h1>

          <h2></h2>

          <p>菜鳥教程,學的不僅是技術,更是夢想。

          菜鳥教程,學的不僅是技術,更是夢想。

          菜鳥教程,學的不僅是技術,更是夢想。

          菜鳥教程,學的不僅是技術,更是夢想。</p>

          </body>

          表格實例:

          <table>

          <tr>

          <th>Name</th>

          <th>Description</th>

          </tr>

          <tr>

          <td>A</td>

          <td>Description of A</td>

          </tr>

          <tr>

          <td>B</td>

          <td>Description of B</td>

          </tr>

          </table>

          列表實例:

          <ol>

          <li>London</li>

          <li>Paris</li>

          <li>Tokyo</li>

          </ol>

          省略 <html> 和 <body>?

          在標準 HTML5 中, <html> 和 <body> 標簽是可以省略的。

          以下 HTML5 文檔是正確的:

          實例:

          <!DOCTYPE html>

          <head>

          <title>頁面標題</title>

          </head>

          <h1>這是一個標題</h1>

          <p>這是一個段落。</p>

          嘗試一下 ?

          不推薦省略 <html> 和 <body> 標簽。

          <html> 元素是文檔的根元素,用于描述頁面的語言:

          <!DOCTYPE html>

          <html lang="zh">

          聲明語言是為了方便屏幕閱讀器及搜索引擎。

          省略 <html> 或 <body> 在 DOM 和 XML 軟件中會崩潰。

          省略 <body> 在舊版瀏覽器 (IE9)會發生錯誤。

          省略 <head>?

          在標準 HTML5 中, <head>標簽是可以省略的。

          默認情況下,瀏覽器會將 <body> 之前的內容添加到一個默認的 <head> 元素上。

          實例

          <!DOCTYPE html>

          <html>

          <title>頁面標題</title>

          <body>

          <h1>這是一個標題</h1>

          <p>這是一個段落。</p>

          </body>

          </html>

          嘗試一下 ?

          現在省略 head 標簽還不推薦使用。

          元數據

          HTML5 中 <title> 元素是必須的,標題名描述了頁面的主題:

          <title>菜鳥教程</title>

          標題和語言可以讓搜索引擎很快了解你頁面的主題:

          <!DOCTYPE html>

          <html lang="zh">

          <head>

          <meta charset="UTF-8">

          <title>菜鳥教程</title>

          </head>

          HTML 注釋

          注釋可以寫在 <!-- 和 --> 中:

          <!-- 這是注釋 -->

          比較長的評論可以在 <!-- 和 --> 中分行寫:

          <!--

          這是一個較長評論。 這是 一個較長評論。這是一個較長評論。

          這是 一個較長評論 這是一個較長評論。 這是 一個較長評論。

          -->

          長評論第一個字符縮進兩個空格,更易于閱讀。

          樣式表

          樣式表使用簡潔的語法格式 ( type 屬性不是必須的):

          <link rel="stylesheet" href="styles.css">

          短的規則可以寫成一行:

          p.into {font-family: Verdana; font-size: 16em;}

          長的規則可以寫成多行:

          body {

          background-color: lightgrey;

          font-family: "Arial Black", Helvetica, sans-serif;

          font-size: 16em;

          color: black;

          }

          • 將左花括號與選擇器放在同一行。

          • 左花括號與選擇器間添加以空格。

          • 使用兩個空格來縮進。

          • 冒號與屬性值之間添加已空格。

          • 逗號和符號之后使用一個空格。

          • 每個屬性與值結尾都要使用符號。

          • 只有屬性值包含空格時才使用引號。

          • 右花括號放在新的一行。

          • 每行最多 80 個字符。

          在逗號和分號后添加空格是常用的一個規則。

          在 HTML 中載入 JavaScript

          使用簡潔的語法來載入外部的腳本文件 ( type 屬性不是必須的 ):

          <script src="myscript.js">

          使用 JavaScript 訪問 HTML 元素

          一個糟糕的 HTML 格式可能會導致 JavaScript 執行錯誤。

          以下兩個 JavaScript 語句會輸出不同結果:

          實例

          var obj = getElementById("Demo")

          var obj = getElementById("demo")

          HTML 中 JavaScript 盡量使用相同的命名規則。

          訪問 JavaScript 代碼規范。

          使用小寫文件名

          大多 Web 服務器 (Apache, Unix) 對大小寫敏感: london.jpg 不能通過 London.jpg 訪問。

          其他 Web 服務器 (Microsoft, IIS) 對大小寫不敏感: london.jpg 可以通過 London.jpg 或 london.jpg 訪問。

          你必須保持統一的風格,我們建議統一使用小寫的文件名。

          文件擴展名

          HTML 文件后綴可以是 .html (或r .htm)。

          CSS 文件后綴是 .css

          JavaScript 文件后綴是 .js

          .htm 和 .html 的區別

          .htm 和 .html 的擴展名文件本質上是沒有區別的。瀏覽器和 Web 服務器都會把它們當作 HTML 文件來處理。

          區別在于:

          .htm 應用在早期 DOS 系統,系統現在或者只能有三個字符。

          在 Unix 系統中后綴沒有特別限制,一般用 .html。

          技術上區別

          如果一個 URL 沒有指定文件名 (如 http://www.runoob.com/css/), 服務器會返回默認的文件名。通常默認文件名為 index.html, index.htm, default.html, 和 default.htm。

          如果服務器只配置了 "index.html" 作為默認文件,你必須將文件命名為 "index.html", 而不是 "index.htm"。

          但是,通常服務器可以設置多個默認文件,你可以根據需要設置默認文件嗎。

          不管怎樣,HTML 完整的后綴是 ".html"。

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!


          主站蜘蛛池模板: 国产一区二区三区在线免费| 日本高清不卡一区| 午夜一区二区免费视频| 国产一区二区三区在线影院 | 一区二区三区四区电影视频在线观看| 国产午夜精品片一区二区三区| 久久人做人爽一区二区三区| 亚洲色无码专区一区| 国产一区二区在线观看视频| 亚洲一区二区三区在线观看蜜桃| 91久久精品一区二区| 国产免费一区二区三区在线观看 | 中文精品一区二区三区四区| 国产福利电影一区二区三区| 午夜福利一区二区三区在线观看| 久久精品黄AA片一区二区三区 | 久久久不卡国产精品一区二区| 国产精品无码一区二区三级 | 熟女性饥渴一区二区三区| 亚洲国产一区在线观看| 亚洲一区二区三区高清| 日韩一区二区三区不卡视频| 成人精品视频一区二区三区不卡 | 99精品国产一区二区三区不卡 | 精品天海翼一区二区| 无码少妇一区二区三区| 久久综合精品不卡一区二区| 无码囯产精品一区二区免费| 亚洲AV综合色一区二区三区 | 日本无卡码一区二区三区| 无码夜色一区二区三区| 成人免费区一区二区三区| 中文字幕精品一区二区精品| 日韩免费视频一区二区| 精品欧洲AV无码一区二区男男 | 亚洲国产一区二区视频网站| 国产亚洲情侣一区二区无| 亚洲一区二区中文| 亚洲精品伦理熟女国产一区二区 | 内射少妇一区27P| 国产一区二区精品尤物|