2015-02-12 57 views
1

我需要在现场处理文档模板,工作和准备模板,这样的类型的复杂的格式有问题:上和下划线的文字与线条的可变数量

No underline here: TEXT UPPER TEXT UPPER TEXT UPPER TEXT UPPER 
        ------------------------------------------- 
        descriptive subtext descriptive subtext 

CONTINUE UPPER TEXT UPPER TEXT UPPER TEXT UPPER TEXT UPPER 
------------------------------------------------------------ 
continue subtext descriptive subtext descriptive subtext 

所以这上面文字是文字,我会添加从表格转化为模板,而subtext是文本描述性评论。 问题是这两个文本的行长度是可变的并且在填充前无法确定,并且通常插入的文本不止一个字符串。

这样的变型非常适用于上面的文本,并强调它,但我不明白如何添加子文有...

<span>This is intro text without underline: </span><span style='border-bottom: 1px solid black; line-height: 50px;'>Nunc venenatis nibh nec odio gravida, ac ultricies lectus sagittis. Nam magna lorem, sagittis sed dignissim at, luctus eu magna.Nunc venenatis nibh nec odio gravida, ac ultricies lectus sagittis. Nam magna lorem, sagittis sed dignissim at, luctus eu magna.Nunc venenatis nibh nec odio gravida, ac ultricies lectus sagittis.</span> 

JSFiddle examle

+0

如果你想要一个强大的解决方案,你将不得不使用JavaScript来测量字符串长度,然后创建并绝对定位下划线文本下的跨度。 – 2015-02-12 05:48:44

+0

我不介意使用JavaScript,但更好,如果它会是一些清晰的解决方案,而不会混乱的代码。还有一个问题 - HTML稍后将转换为PDF,并且多页文档也是一个问题 – DaneSoul 2015-02-12 05:53:52

回答

2

如果您有短线:

您能否使用描述列表?设置如下列表:

<dl> 
    <dt>Coffee</dt> 
    <dd>black hot drink</dd> 
    <dt>Milk</dt> 
    <dd>white cold drink</dd> 
</dl> 

和CSS样式。

dt { 
    text-decoration: underline; 
    text-transform: uppercase; 
} 

dd { 
    margin-left:0; 
} 

看到this fiddle

对于较长行:

可以使用的div s的线2的高度相结合的绝对定位你基本上同时设置的div的行距在2和然后将较低的div 1em放置在顶部之下。 HTML代码将是这样的:

<div class="topline">TEXT UPPER TEXT UPPER TEXT UPPER TEXT UPPER</div> 
<div class="bottomline">descriptive subtext descriptive subtext</div> 

,然后CSS:

.topline { 
    text-decoration: underline; 
    text-transform: uppercase; 
    line-height: 2; 
    position:absolute; 
    top:0; 
    left:0; 
} 

.bottomline { 
    margin-left:0; 
    line-height: 2; 
    position:absolute; 
    top:1em; 
    left:0; 
} 

this fiddle

+0

这不适用于多行! http://jsfiddle.net/fj8jc1a6/ - 在这里看到它在大文本上的外观 – DaneSoul 2015-02-12 05:50:22

+0

在编辑中看到我的第二个选项。 – 2015-02-12 06:03:49

+0

是的,第二个JsFiddle是我需要的!非常感谢你!我曾想过这样的事情,但不知道如何为CSS设置正确的属性,现在我看到了解决方案!请将解决方案中的代码添加到您的未安装版本中,以便将来进行更轻松的搜索,并且我会接受它。 – DaneSoul 2015-02-12 06:31:52