是否有一种只使用CSS就能阻止<br>
标签换行的方法?
我尝试了br{display:none}
,虽然它是有效的,但它也去掉了两个单词之间的空格,而这个空格是我需要保留的。
这仅适用于Webkit(iPhone),因此任何CSS3特效都可以。
我无法编辑CMS中的内容,因此简单地删除该标签对我来说不是一个选项。
谢谢!
继续之前的回答,这样可以防止<br>
标签在Chrome和IE中断裂:
br {
content: " ";
display: none;
}
<br>
标签之前或之后加了一个空格,对吗?因此,Foo<br>bar
将显示为Foobar
,但Foo <br>bar
将显示为Foo bar
。奇怪的是,在IE浏览器中,Foo<br> bar
不能保留空格。 - Shanerk<br>
转换为空格,而您的解决方案并没有做到这一点。此外,content
属性仅适用于before
和after
伪元素。 - acme这对我行得通:
br {content: ""}
br:after {content: "\00a0"}
<br>
标签。
button br{content:" ";border:1px solid #fff;background:red;padding:50px;}/* 你喜欢的任何样式 */
button br:after{content:" ";}
HTML代码如下:
<button>烦人的<br/>标签已经消失,留下可控制的空间</button>
不确定这在所有浏览器中是否都适用,但在WebKit和iPhone中可以正常工作,目前对我来说已经足够了。为什么不使用:
br {
content: " "; /* Remove break */
margin-right: 6px; /* Set space between text blocks */
}
<br/>
是否可见(如果可见,则为换行符),你都无法通过 CSS 控制它。<br/>
标签,但这似乎有些过度。请参见如何使用CSS忽略<br>标签?。 其中一种解决方案是这个(我认为是最好的解决方案)。
br {
content: ' '
}
br:after {
content: ' '
}
content: " ";
padding-right: 5px; // ok, same as margin-right
<br>
需要变成空格。如果 HTML 是<p>hello<br/>there</p>
,那么br{display:none}
将阻止两个单词之间有空格。 - NathanBarleybr{display:inline-block; margin-right:5px;}
。 - KBN<br/>
设置为display: none
来“删除”它。这意味着您无法使用:before
/:after
伪选择器尝试向HTML中添加内容(例如不间断空格)。http://jsfiddle.net/NrcFL/ - boz