Answers:
可以在伪元素生成的内容中使用\A
转义序列。在CSS2规范中阅读更多内容。
#restart:before { content: '\A'; }
您可能还需要添加white-space:pre;
到#restart
。
注意:\A
表示一行的结尾。
ps另一种治疗方法是
:before { content: ' '; display: block; }
#restart
要display: inline;
:before { content: ' '; display: block; }
改用了。
inline-block
元素一起使用。他们根本不会进入下一行。唯一的解决方案是<div></div>
在HTML中实际附加一个空白。
如果#restart
是内联元素(例如<span>
,<em>
等),则可以使用以下命令将其转换为块元素:
#restart { display: block; }
这将确保元素前后都有换行符。
有没有办法让CSS插入的东西,就像一个断行只有一个元素之前,而不是之后。在其他更改的副作用之前,您可能会导致换行,例如float: left
,或者clear: left
在浮动元素之后甚至是类似疯狂的事情,#restart:before { content: 'a load of non-breaking spaces'; }
但是在一般情况下,这可能不是一个好主意。
float: left
元素可能是一些使用的,因为它们收缩以配合并开始在新的一行。否则,您可能无法实现所需的功能。
这对我有用:
#restart:before {
content: ' ';
clear: right;
display: block;
}
以下CSS对我有用:
/* newline before element */
#myelementId:before{
content:"\a";
white-space: pre;
}
content: 'bar: \a' attr(data-description);
无法以所需方式通过CSS添加生成的内容有两个原因:
生成的内容接受内容而不是标记。标记将不会评估,只会显示。
:before
并且将:after
生成的内容添加到该元素内,因此即使添加空格或字母并将其定义为block
也不起作用。
有一个::outside
伪元素可能会执行您想要的操作。但是,似乎没有浏览器支持。(在此处了解更多信息:http : //www.w3.org/TR/css3-content/#wrapping)
最好的选择是在这里使用一些jQuery:
$('<br />').insertBefore('#restart');
是的,完全可行,但这绝对是一桩黑文(人们可能会因编写此类代码而使您看上去很脏)。
这是HTML:
<div>lorem ipdum dolor sit <span id="restart">amit e pluribus unum</span></div>
这是CSS:
#restart:before { content: 'hiddentext'; font-size:0; display:block; line-height:0; }
这是小提琴:http : //jsfiddle.net/AprNY/
请尝试以下操作:
#restart::before {
content: '';
display: block;
}
与:be插入一个中断对我一点运气都没有。我的解决方案是添加一个带有类的跨度并将中断放在跨度内。然后将类更改为显示:none; 或显示:根据需要阻止。
的HTML
<div>
<span class="ItmQty"><br /></span>
<span class="otherclass">
<asp:Label ID="QuantityLabel" runat="server" Text="Qty: ">
</asp:Label>
</span>
<div class="cartqty">
<asp:TextBox ID="QuantityTextBox" runat="server" Text='<%# Bind("Quantity","{0:#}") %>' Width="50"></asp:TextBox>
</div>
</div>
的CSS
@media only screen and (min-width: 854px)
{
.ProjItmQty
{
display: block;
clear: both;
}
}
@media only screen and (min-width: 1003px)
{
.ProjItmQty
{
display: none;
}
}
希望这可以帮助。
body * { line-height: 127%; }
p:after { content: "\A "; display: block; white-space: pre; }
https://www.w3.org/TR/CSS2/generate.html#x18 内容属性,“换行符” ... p不会在父块(例如,正文›部分›)中p的末尾添加边距或填充p)。“ \ A”换行符强制换行,等效于样式的行高。
一个添加margin-top:20px;
到#restart
。或您认为合适的任何尺寸差距。如果这是一个内联元素,则必须添加,display:block
或者display:inline-block
尽管我认为不适inline-block
用于旧版本的IE。
您无需执行手动添加换行符的方法,而是可以实现border-bottom: 1px solid #ff0000
该方法,该方法将采用元素的边框,并且仅呈现border-<side>
您指定的任意一侧。
<br>
,而不是<hr>
。