在Markdown中更改图像大小


920

我刚开始使用Markdown。我喜欢它,但是有一件事困扰着我:如何使用Markdown更改图像的大小?

该文档仅对图像提供以下建议:

![drawing](drawing.jpg)

如果可能,我希望图片也居中。我要求一般的Markdown,而不仅仅是GitHub如何做到这一点。


11
我建议将可接受的答案更改为与大多数降价解释器兼容的代码(在我看来,这一解释是stackoverflow.com/a/21972032/463225)。
WattsInABox


Microsoft在页面上有关于Markdown语法的注释:!仅在请求请求和Wiki中支持支持图像大小调整的语法。 docs.microsoft.com/zh-cn/vsts/project/wiki/… 不确定此语法注释对所有markdown还是仅对VSTS有效。
乔B

Answers:


500

使用某些Markdown实现(包括MouMarked 2(仅macOS)),您可以=WIDTHxHEIGHT在图形文件的URL后面附加以调整图像大小。不要忘了空格=

![](./pic/pic1_50.png =100x20)

您可以跳过高度

![](./pic/pic1s.png =250x)

22
还要注意,'='后不能有空格。好:“![](./ pic / pic1s.png = 250x)”,不好:“![](./ pic / pic1s.png = 250x)”
cantdutchthis 2014年

17
不在标准中,因此它不适用于每个Markdown解析器
Marius Soutier 2014年

19
我似乎与Jekyll一起使用的Redcarpet似乎不起作用,所以我会使用HTML,就像@Tieme回答的那样。如果最终通过喜欢该标准的解析器运行Markdown,则HTML会显示出来。
user766353 2014年

6
在Bitbucket Wiki中也不起作用。它被错误地转换为title属性。
RZKY

6
不起作用,但是HTML <img src = http // ... width =“ ...” height =“ ...”>有效。
BK Batchelor

979

您可以在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; }

42
使用内联style在大多数网站(例如GitHub)中不起作用,它将被清理掉。身高widthheight改为由@kushdillip提到。
Ciro Santilli冠状病毒审查六四事件法轮功2014年

2
基于alt属性的解决方案非常糟糕,您不应使用它,它会破坏可访问性
Regnareb '16

markdown中的alt带有标题,而html中的alt则具有完全不同的功能(如果无法加载图形,则输入文本)。
朱利安·科隆

适用于具有width属性的Github。
Shital Shah,

我将一张图片放在一张桌子上,使用它max-width来确保不
压坏

324

到目前为止,这里接受的答案与我以前使用过的应用程序(例如Ghost,Stackedit.io或什至Stack Overflow编辑器)中可用的Markdown编辑器不兼容。我在StackEdit.io问题跟踪器中找到了一种解决方法。

解决方案是直接使用HTML语法,并且效果很好:

<img src="http://....jpg" width="200" height="200" />

我希望这有帮助。


11
这对我来说很棒!内联CSS不适用于GitHub Markdown,但是“老派”的height / width属性很好用。
Nicholas Kreidberg 2014年

好消息是,如果您尝试在浏览器扩展/附加组件中对本地文件使用降价查看器,则此功能也可以使用。
–'code_dredd


1
你这家伙!现在它对我
有用

很棒,除了不在github上的ipython笔记本中。
eric

129

只需使用:

<img src="Assets/icon.png" width="200">

代替:

![](Assets/icon.png)

1
大多数Markdown实现都为此修改了语法,因此您不需要插入原始HTML标记,但是如果您使用的实现没有一个,这是正确的做法。
Nick McCurdy

1
血腥的天才!适用于GitHub =)))
Victor R. Oliveira,

这在github中兼容
thanos.a

谢谢您使它变得简单且更改显而易见。
Marcy


63

也许这最近有所改变,但是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"}

与Jekyll和Kramdown一起在github上工作。


7
可能过去曾经有用,但现在在Github上不起作用。仍然可以添加具有宽度和高度的老式<img>标签。
piratemurray 2016年

2
如果您使用的是Kramdown或Jekyll(默认情况下使用Kramdown),则这是最佳解决方案。
Nick McCurdy

2
此处显示的块属性是kramdown的不错选择。此处的语法略有错误,这可能就是@piratemurray遇到问题的原因。应该是{: height=36 width=36}; 这将生成HTML属性,因此不应具有px后缀。或者,您可以将CSS与一起使用{: style="height:36px; width:36px"}
Quantum7 '18

适用于jekyll!谢谢。我什至不需要高度和宽度,只要一个就足够了。![alt text](image.png){:height="36px" }
Matthias

1
为了使它在Jekyll中正常工作,我必须进行一些小的更改。该书面形式的答案输出格式错误的HTML,因为widthheight属性包含“ px”部分。对我来说,我需要使用{:height="36" width="36"}
Maximillian Laumeister,

23

人们可能会利用几乎可以在所有Markdown实现/渲染中设置的alt属性以及基于属性值的CSS选择器。优点是可以轻松定义一整套不同的图片尺寸(和其他属性)。

降价:

![minipic](mypic.jpg)

CSS:

img[alt="minipic"] { 
  max-width:  20px; 
  display: block;
}

这与Tieme的先前答案不一样吗?
RedGrittyBrick

13
这是对alt属性的滥用,并且会损害可访问性。
'19

2
是的,它仍然是可破解的,但似乎仍然是唯一适用于Markdown口味的产品。+1指出这一点(使用屏幕阅读器的人会遇到这种问题吗?所有不愿意以正确方式使用alt的人也会遇到问题)。
petermeissner '16

20

替换![title](image-url.type)<img src="https://image-url.type" width="200" height="200">


17

如果使用kramdown,则可以执行以下操作:

{:.foo}
![drawing](drawing.jpg)

然后将其添加到您的自定义CSS中

.foo {
  text-align: center;
  width: 100px;
}

3
我建议不要仅在CSS中设置宽度。在加载图像和样式表之前,告诉浏览器图像元素将有多大是有用的,这样它就可以优化图像周围元素的布局而无需进行重排。
尼克·麦卡迪

13

以Tiemes答案为基础,如果您使用CSS 3,则可以使用子字符串选择器

此选择器将匹配任何带有以'-fullwidth'结尾的alt标签的图像:

img[alt$="-fullwidth"]{
  width:  100%;
  display: block;
}

然后,您仍然可以将alt标签用于其预期目的来描述图像。

上面的Markdown可能类似于:

![Picture of the Beach -fullwidth](beach.jpg)

我一直在Ghost markdown中使用它,并且运行良好。


1
同样适用于kramdown + jekyll-3.1.2。
Subin Sebastian

如果您不需要全角渲染图像,最好将像素大小直接放在标签上(而不是CSS)。
Nick McCurdy

11

结合两个答案,我得出了一个解决方案,它看起来可能并不那么漂亮,
但它有效!

它会创建具有特定大小的缩略图,可以单击该缩略图以将您带到最大分辨率的图像。

[<img src="image.png" width="250"/>](image.png)

这是一个例子!我在Visual Code和Github上进行了测试。 减价示例


1
优秀的。与GitLab Enterprise合作。
Sven Haile

10

我是来这里寻找答案的。这里有一些很棒的建议。并指出降价完全支持HTMl的黄金信息!

一个好的干净解决方案始终是确保使用纯html语法。带标签。

但是我仍然尝试坚持markdown语法,因此我尝试将其包装在标签周围,并在div标签内添加了图像所需的任何属性。而且有效!!

<div style="width:50%">![Chilling](https://www.w3schools.com/w3images/fjords.jpg)</div>

因此,这种方式支持外部图像!

只是以为我会把它放在那里,因为它没有任何答案。:)


1
你不能把HTML的降价中,你将需要更换![chilling](link)使用<img src="link" alt="chilling">
Charl Kruger

10

对于那些在intereseted rmarkdownknitr溶液。有一些.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')
```

2
如何更改高度和宽度?特别是对于第一个选项。我尝试将高度和宽度放在同一位置,{}但失败了。单独{}的也失败。
NelsonGon '19

2
@NelsonGon:我从来不需要同时指定两者,因为当指定宽度时,高度也会缩放。因此,我不知道这是否可能以及如何实现。不过好问题..
symbolrush

2
谢谢,我因为想我能做到这一点,像这样:{height=x width=y}。似乎此语法无法识别逗号,但我可以指定其他属性,包括样式元素。
NelsonGon



7

您也可以将其与kramdown一起使用:

markdown
![drawing](drawing.jpg)   
{:.some-css-class style="width: 200px"}

要么

markdown
![drawing](drawing.jpg)   
{:.some-css-class width="200"}

这样,您可以将任意属性直接添加到最后一个html元素。要添加类,有一个快捷方式.class.secondclass



4

对于R-Markdown,上述两种解决方案都不适合我,因此我转向了常规LaTeX语法,该语法很好用。

\begin{figure}
 \includegraphics[width=300pt, height = 125 pt]{drawing.jpg}
\end{figure}

然后,您可以使用例如\begin{center}语句来居中图像。


1
+1,不过还好只是\centering\begin{figure}或没有,如果你使用`\ includegraphics [宽度= \线宽] {drawing.jpg}`我认为应该至少是默认pandoc输出时的图像更宽的文本。
弗朗

4

有添加类和CSS样式的方法

![pic][logo]{.classname}

然后在下面写下链接和CSS

[logo]: (picurl)

<style type="text/css">
    .classname{
        width: 200px;
    }
</style>

这里参考


4

对于所有寻找适用于R降价/预订的解决方案的中运行的解决方案的人,这些以前的解决方案不起作用/不起作用或需要稍作调整:

工作中

  • 追加{ 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
    • 在图形文件的URL后面以调整图像的大小(例如@prosseek)
    • 既不=WIDTHxHEIGHT ![foo](foo.png =100x20)也不是=WIDTH只有![foo](foo.png =250x)工作

3

向源URL添加相对尺寸将在大多数Markdown渲染器中渲染。

我们在Corilla中实现了这一点因为我认为该模式可以遵循现有工作流程的期望,而不会促使用户依赖基本HTML。如果您最喜欢的工具没有遵循类似的模式,则值得提出功能请求。

语法示例:

![a-kitten.jpg](//corilla.com/a-kitten-2xU3C2.jpg =200x200)

小猫的例子:

小猫


遗憾的是,它目前在GitHub上不起作用,但我建议同样提出功能请求。
ddri

3

在Jupyter Notebook中调整Markdown图像附件的大小

我正在使用jupyter_core-4.4.0&jupyter笔记本。

如果要通过将图像插入Markdown中来附加图像,如下所示:

![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>

希望这可以帮助!


3

备查:

Joplin的 Markdown实现允许以以下方式控制导入图像的大小:

<img src=":/7653a812439451eb1803236687a70ca" width="450"/>

请求此功能在这里承诺洛朗这个已经实施。


我花了一段时间才弄清楚乔普林的具体答案。


3

如果您使用的是Github 参考样式图片:

Here is an image of tree: 
![alt text][tree]{height=400px width=500px}


[//]: # (Image References)
[tree]: ./images/tree.png "This is a tree"


2

当使用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}


1

如果您不希望更改初始降价优惠,则可以使用此技巧:

newHtml = oldHtml.replace(/<img/g, '<img height="100"');

我用它来调整图像的大小,然后再通过电子邮件发送它们(因为Outlook会忽略任何图像CSS样式)


1

在大多数情况下,Tieme的答案是最好的。

就我而言,我正在使用pandoc将Markdown转换为乳胶。HTML标记在这里不起作用。

我的解决方案是重新实施 \includegraphics

\let\maxincludegraphics\includegraphics
\renewcommand{\includegraphics}[1]{\maxincludegraphics[max width=\textwidth]{#1}}

类似于在转换为HTML后使用CSS。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.