这是我上一个问题的另一个问题:
Is it impossible to have 2 blank lines between p tag? Markdown
在给出各种评论之后,我曾经以为我可以管理它;
事实上,我不能。 --------
--------
一个
乙
--------
--------
A
乙
--------
--------
甲
乙
--------
--------
A
乙
--------
代码: http://jsfiddle.net/LhDFs/9/
--------<br>
## br<br>
--------<br>
A<br>B
<br>--------<br>
## p tag
<br>--------
<p>A</p>
<p>B</p>
--------<br>
## OK, now, I want to insert 2 lines instead of 1 between A and B elements without any modification of the original elements;<br>
## The result I expect is like this (br emulation)
<br>--------<br>
<br>
A<br><br><br>B
<br>
<br>--------<br>
## trying with p tag
<br>--------<br>
<p>A</p>
<p style = 'margin: 0;'> </p>
<p>B</p>
--------<br>
## Ouch!! 3 lines inserted instead of 2.
<br> ## so, is there no way to do this by HTML and CSS??
编辑: 有人提到我对HTML的理解还不成熟,我不会否认它;然而,人们所说的是关于HTML的限制。
为了使事情更清楚,这是针对HTML + js编码,而不是静态的。所以,我再次想要在A和B元素之间插入2(或任意数字)而不是1,而不对原始元素进行任何修改;
因为该函数不是修改原始上下文而是插入空行。我打算插入东西。当我插入东西时,如果我需要修改原始上下文,更复杂的东西一般都不顺利。所以,如果真的不可能在原始元素之间插入精确的线条,我放弃了并且弄乱了原始上下文。我想知道的是,是否可能。
如果真的不可能,那就告诉我吧,而不是给我一些代码。
谢谢。
编辑:
我得出结论,只要存在默认的段落标记上下文,就不可能插入确切的行。
因此,整个上下文应使用'noMargin'段落标记构建。
<p class="noMargin">No margin</p>
<p class="noMargin"> </p>
<p class="noMargin"> </p>
<p class="noMargin">No margin</p>
CSS
p.noMargin {
margin: 0;
}
或只是
<p>No margin</p>
<p> </p>
<p> </p>
<p>No margin</p>
CSS
p{
margin: 0;
}
归功于
@ 3dgoo
Is it impossible to have 2 blank lines between <p> tag? Markdown
谢谢大家,如果有人对我的帖子有不愉快的感受,我很抱歉。
答案 0 :(得分:1)
我会告诉你正确的方法来做到这一点。这在将来很容易理解,改进和修改。
http://jsfiddle.net/techsin/FDK7P/
哦,css不是javascript
css代码.double-space {margin-top:2em;}
然后将class属性应用于您想要具有双倍空格的任何段落。但是如果你想这样做的第一种方式,使用伪选择器,那么它很好,但更多的工作和低效。
但是有办法以其他方式做到这一点......
http://jsfiddle.net/techsin/FDK7P/1/
我建议第一种方式......因为看下面的图片
灰色的Css样式由
或块元素的浏览器自动 /默认值应用。
因此,对于我们要修改的段落,我们将 1em 设为 2em 。哪个覆盖默认值为1em。
答案 1 :(得分:0)
你看到'三行,因为A和B段(p元素)加起来自己的边距。您需要设置这些元素的样式以实现您的需要。
这样的事情(显然最好使用css类而不是style属性:
<p style='margin: 0;'>A</p>
<p style='margin: 0;'> </p>
<p style='margin: 0;'>B</p>
答案 2 :(得分:0)
尝试将其设置为其中一种
<p style="margin-bottom: 10px;">text</p>
<p style="line-height: 200%;">text</p>
以当前字体大小的百分比表示的行高
答案 3 :(得分:0)
好的,让我们回到HTML基础知识,可能它会有所帮助!
首先,p标签是包含内联元素的块元素 这里简短的教程:http://www.webdesignfromscratch.com/html-css/css-block-and-inline/
所以p是段落,br表示换行符。实际上,您在段落中划分内容,有时需要使用换行符更改行。如果你想拥有,请说:
文字A.
文字B
然后你应该有两个不同的段落:
<p style="margin-bottom: 1em;">text A</p>
<p>text B</p>
(好吧,把你的css放在另一个文件中,而不是内联)
保证金推动另一段。对于换行符,它应如下所示:
文字A
文字B
<p>text A<br>text B</p>
我将段落保留在所有段落中,但在其中有一个换行符。
在CSS中将margin-bottom应用于p,你的所有段落都将具有相同的距离!有点像正常的标题,标题1,标题2 ......在Word中您可以在之前和之后决定保证金。
希望它有所帮助!
修改强>
你可以用Javascript来做,或者我更喜欢用这种方式使用jQuery:
(在jQuery编码中)
$('p').each(function() {
var $this = $(this);
if ($this.html() == ' ') {
$this.remove();
}
});
例如,您可以使用正则表达式。我删除了包含非中断空格的p标记,因为它之间添加了一个完整的段落。保留两个不同的段落,这样就可以更容易地设置一些边距并用css控制所有内容(就像我说的那样是我的答案的顶部。不要试图在两者之间添加br或p,但是边距! )。使用br,你需要3 br来跳过它们之间的两行。
这就是你需要的吗?如果没有,请更清楚!