點贊再看,養成習慣,微信搜索【高級前端進階】關注我。html
本文 GitHub github.com/yygmind 已收錄,有一線大廠面試完整考點和系列文章,歡迎 Star。前端
最近在學習的時候看到了 Markdown 代碼 diff 高亮的效果,感受挺有意思的。忽然發現還有這麼一個好玩的用法,而後我就想着整理一波 Markdown 的高級用法,下面是我整理的一些內容,若是還沒用過 Markdown 這些技巧,快來試試吧。java
若是你作過代碼 Code Review,對下面這種效果確定很熟悉git
// 數組去重
const unique = (arr)=>{
- return Array.from(new Set(arr))
+ return [...new Set(arr)]
}
複製代碼
這種代碼的增刪對比效果就是經過 diff 來作的,原始代碼以下github
```diff
// 數組去重
const unique = (arr)=>{
- return Array.from(new Set(arr))
+ return [...new Set(arr)]
}
```
複製代碼
在 Markdown 中,``` 用來表示代碼塊,跟在後面的是語言類型,好比 js、java 和 diff 等面試
上面的 diff 代碼最終在 html 中會轉換成下面這段(不過在不一樣轉化器中轉換效果會有所差別),最終經過修改樣式達到上面的效果。數組
<pre>
<code>
"// 數組去重"
<br>
"const unique = (arr)=>{"
<br>
<span class="deletion">"- return Array.from(new Set(arr))"</span>
<br>
<span class="addition">"+ return [...new Set(arr)]"</span>
<br>
"}"
<br>
</code>
</pre>
複製代碼
不少 Demo 代碼都會實現一個 TodoList,咱們用 Markdown 來作一個,實現下面這種 Todo 效果bash
原始寫法是下面這樣微信
-空格[空格]空格待完成
-空格[x]空格已完成
-空格[空格]空格~~未完成~~
複製代碼
插入圖片方式比較簡單,上面這張圖片原始寫法以下,只要有 ![]()
就好了markdown
![圖片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image)
複製代碼
可是這時候的圖片寬高是不受限制的,如何生成給定寬高的圖片,咱們先來看下效果。
這時候咱們可使用 img
標籤,原始寫法以下
<img src='https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image' width=300px height=200px />
// 寫法二,自動縮放
<img src='https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image' width=40%/>
複製代碼
原理也很簡單,由於 ![]()
轉化成 html 後就會變成 img
標籤,因此咱們直接在 Markdown 中寫 img
標籤而且加上寬高就能夠了。
// 原始 markdown 語法
![圖片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image)
// 轉化成 html 後語法
<img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image" alt="圖片描述">
複製代碼
以前寫過一篇 Array 原型方法源碼實現大解密 的文章,裏面就用到了這一能力。點擊下面例子的「展開查看規範」後,就會展開更多內容。
原始寫法比較簡單,用到了 <details>
和 <summary>
標籤
<details>
<summary>展開查看規範</summary>
這是展開後的內容1
</details>
複製代碼
錨點是網頁製做中的一種,又叫命名錨記。命名錨記就像一個迅速定位器同樣,它是一種頁面內的超級連接。
錨點連接就是點擊後會跳轉到對應的錨點位置,想到連接跳轉就能想到 <a></a>
標籤
在這裏咱們有 2 種方式實現這個效果
Markdown 原始寫法 [名稱](#id)
HTML 語法 <a href="#id">名稱</a>
原始寫法就是下面這種了
[點擊我跳轉到目錄樹](#目錄樹)
<a href="#目錄樹">名稱</a>
複製代碼
這種直接在文章中使用 [TOC]
就能夠,會轉化成下面這種格式
<div class="table-of-contents">
<ul>
<li><a href="">代碼diff</a></li>
<li><a href="">待辦事項</a></li>
...
</ul>
</div>
複製代碼
不過這樣也存在兼容性問題,Github 中並不支持,可使用 github-markdown-toc 這個庫自動生成,其實它的原理就是自動生成錨標記,而後就能夠頁面內跳轉了。
最後來介紹下怎麼換行,好比最長使用的 Markdown 工具是 Typora,換行後發到 github 發現並無什麼卵用,其實這時候使用 CSS 的 <br>
標籤就能夠了。
上面這一行就是換行效果了
文章持續更新,能夠微信搜索「高級前端進階 」第一時間閱讀,回覆【資料】【面試】【簡歷】有我準備的一線大廠面試資料,本文 GitHub github.com/yygmind 已收錄,有一線大廠面試完整考點和系列文章,歡迎 Star。
有任何問題均可以來問我