缩进第二行的文本块
Indent a block of text from the second row
我想使格式成为我的文本:
title - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et turpis urna. Phasellus magna elit, tempus ut accumsan posuere, suscipit vel ligula. Vestibulum mauris massa, venenatis non dignissim vestibulum,
看起来像:
title - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et turpis urna.
Phasellus magna elit, tempus ut accumsan posuere, suscipit vel ligula. Vestibulum
mauris massa, venenatis non dignissim vestibulum,
我对任何解决方案都很有趣,而无需手动添加更改文本。
任何帮助将不胜感激。
一个快速而肮脏的解决方案:
<pre>
<!-- your text stuff -->
</pre>
HTML
<div class="title">title</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et turpis urna. Phasellus magna elit, tempus ut accumsan posuere, suscipit vel ligula. Vestibulum mauris massa, venenatis non dignissim vestibulum,
</div>
.CSS
.title { float: left; }
.title:after { content: '-'; display: inline-block; margin: 0 5px; }
.text { overflow: hidden; }
jsFiddle 演示
标题向左浮动,overflow: hidden;
用于建立新的块格式上下文。您可以使用默认 visible
以外的任何overflow
值执行此操作。
其中唯一不是绝对跨浏览器的:after
伪元素(从IE8开始工作),但您可以简单地在HTML中使用静态-
。我选择这样做是因为它更干净,并且标记中没有不必要的样式。
对于标题,你可以使用一些更语义的东西,比如适当的标题(h1
、h2
等)。
使用margin
和text-indent
以及:first-line
伪类可以达到预期的效果:这是相关的 CSS
p { text-indent: -2.35em ; margin-left: 2.35em }
p:first-line { margin-left: -2.35em }
小提琴示例:http://jsfiddle.net/nb88K/
请注意,所选值严格取决于单词"title"
宽度。
作为旁注,如果你可以更改标记本身,我建议将该词从你的文本移动到:before
伪类的content
属性——从语义的角度来看,你的文本是一个标题的事实应该通过元素的选择来传达(所以我会选择一个<hn>
标签)
- 在导航图标css下换行文本
- 替换两个字符串之间的多行文本
- 如何在锚标记中自动换行文本 URL
- 在使用 window.open() 打开的新选项卡中添加行文本
- 在一个容器中只显示8行文本
- 垂直对齐居中图像旁边的多行文本
- 角度-换行文本
- 元素具有多行文本,如何将它们向上溢出
- 使用Snap.svg创建多行文本
- 在JavaScript中根据长度截断多行文本
- 如何通过jquery ajax发送多行文本
- 在绝对定位元素周围换行文本
- 如何用jQuery在span标签中换行文本,除了第一个单词
- 我如何使我的计算函数也和列以及行文本框
- 你能在@符号上换行文本吗?
- 在span标签中换行文本
- 在MVC中显示几行文本
- 动态禁用多行文本框
- node.js固定行文本
- 多行文本在mathjax为android