忽略与CSS?

我正在一个网站上,在某些标题中插入换行符。 假设我不能编辑源代码的HTML,有没有一种方法与CSS我可以忽略这些rest?

我是移动网站优化,所以我真的不想使用JavaScript。

用CSS,你可以“隐藏”br标签,而不会产生任何效果:

 br { display: none; } 

如果你只想隐藏一些特定的标题types,只要让你的CSS更具体。

 h3 br { display: none; } 

注意:此解决scheme仅适用于Webkit浏览器,它错误地将伪元素应用于自闭标签。

作为上述答案的附录,值得注意的是,在某些情况下,需要插入一个空格,而不是忽略<br>

例如,上述答案将会转变

 Monday<br>05 August 

 Monday05 August 

正如我已经证实,而我试图格式化我的每周事件日历。 “星期一”之后的空格最好插入。 这可以通过在CSS中插入以下内容轻松完成:

 br { content: ' ' } br:after { content: ' ' } 

这将使

 Monday<br>05 August 

看起来像

 Monday 05 August 

你可以改变br:aftercontent属性br:after ', ' br:after ', '如果你想用逗号分开,或者把你想要的东西放在' ' ,使它成为分隔符! 顺便一提

 Monday, 05 August 

看起来整洁;-)

看到这里的参考。

正如在上面的答案,如果你想使其标签特定,你可以。 如果你想要这个属性为标签<h3> ,只需在brbr:after添加一个h3

它通常用于伪标签。

如果你添加的风格

 br{ display: none; } 

那么这将工作。 不知道它是否会在旧版本的IE中工作。

这是我如何做到的:

 br { display: inline; content: ' '; clear:none; } 

如果你想使用空白方法,你可以使用span元素而不是br ,因为它取决于replace元素的“未定义”伪元素。

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;} 

DEMO

换行是通过设置适当的span元素来display:block

通过在HTML标记中使用ID和/或类,您可以通过CSS轻松地定位每个单元或span元素的组合,或者使用CSSselect器(如nth-child()

因此,您可以通过使用媒体查询来为响应式布局定义不同的中断点。

你也可以简单地通过Javascript(jQuery)添加/删除/切换类。

这种方法的“优势”在于它的健壮性 – 适用于每个支持伪元素的浏览器(请参阅: 我可以使用CSS生成的内容 )。

作为替代,也可以通过伪元素添加换行符:

 span.break:before { content: "\A"; white-space: pre; } 

DEMO

为此,你可以这样做:

 br{display: none;} 

如果它是在一些PRE标签内,那么你可以,如果你想PRE标签行为像一个普通的块元素,你可以使用这个CSS:

 pre {white-space: normal;} 

或者你可以按照Aneesh Karthik C的风格来做 :

 br {content: ' '} br:after {content: ' '} 

我想你明白了

你可以简单地把它转换成评论

或者你可以这样做:

 br { display: none; } 

但是,如果你不想要,你为什么要这么做?

虽然这个问题似乎已经解决了,但接受的答案并没有解决我在Firefox上的问题。 Firefox(也可能是IE浏览器,虽然我没有尝试过)在阅读“content”标签的内容时跳过空格。 虽然我完全理解Mozilla会这么做,但它确实带来了一些问题。 我发现的最简单的解决方法是使用不可破坏的空格,而不是普通的空格,如下所示。

 .noLineBreaks br:before{ content: '\a0' } 

看一下

根据你的问题,要解决这个问题的Firefox和Opera使用Aneesh Karthik C的方法,你需要添加“浮动右”属性。

检查这里的例子 。 这个CSS可以在Firefox(26.0),Opera(12.15),Chrome(32.0.1700)和Safari(7.0)

 br { content: " "; float:right; } 

我希望这会回答你的问题!

对我来说,看起来更像这样:

Some text, Some text, Some text

 br { display: inline; content: ''; } br:after { content: ', '; display: inline-block; } 
 <div style="display:block"> <span>Some text</span> <br> <span>Some text</span> <br> <span>Some text</span> </div>