如何改变一个<br>的高度?
我有一大段文字,与中文分成几段:
<p> Blah blah blah. <br/> Blah blah blah. Blah blah blah. Blah blah blah. <br/> Blah blah blah. </p>
我想扩大这些分段之间的差距,就像有两个类似的东西或类似的东西。 我知道正确的做法是使用<p></p>
,但现在我无法更改此布局,所以我正在寻找纯CSS解决scheme。
我试着用display: block
设置<br>
的line-height
和height
,我也简单的谷歌search和堆栈溢出,但没有find任何解决办法。 这甚至可以不改变布局?
CSS:
br { display: block; margin: 10px 0; }
该解决scheme可能不是跨浏览器兼容的,但至less是这样的。 还要考虑设置line-height
:
line-height:22px;
对于Google Chrome,请考虑设置content
:
content: " ";
除此之外,我认为你坚持使用JavaScript解决scheme。
这是实际上具有跨浏览器支持的正确解决scheme:
br { line-height: 150%; }
另一种方法是使用人力资源 。 但是,这里是狡猾的部分,让它看不见。
从而:
<hr style="height:30pt; visibility:hidden;" />
使用HR:Btw在所有浏览器中都可以使用模拟BR清除程序!
{ height:2px; visibility:hidden; margin-bottom:-1px; }
据我所知<br>
没有高度,只是强制换行。 除了自动换行之外,你所拥有的是一些带有换行符的文本, 而不是子段落。 您可以更改行间距,但会影响所有行。
所以,偷窥以上基本上有了类似的答案,但是这里非常简洁。 在Opera,Chrome,Safari和Firefox中工作,最有可能的IE?
br { display: block; /* makes it have a width */ content: ""; /* clears default height */ margin-top: 0; /* change this to whatever height you want it */ }
我刚刚遇到了这个问题,我用它来解决这个问题
<div style="line-height:150%;"> <br> </div>
你可以在<p>
元素上应用行高,所以行变大。
我之前没有尝试过:before
/ :after
CSS2伪元素,主要是因为它只支持IE8 (这与IE浏览器有关) 。 这可能是唯一可能的CSS解决scheme:
br:before { display: block; margin-top: 10px; content: ""; }
这里是一个QuirksMode的例子 。
有趣的是,如果中断标签是以全格式写入,如下所示:
<br></br>
那么CSS行高:145%的作品。 如果中断标记写为:
<br> or <br/>
那么它不起作用,至less在Chrome,IE和Firefox。 奇怪的!
请记住,在某处使用<hr>
标记(错误)会结束<p>
标记,因此不要考虑该解决scheme。
如果f.ex. 在周围的<p>
上有一些样式,在插入<hr>
之后,其余内容的样式就消失了。
迈克尔和尤达都是对的。 你可以做的是使用<p>
标签,它是一个块标签,使用底部边距来抵消下面的块,所以你可以做类似的事情来获得更大的间距:
<p> A block of text. </p> <p> Another block </p>
另一种方法是使用块<hr>
标签,您可以使用该标签明确定义间距的高度。
我有一个想法,你可能会使用:
br:after { content: "."; visibility: hidden; display: block; }
但是,这不适用于Chrome或Firefox。
只是觉得我会提到,如果其他人发生,我会救他们的麻烦。
什么对我来说是在段落标签之间内联添加…不是最好的解决scheme。
<br style="line-height:32px">
——–编辑———
我遇到了与PC / Mac的问题…这给了文本新的行高,但没有做断行…你可能想自己做一些testing。 抱歉!
这是一个在IE,Firefox和Chrome上运行的解决scheme。 这个想法是将br元素的字体大小从14px的体大小增加到18px,并将元素的大小减小4px,这样额外的大小就在文本行的下面。 结果是br下面多了4px多余的空白。
br { font-size: 18px; vertical-align: -4px; }
<br />
会占用你的<p>
文本填充行的空间,你不能改变它。 如果你想要更大,这意味着你想分成段落,所以添加其他<p>
。 不要忘记你是最有语义的;)
br { content: ""; margin: 2em; display: block; margin-bottom: -20px; }
适用于Firefox,Chrome和Safari。 没有在资源pipe理器中testing。 (Windows平板电脑没电了。)
在Firefox和Safari中,换行符,字体大小的工作方式不同。
您似乎无法调整BR的高度,但可以使用display:none(无显示)使其可靠消失
在search以下解决scheme时遇到此页面:
我有一种情况,第三方支付网关(Worldpay)只能让您自定义他们的支付页面,最多10k的CSS和HTML(无脚本允许)被注入到模板的主体中,并在几个BR之后,FONT标签等再加上强制IE7 / 8进入Quirks模式的DTD,这使得跨浏览器的定制变得越来越困难!
closuresBR's使事情更加一致…
我使用这些方法,但我不知道如果跨浏览器
=================方法1 ==================
br { display:none; }
要么
=================方法2 ==================
br { display: block; margin-bottom: 2px; font-size:2px; line-height: 2px; } br:before { display: block; margin-top: 2px; content: ""; } br:after { content: "."; visibility: hidden; display: block; }
要么
=================方法3 ==================
br:after { content: "" } br { content: "" }
尝试在包含br
标记的p
标记上使用CSS line-height
属性。 记住,如果你想隔离它,你可以用你的p
标签来id
,尽pipe使用div
隔离IMO可能会更好。
你也可以使用CSS中的“块引用”属性。 这将使得它不影响你的个人行,但允许你设置段落或“块引用”之间的中断参数。
更新:
我纠正了。 “blockquote”实际上是一个html属性。 你在工作中就像<p>和</ p>一样使用它。 然后你可以在CSS中设置你的块引用的参数
blockquote { margin-top: 20px }
希望这可以帮助。 这与在br上设置参数类似,可能会或可能不会跨浏览器兼容。
<br>
是一个换行符。
<br />
也是换行,“/”可以selectvoid元素或xhtml。
使用<br></br>
,浏览器将插入两个换行符“几乎”相同。
没有办法增加换行符的大小,因为这只是一个换行符。
使用div设置为隐藏( <div style="vilibility:hidden; line-height:150%;"</div>
)或者更好的是一个段落。
<span style="line-height:40px;"><br></span>
你必须这样做内联和每个
元素,但它应该在大多数浏览器上工作摆弄线高度以获得所需的效果。 如果你在每个元素上内联,它应该可以在大多数浏览器和电子邮件上工作(但是这太复杂了,不能在这里讨论)。
当我无法从span标签中获得样式间距的时候,这样做对我来说是个诀窍:
<p style='margin-bottom: 5px' > <span>I Agree</span> </p> <span>I Don't Agree</span>
如果目的是在标签之后添加一些额外的垂直空间,而不会破坏逻辑段落,这样的事情就可以实现。 它在所有浏览器中都能正常工作:
<span style="vertical-align:-37%"> </span><br>
这是一个演示页面,其中包含一些其他的主题变化:
http://www.burtonsys.com/a_little_extra_vertical_space_for_br_tag.html
使用<div>
<div>Content 1</div>Content 2
这允许一条没有任何垂直空间的新线路。
这成为
<div>Content 1</div>Content 2
回答更为一般的问题,因为他们正在解决由于标签造成的空间问题。 为了贴近像素,我必须做很多重置。
br { content: " "; display: block; }
对于我正在处理的具体问题,我必须在行之间有一个特定的空间。 我在顶部和底部添加了一个边距。
br { content: " "; display: block; margin: 0.25em 0; }
我通过使用一系列解决scheme,在IE7中工作,但是主要是将Nigel和其他人build议的包裹在DIV中。 添加Id并运行在=“服务器”,所以我可以删除checkbox从checkbox行删除checkbox。
.narrow { display: block; margin: 0px; line-height: 0px; content: " "; }
<div class="narrow" run at="server"><br></br></div>
我不得不开发一个解决scheme,将HTML转换为PDF,并垂直居中表格单元格中的文本,但没有任何工作,除了input平原
所以,在框外思考,我已经通过调整字体大小(以pt)来改变垂直大小。
<font style="font-size: 4pt"><br></font>
可能发现一个很容易的解决scheme,你只需要创build不同types的
。 似乎已经为我工作。
例如:(html代码)
<br/ class="150%space">
(CSS代码)
br[class='150%space'] { line-height: 150%; }
对不起,如果别人已经这样说,但简单的解决办法是玩弄你的“行高”。 如果在使用换行符时空间太大,这只是因为您的行高设置太高。 你可以在CSS中纠正这个问题(但知道它会影响使用该属性的所有东西),或者你可以使用内联样式来覆盖CSS。