我刚开始使用 Markdown。我喜欢它,但有一件事困扰着我:如何使用 Markdown 更改图像的大小?
该文档仅对图像提供以下建议:
![drawing](drawing.jpg)
如果可能的话,我希望图片也可以居中。我要的是一般的 Markdown,而不仅仅是 GitHub 是如何做到的。
您可以在 Markdown 中使用一些 HTML:
<img src="drawing.jpg" alt="drawing" width="200"/>
或通过style
属性(GitHub 不支持)
<img src="drawing.jpg" alt="drawing" style="width:200px;"/>
或者您可以使用Markdown 和图像对齐的答案中所述的自定义 CSS 文件
![drawing](drawing.jpg)
另一个文件中的 CSS:
img[alt=drawing] { width: 200px; }
此处接受的答案不适用于我迄今为止使用的应用程序中可用的任何 Markdown 编辑器,例如 Ghost、Stackedit.io 甚至在 StackOverflow 编辑器中。我在 StackEdit.io 问题跟踪器中找到了解决方法。
解决办法是直接使用HTML语法,效果很好:
<img src="http://....jpg" width="200" height="200" />
只需使用:
<img src="Assets/icon.png" width="200">
代替:
![](Assets/icon.png)
如果你正在为 PanDoc 编写 MarkDown,你可以这样做:
![drawing](drawing.jpg){ width=50% }
这将添加style="width: 50%;"
到 HTML<img>
标记或LaTeX 中[width=0.5\textwidth]
。\includegraphics
来源: http: //pandoc.org/MANUAL.html#extension-link_attributes
也许这最近发生了变化,但Kramdown 文档显示了一个简单的解决方案。
从文档
Here is an inline ![smiley](smiley.png){:height="36px" width="36px"}.
And here is a referenced ![smile]
[smile]: smile.png
{: height="36px" width="36px"}
在 github 上与 Jekyll 和 Kramdown 一起工作。
替换![title](image-url.type)
为<img src="https://image-url.type" width="200" height="200">
人们可能会利用可以在几乎所有 Markdown 实现/渲染中设置的alt
属性以及基于属性值的 CSS 选择器。优点是可以轻松定义一整套不同的图片大小(以及更多属性)。
降价:
![minipic](mypic.jpg)
CSS:
img[alt="minipic"] {
max-width: 20px;
display: block;
}
如果你使用 kramdown,你可以这样做:
{:.foo}
![drawing](drawing.jpg)
然后将其添加到您的自定义 CSS中:
.foo {
text-align: center;
width: 100px;
}
如果您在Gihub Flavored Markdown中使用参考样式图像:
Here is an image of tree:
![alt text][tree]{height=400px width=500px}
[//]: # (Image References)
[tree]: ./images/tree.png "This is a tree"
对于那些对解决方案感兴趣rmarkdown
的人knitr
。有一些方法可以在.rmd
不使用的情况下调整文件中的图像大小html
:
您可以简单地通过添加来指定图像的宽度{width=123px}
。不要在括号之间引入空格:
![image description]('your-image.png'){width=250px}
另一种选择是使用knitr::include_graphics
:
```{r, fig.cap="image description", out.width = '50%'}
knitr::include_graphics('your-image.png')
```
这个对我有用,它不在一条线上,但我希望它对你有用。
<div>
<img src="attachment:image.png" width="500" height="300"/>
</div>
我来到这里寻找答案。这里有一些很棒的建议。并且黄金信息指出markdown完全支持HTMl!
一个好的干净的解决方案总是使用纯 html 语法。带标签。
但是我试图仍然坚持使用 markdown 语法,所以我尝试将它包装在一个标签周围,并在 div 标签内添加我想要的图像的任何属性。它有效!
<div style="width:50%">![Chilling](https://www.w3schools.com/w3images/fjords.jpg)</div>
所以这种方式支持外部图像!
只是想我会把它放在那里,因为它不在任何答案中。:)
您也可以将它与 kramdown 一起使用:
markdown
![drawing](drawing.jpg)
{:.some-css-class style="width: 200px"}
或者
markdown
![drawing](drawing.jpg)
{:.some-css-class width="200"}
这样,您可以直接将任意属性添加到最后一个 html 元素。要添加类,有一个快捷方式.class.secondclass。
我编写了简单的标签解析器脚本,以便在Jekyll中使用自定义大小的 img 标签。
https://gist.github.com/nurinamu/4ccf7197a1bdfb0d7079
{% img /path/to/img.png 100x200 %}
您可以将文件添加到文件_plugins
夹中。
我知道这个答案有点具体,但它可能会帮助其他有需要的人。
由于使用Imgur 服务上传的照片很多,您可以使用此处详述的 API来更改照片的大小。
在 GitHub 问题评论中上传照片时,它会通过 Imgur 添加,因此如果照片很大,这将有很大帮助。
基本上,您可以将http://i.imgur.com/12345m.jpg代替http://i.imgur.com/12345.jpg用于中等大小的图像。
对于所有寻找在R markdown/ bookdown中工作的解决方案的人来说,这些以前的解决方案行不通或需要稍作调整:
追加{ width=50% }
或{ width=50% height=50% }
![foo](foo.png){ width=50% }
![foo](foo.png){ width=50% height=50% }
重要提示:宽度和高度之间没有逗号 - 即{ width=50%, height=30% }
不起作用!
附加{ height="36px" width="36px" }
![foo](foo.png){ height="36px" width="36px" }
{:height="36px" width="36px"}
来自@sayth 的冒号似乎不适用于 R markdown=WIDTHxHEIGHT
=WIDTHxHEIGHT
![foo](foo.png =100x20)
也不=WIDTH
只![foo](foo.png =250x)
工作如果每个 md 文件中有一个图像,控制图像大小的一种方便方法是:
添加css样式如下:
## Who Invented JSON?
`Douglas Crockford`
Douglas Crockford originally specified the JSON format in the early 2000s.
![Douglas Crockford](img/Douglas_Crockford.jpg)
<style type="text/css">
img {
width: 250px;
}
</style>
输出如下:[![在此处输入图像描述][1]][1]
如果每个 md 页面中有更多图像,那么控制每个图像或每个自定义标签的便捷方法是在 css 中定义每个元素。对于 img 标签的这种情况,我们可以:
//in css or within style tags:
img[alt="Result1"] {
width: 100px;
}
img[alt="Result2"] {
width: 200px;
}
img[alt="Result3"] {
width: 400px;
}
// try in md one of the methods shown below to insert image in your document:
<br/>
<img src="https://i.stack.imgur.com/xUb54.png" alt="Result1"> <br/>
<img src="https://i.stack.imgur.com/xUb54.png" alt="Result2"> <br/>
<img src="https://i.stack.imgur.com/xUb54.png" alt="Result3"> <br/>
<br/>
in md:<br/>
![Result1](img/res-img-1.png) <br/>
![Result2](img/res-img-2.png) <br/>
![Result3](img/res-img-3.png)
[1]: https://i.stack.imgur.com/xUb54.png
对于 R-Markdown,上述解决方案都不适合我,所以我转向常规的LaTeX语法,它工作得很好。
\begin{figure}
\includegraphics[width=300pt, height = 125 pt]{drawing.jpg}
\end{figure}
然后,您可以使用例如\begin{center}
语句使图像居中。
使用Flask时(我将它与平面页面一起使用)......我发现在对 markdown 的调用中的扩展中显式启用(由于某种原因不是默认情况下)'attr_list' 可以解决问题 - 然后可以使用属性(对于访问 CSS 也非常有用 - 例如 class="my class" ...)。
FLATPAGES_HTML_RENDERER = prerender_jinja
和功能:
def prerender_jinja(text):
prerendered_body = render_template_string(Markup(text))
pygmented_body = markdown.markdown(prerendered_body, extensions=['codehilite', 'fenced_code', 'tables', 'attr_list'])
return pygmented_body
然后在 Markdown 中:
![image](https://octodex.github.com/images/yaktocat.png "This is a tooltip"){: width=200px}
![pic][logo]{.classname}
[logo]: (picurl)
<style type="text/css">
.classname{
width: 200px;
}
</style>
我正在使用jupyter_core-4.4.0
& jupyter 笔记本。
![Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png](attachment:Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png)
attachment
链接不起作用:<img src="attachment:Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png" width="500"/>
只需添加 div 括号。
<div>
<img src="attachment:Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png" width="500"/>
</div>
希望这可以帮助!
在大多数 Markdown 渲染器中将呈现向源 URL 添加的相对尺寸。
我们在Corilla中实现了这一点,因为我认为该模式是一种遵循现有工作流程的预期,而不会促使用户依赖基本 HTML 的模式。如果您最喜欢的工具不遵循类似的模式,那么值得提出功能请求。
语法示例:
![a-kitten.jpg](//corilla.com/a-kitten-2xU3C2.jpg =200x200)
小猫的例子:
通过简单的向后兼容 MD:
![<alt>](<imguri>#<w>x<h> "<title>")
其中 w, h 定义了要适应的边界框,例如在 Flutter 包中https://pub.dev/packages/flutter_markdown
重新考虑破坏兼容性的 html 变通方法,因为人们可能会使用本机/非 html 组件/应用程序来显示降价。
如果您无法选择更改初始降价,则此 hack 可能会起作用:
newHtml = oldHtml.replace(/<img/g, '<img height="100"');
我使用它能够在通过电子邮件发送图像之前调整图像大小(因为 Outlook 忽略任何图像 css 样式)
如果我们只使用像这样的普通 HTML 图像标签,它就可以工作,如果您使用引导程序进行样式设置。我在用 Jekyll 制作的网站中使用它。
<img class="img-fluid" src="./img/face.jpg" alt="img-verification">
如果我们按照这个例子添加引导类,它就可以正常工作。
上面所说的纯粹<img ... width="50%">确实适用于我的 Github Readme.md文档。
但是我真正的问题是,图像位于表格单元格内,只是压缩了旁边单元格中的文本。所以另一种方法是在 Markdown 表中设置列宽,但是对于我的早晨来说,这些解决方案似乎并没有足够的降价。
最后我通过简单地用尽可能多的“&nbsp;”强制旁边的文本单元格解决了这两个问题 根据我的需要。
我希望这有帮助。再见,谢谢大家。
这将起作用
<style>
img{width: 50%;}
#foo {color: red;}
</style>
<p id="foo">foo</p>
<p style="color: blue">bar</p>
Tieme 的回答最适合大多数情况。
就我而言,我正在使用 pandoc 将降价转换为乳胶。HTML 标记在这里不起作用。
我的解决方案是重新实现\includegraphics
\let\maxincludegraphics\includegraphics
\renewcommand{\includegraphics}[1]{\maxincludegraphics[max width=\textwidth]{#1}}
这类似于在转换为 HTML 后使用 CSS。