我需要在标题文本的两侧创建一个等长线的标题,并在行和文本之间创建一个固定大小的填充。文本会有所不同,因此不得设置宽度。这些行应该占据标题容器中所有剩余的宽度。标题文字不能设置背景,因为它背后的背景会有所不同。像这样的东西:
-------------------------------------------------- -------- 一些文字 ----------------------------------------- ----------------
我使用表格解决了它:
<table width="100%">
<td><hr /></td>
<td style="width:1px; padding: 0 10px; white-space: nowrap;">Some text</td>
<td><hr /></td>
</table>
你可以在这里试试:http: //jsfiddle.net/md2dF/3/
从语义上讲,这是一个非常糟糕的解决方案,标题与表格数据无关。如果没有桌子,你会怎么做?
总结一下(因为建议的解决方案都忽略了一个或多个要求):
- 标题不能有固定宽度
- 标题文字不得有背景
- 标题文字不得有固定宽度
- 文本两侧的线条必须占据所有剩余宽度
- 行和文本之间的填充必须具有固定宽度
- 如果有疑问,请查看http://jsfiddle.net/md2dF/3/