Answers:
使用css,您可以“隐藏” br标签,它们不会起作用:
br {
display: none;
}
如果只想在特定的标题类型中隐藏某些内容,只需使CSS更具体即可。
h3 br {
display: none;
}
注意:此解决方案仅适用于Webkit浏览器,该浏览器将伪元素错误地应用于自动关闭标签。
作为上述答案的补充,值得注意的是,在某些情况下,需要插入一个空格而不是仅仅忽略<br>
:
例如上述答案将变成
Monday<br>05 August
至
Monday05 August
正如我在尝试格式化每周活动日历时所验证的那样。最好在“星期一”之后插入一个空格。通过在CSS中插入以下内容,可以轻松完成此操作:
br {
content: ' '
}
br:after {
content: ' '
}
这将使
Monday<br>05 August
看起来像
Monday 05 August
如果要用逗号分隔,可以将content
属性更改为,也可以在其中br:after
添加', '
任何要' '
用作分隔符的属性!顺便说说
Monday, 05 August
看起来很整洁;-)
请参阅此处以获取参考。
与上述答案一样,如果要使其特定于标签,则可以。就像您希望该属性用于tag一样<h3>
,只需h3
在br
和之前添加一个each即可br:after
。
它最常用于伪标签。
如果您添加样式
br{
display: none;
}
然后这将起作用。虽然不确定它是否可以在IE的旧版本中使用。
如果希望空白方法起作用,则可以使用span
元素代替br
,因为它取决于伪元素,这些元素对于替换元素而言“未定义”。
的HTML
<p>
To break lines<span class="line-break">in a paragraph,</span><span>don't use</span><span>the 'br' element.</span>
</p>
的CSS
span {white-space: pre;}
span:after {content: ' ';}
span.line-break {display: block;}
span.line-break:after {content: none;}
只需将适当的span元素设置为即可实现换行display:block
。
通过在HTML标记中使用ID和/或类,您可以轻松地通过CSS定位span元素的每个单个或组合,或使用CSS选择器(如)nth-child()
。
因此,您可以例如通过使用媒体查询来响应布局来定义不同的断点。
您还可以通过Javascript(jQuery)轻松添加/删除/切换类。
这种方法的“优势”在于它的鲁棒性-在支持伪元素的每种浏览器中都可以使用(请参阅:我可以使用-CSS生成的内容)。
或者,也可以通过伪元素添加换行符:
span.break:before {
content: "\A";
white-space: pre;
}
<br>
,至少不是跨浏览器,是不可能的。所以我展示了一个替代方案。
<br>
元素可以解决这个问题(可能用空格代替)。因此整个问题所关注的整个问题是什么时候无法控制html ; 由于增加了规定,他们真的不希望使用javascript(无论出于何种原因)来解决它而变得更加复杂。
<br>
CSS?” 已经回答了。而且只有在您控制了并不意味着要这样做的HTML时,您才想对其进行更改。但是在响应式设计中,通常希望控制换行(自动换行除外)。在这种情况下,具有空白或不受CSS控制的方法(媒体查询)至少是实现该目标的“一种方法”。
为此,您可以这样做:
br{display: none;}
并且如果它在某些PRE标签内,则可以,并且如果您希望PRE标签的行为类似于常规的block元素,则可以使用以下CSS:
pre {white-space: normal;}
或者,您可以遵循Aneesh Karthik C的样式, 例如:
br {content: ' '}
br:after {content: ' '}
我想你明白了
::before
,::after
而对于“替换元素”之类的伪元素至少是“未定义的” br
。因此,永远不会有任何人可以依靠的一致浏览器行为!您唯一可以做的就是不要将伪元素与这些元素一起使用!
根据您的问题,要使用Aneesh Karthik C方法为Firefox和Opera解决此问题,您需要添加“ float”“ right”属性。
在此处查看示例。该CSS可在Firefox(26.0),Opera(12.15),Chrome(32.0.1700)和Safari(7.0)中使用
br {
content: " ";
float:right;
}
我希望这能回答您的问题!
br
(不止一次)。问题是关于条件空白。并且由于这需要使用伪元素,因此不适用于br
。
br
简直是废话!我仍然看不到您的其余答案与“条件空白和行brekas”有什么关系?也许您可以进一步解释一下?
br
元素周围已经有空格。如果删除这些,您将发现它无法添加任何空间。
br
元素,第一个和最后一个元素之前和之后都有空格。正是那些空格使您的解决方案似乎在起作用,而实际上却并非如此。当您删除这些空格时,就像我在修改后的示例中所做的那样,您可以看到您的解决方案根本没有在Firefox中添加任何空格。
尽管这个问题似乎已经解决了,但是接受的答案并没有在Firefox上为我解决问题。Firefox(可能还有IE,尽管我没有尝试过)在读取“内容”标签的内容时会跳过空格。尽管我完全理解Mozilla为什么会这样做,但确实带来了很多问题。我发现最简单的解决方法是使用不可破坏的空间,而不是常规的空间,如下所示。
.noLineBreaks br:before{
content: '\a0'
}
看看吧。
before
元素br
?您甚至br
在小提琴中的html中都没有。问题的部分原因是在某些浏览器before
中无法正常使用br
。
br
元素是不可能的!原因已经被多次解释!在我的回答中,我向您展示了一种以有效,健壮和跨浏览器的方式实现目标的替代方法。