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

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

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


当前回答

我有一个替代方法上面使用ALT标签和CSS选择器在ALT标签…相反,添加这样的URL散列:

首先你的Markdown图像代码:

![my image](/img/myImage.jpg#left)
![my image](/img/myImage.jpg#right)
![my image](/img/myImage.jpg#center)

注意添加的URL哈希#中心。

现在在CSS中添加这个规则,使用css3属性选择器来选择具有特定路径的图像。

img[src*='#left'] {
    float: left;
}
img[src*='#right'] {
    float: right;
}
img[src*='#center'] {
    display: block;
    margin: auto;
}

您应该能够像定义类名一样使用URL散列,而不是像某些人评论的解决方案那样滥用ALT标记。它也不需要任何额外的扩展。为左右浮动也做一个,或者任何你想要的样式。

其他回答

正如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内容包装的页面尽可能一般和干净,但你的编辑不需要知道这一点。

我发现了一个很好的解决方案在纯Markdown与一个小css3 hack:-)

![image alt >](/image-right.jpg)
![image alt <](/image-left.jpg)
![image alt ><](/center-image.jpg)

当图像alt以<或>结束时,遵循css3代码浮动图像在左侧或右侧。

img[alt$=">"] {
  float: right;
}

img[alt$="<"] {
  float: left;
}

img[alt$="><"] {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
  float: none!important;
}

更简洁的方法是将p#给定的img {float: right}放在样式表中,或者放在<head>中并包装在样式标签中。然后,只需使用markdown ![Alt text](/path/to/img.jpg)。

在警告框内,将图像和文本作为单个块中的段落的一部分并排对齐。

<div class="warning" style='background-color:#EDF2F7; color:#1A2067; border-left: solid #718096 4px; border-radius: 4px;'>
<p style='padding:0.7em; margin-left:0.7em; display: inline-block;'>
<img src="typora_images/image-20211028083121348.png" style="zoom:70%;  float:right; padding:0.7em"/>
<b>isomorphism</b>  &rarr;  In mathematics, an isomorphism is a structure-preserving mapping between two structures of the same type that can be reversed by an inverse mapping.<br>
</p>
</div>

输出:

<div style="float:left;margin:0 10px 10px 0" markdown="1">
    ![book](/images/book01.jpg)
</div>

markdown内部的属性markdown可能性。