我正在制作一个网站,每月发布有关问题的文章。这很简单,我认为使用Markdown编辑器(例如WMD Stack Overflow中)将是完美的。
但是,他们确实需要能够使图像在给定的段落中正确对齐。
我看不到使用当前系统执行此操作的方法-可以吗?
我正在制作一个网站,每月发布有关问题的文章。这很简单,我认为使用Markdown编辑器(例如WMD Stack Overflow中)将是完美的。
但是,他们确实需要能够使图像在给定的段落中正确对齐。
我看不到使用当前系统执行此操作的方法-可以吗?
Answers:
您可以在Markdown中嵌入HTML,因此您可以执行以下操作:
<img style="float: right;" src="whatever.jpg">
Continue markdown text...
div
并img
分别在标签上添加一个斜杠,即`<img style =“ float:right” src =“ whatever.jpg” />
div
我更喜欢使用span
内联缩进。对于整个段落,居中div
是好的,甚至很简单p
。
我在纯Markdown中找到了一个不错的解决方案,并带有一些CSS 3技巧 :-)
![image alt >](/image-right.jpg)
![image alt <](/image-left.jpg)
![image alt ><](/center-image.jpg)
当image alt
结尾为<
或时,请遵循左侧或右侧的CSS 3代码浮动图片>
。
img[alt$=">"] {
float: right;
}
img[alt$="<"] {
float: left;
}
img[alt$="><"] {
display: block;
max-width: 100%;
height: auto;
margin: auto;
float: none!important;
}
许多Markdown“额外”处理器都支持属性。因此,您可以像这样包含一个类名(PHP Markdown Extra):
![Flowers](/flowers.jpeg){.callout}
或者,(Maruku,Kramdown,Python Markdown):
![Flowers](/flowers.jpeg){: .callout}
然后,当然,您可以以正确的方式使用样式表:
.callout {
float: right;
}
如果您的语法支持此语法,则可以为您提供两全其美的优势:没有嵌入式标记,并且样式表的抽象程度足以无需内容编辑器进行修改。
对于上面使用ALT标签和alt标签上的CSS选择器的方法,我可以选择一种替代方法,而是添加如下所示的URL哈希:
首先,您的Markdown图片代码:
![my image](/img/myImage.jpg#left)
![my image](/img/myImage.jpg#right)
![my image](/img/myImage.jpg#center)
注意添加的URL哈希#center。
现在,使用CSS 3属性选择器在CSS中添加此规则,以选择具有特定路径的图像。
img[src*='#left'] {
float: left;
}
img[src*='#right'] {
float: right;
}
img[src*='#center'] {
display: block;
margin: auto;
}
您应该能够像定义类名一样使用这样的URL哈希,这并不是像某些人对此解决方案评论的那样滥用ALT标签。它还不需要任何其他扩展。为左右浮动或您可能需要的任何其他样式执行一个。
嵌入CSS是不好的:
![Flowers](/flowers.jpeg)
CSS在另一个文件中:
img[alt=Flowers] { float: right; }
if product.name == 'Tulips'
)硬编码是错误的,因为您不能依赖于价值的稳定性。它所要做的就是某人更改Flowers
为Flower
图像,然后突然弹出看不见的图像。此外,他们每次添加图片时都必须给您打电话!
我喜欢通过使用表格将图像与垂直竖线(|
)语法对齐来变得超级懒惰。某些Markdown口味对此提供了支持(如果您的船浮起,那么Textile也支持):
| I am text to the left | ![Flowers](/flowers.jpeg) |
要么
| ![Flowers](/flowers.jpeg) | I am text to the right |
它不是最灵活的解决方案,但是可以满足我的大多数简单需求,易于以markdown格式阅读,并且您无需记住任何CSS或原始HTML。
|-|-|
。它告诉解析器有一个表,第一行是标题。例如:goo.gl/xUCRiK
我喜欢learnvst的回答使用表,因为它很易读(这是编写Markdown的目的之一)。
但是,对于GitBook的Markdown解析器,我必须在表头下方添加一个分隔线,以识别并正确呈现该表:
| - | - |
|---|---|
| I am text to the left | ![Flowers](/flowers.jpeg) |
| ![Flowers](/flowers.jpeg) | I am text to the right |
分隔线必须至少包含三个破折号---
。
正如greg 所说的,您可以将HTML内容嵌入Markdown中,但是Markdown的要点之一是避免必须具有广泛的CSS / HTML标记知识(或其他知识),对吗?这是我的工作:
在我的Markdown文件中,我只是指示所有Wiki编辑器嵌入包装所有图像的内容,如下所示:
'<div> // Put image here </div>`
(当然..他们不知道是什么<div>
意思,但这没关系)
因此,Markdown文件如下所示:
<div>
![optional image description][1]
</div>
[1]: /image/path
在包裹整个页面的CSS内容中,我可以使用image标签做任何我想做的事情:
img {
float: right;
}
当然,您可以对CSS内容做更多的事情……(在这种情况下,img
用div 包裹标签可防止其他文本在图像上包裹……不过这只是一个例子),但是恕我直言,Markdown的意义在于是您不希望潜在的非技术人员介入CSS / HTML的内容。.作为Web开发人员,由您决定使CSS内容尽可能平整而干净地包装页面,然后由您决定同样,您的编辑也不需要知道这些。
我有相同的任务,并通过添加以下内容将图像对齐到右侧:
<div style="text-align: right"><img src="/default/image/sms.png" width="100" /></div>
要将图像左对齐或居中对齐,请更换
<div style="text-align: right">
与
<div style="text-align: center">
<div style="text-align: left">
最简单的方法是将图像包装在中心标签中,就像这样...
<center>![Alt test](http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png)</center>
与Markdown有关的任何内容都可以在此处进行测试-http: //daringfireball.net/projects/markdown/dingus
当然,<center>
可能不赞成使用,但是它很简单并且有效!
center
。
<center>
确实有意义。它不推荐使用HTML,因为HTML仅应描述内容。样式应该在样式表中。但是,Markdown的意图不同:包含足够的样式以传达文本消息,而其余的则留给渲染器/站点。<center>
似乎比考虑CSS width
,float
s,margin
s 更自然……–我什至可以让Markdown解析器<center>
用适当的CSS支持的元素替换标签,就像它目前如何智能地计算段落一样。