我正在做一个网站,每月发表文章的问题。这很简单,我认为使用Markdown编辑器(如Stack Overflow中的WMD)将是完美的。

然而,他们确实需要在给定的段落中使图像右对齐的能力。

我看不出在目前的体制下有什么办法能做到这一点——有可能吗?


当前回答

为了使图像稍微缩进一点,只需在img元素中使用一些不间断的空格。例如:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://user-images.githubusercontent.com/123456/123456789-3aabedfe-deab-4242-97a0-a6641e675e68.png" />

其他回答

最佳和最可定制的选项:

<div style="display:flex; align-items: center;"> <div style="flex:1"> <img src="https://www.researchgate.net/profile/Jinsong-Chong/publication/233165295/figure/fig5/AS:667635838640135@1536188196882/Initial-contour-Figure-9-Detection-result-in-low-resolution-image-in-low-resolution-image.ppm"/> </div> <div style="flex:1;padding-left:10px;"> <img src="https://www.researchgate.net/profile/Miguel-Vega-4/publication/228966464/figure/fig1/AS:669376512544781@1536603205341/a-Observed-low-resolution-multispectral-image-b-Panchromatic-image-c.ppm" /> </div> </div>

这将使第一个对齐到左边,第二个对齐到右边。也适用于2张以上的图像。

许多Markdown“额外”处理器支持属性。所以你可以像这样包含一个类名(PHP Markdown Extra):

![Flowers](/flowers.jpeg){.callout}

或者,备用的(我的,Kramdown, Python Markdown):

![Flowers](/flowers.jpeg){: .callout}

然后,当然,您可以以正确的方式使用样式表:

.callout {
    float: right;
}

如果您的文档支持这种语法,那么它将为您提供两全其美的服务:没有嵌入标记,样式表足够抽象,无需内容编辑器修改。

正如greg所说,你可以在Markdown中嵌入HTML内容,但Markdown的要点之一是避免必须有广泛的(或任何,就此而言)CSS/HTML标记知识,对吗?这就是我所做的:

在我的Markdown文件中,我简单地指示我所有的wiki编辑将所有图像嵌入包装,看起来像这样:

'<div> // Put image here  </div>`

(当然. .他们不知道<div>意味着什么,但这并不重要)

所以Markdown文件看起来是这样的:

<div>
![optional image description][1]
</div>

[1]: /image/path

在CSS内容包装整个页面,我可以做任何我想对图像标签:

img {
   float: right;
}

当然你可以用CSS内容做更多的事情…(在这种特殊情况下,用div包装img标签可以防止其他文本对图像进行包装……虽然这只是一个例子),但IMHO Markdown的重点是你不希望潜在的非技术人员进入CSS/HTML的里里外外。这是由你作为一个web开发人员,使你的CSS内容包装的页面尽可能一般和干净,但你的编辑不需要知道这一点。

嵌入CSS是不好的:

![Flowers](/flowers.jpeg)

CSS在另一个文件:

img[alt=Flowers] { float: right; }

你可以直接使用align属性:

<img align="right" width="100" height="100" src="https://images.unsplash.com/photo-1650620109005-099c2de720f8?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHwxM3x8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60">