我正在寻找一种将左右两个图像包含在标题范围内的方法。我面临的问题是,这个标题在某些情况下会跨越两行,但并非总是如此。我不想在标题之前/之后或之后包含两个额外的元素,而是寻找一种方法来实现我正在尝试的目标,而无需在代码中添加新元素。因此,我希望使用 :before 和 :after。这就是我想出的:
.block-title:before { position:absolute; content:""; display:inline-block; width:28px; height:14px; margin:2px 0 0 -36px; background:url(../images/sidebar_ornament_l.png) no-repeat 0 0; }
.block-title:after { position:absolute; content:""; display:inline-block; width:28px; height:14px; margin:2px 0 0 9px; background:url(../images/sidebar_ornament_r.png) no-repeat 0 0; }
虽然这会很好用,但如果标题只有一行,那么占据两行的标题不会像我想要的那样表现,而是看起来像这样:
我已经尝试了我能想到的一切,让 :before 和 :after 伪元素按照我想要的方式运行,改变位置和显示,链接实际的文本跨度位置等,但就是无法实现我想要的。
由于我希望这两个图像与实际文本范围对齐,因此单个背景图像将不起作用。在某些情况下,文本和图像之间的间距会太大,看起来很奇怪。有没有办法使这项工作,所以我会以这样的两行标题结束:
谢谢!