如何在不使用<br>
标签的情况下获得相同的输出?
<p>hello <br> How are you </p>
输出:
你好 你怎么样
如何在不使用<br>
标签的情况下获得相同的输出?
<p>hello <br> How are you </p>
输出:
你好 你怎么样
使用 overflow-wrap: break-word;
如下:
.yourelement{
overflow-wrap: break-word;
}
其他回答提供了一些很好的添加换行的方法,具体取决于情况。但应注意,:after
选择器是实现CSS控制链接列表(以及类似事物)的较好方式之一,原因如下。
以下是一个示例,假设有目录:
<style type="text/css">
.toc a:after{ content: "\a"; white-space: pre; }
</style>
<span class="toc">
<a href="#a1">Item A1</a> <a href="#a2">Item A2</a>
<a href="#b1">Item B1</a> <a href="#b2">Item B2</a>
</span>
这里介绍Simon_Weaver的技术,它更简单且兼容性更好。它不像其他方法那样将样式和内容分离得那么明显,需要编写更多代码,并且有时需要在完成后添加换行符。不过仍然是一个很好的解决方案,特别是对于较旧的IE浏览器。
<style type="text/css">
.toc br{ display: none; } /* comment out for horizontal links */
</style>
<span class="toc">
<a href="#a1">Item A1</a><br/> <a href="#a2">Item A2</a><br/>
<a href="#b1">Item B1</a><br/> <a href="#b2">Item B2</a><br/>
</span>
pre
相比)display:block
评论)float
或 clear
样式<br/>
或带有硬编码断点的 pre
相比)a.toc:after
和 <a class="toc">
的松散链接display: flex
属性的元素中,因此我必须使用 flex-direction: column
。<p>hello <span>How are you</span></p>
以及CSS:
p {
display: flex;
flex-direction: column;
}
将 br
标签设置为 display:none
是有帮助的,但这样会导致单词连在一起。我发现用空格字符来替换它更有帮助,像这样:
HTML:
<h1>
Breaking<br />News:<br />BR<br />Considered<br />Harmful!
</h1>
CSS:
@media (min-device-width: 1281px){
h1 br {content: ' ';}
h1 br:after {content: ' ';}
}
那么<pre>
标签呢?
<pre>
中使用空格来换行。如果你想要普通的空格呢? - Micha Mazaheri代码可以是:
<div class="text-class"><span>hello</span><span>How are you</span></div>
CSS就是:
.text-class {
display: flex;
justify-content: flex-start;
flex-direction: column;
align-items: center;
}
<span class="class_name"></span>
中声明内容。在此之后,文本将换行。
\A
代表换行符。.class_name::after {
content: "\A";
white-space: pre;
}
p {
padding-right: 50%;
}
在CSS-tricks网站上,Chris Coyier
测试了很多选项,最终得出了优雅且不错的解决方案 - 使用display:table
。每种方法都有其自身的问题,当您在上使用background-color
时,您将会发现这些问题!
body {
padding: 20px;
font-family: 'Open Sans', sans-serif;
}
h1 {
font-weight: 300;
font-size: 24px;
line-height: 1.6;
background: #eee;
padding: 20px;
margin: 5px 0 25px 0;
text-align:center;
}
h1 span {
color: white;
font-weight: 900;
}
h1 span {
background: black;
padding: 1px 8px;
display: table;
margin:auto;
}
<h1 class="one">
Break right after this
<span>
and before this
</span>
</h1>
在这里,您可以看到codepen
上的所有其他选项:
br
设置为display: inline-block; width: 1em;
,这样在水平方向上移动时就不会让单词连在一起了。 - Beejor