我有一些动态标题,其中设计要求每个单词都在他们自己的行上。这是期望的外观: http://jsfiddle.net/alanweibel/2LEmF/2/(请注意每个单词的黑色背景)
我需要帮助的问题是保持上面的风格,同时将整个标题放在一个标签内。我不能在每个单词之前和之后动态插入H1。
我需要从
更改HTML标记<div class="tagline">
<h1>
Oh
</h1>
<h1>
Look
</h1>
<h1>
A
</h1>
<h1>
Headline
</h1>
<h1>
Thanks
</h1>
</div>
类似于
<div class="tagline">
<h1>
Oh Look A Headline Thanks
</h1>
</div>
同时保持与上面链接相同的风格。
提前致谢。
答案 0 :(得分:3)
请参阅: http://jsfiddle.net/thirtydot/HksP2/
它在IE9,IE8以及最新版本的Firefox,Chrome,Safari,Opera中看起来很完美;全部在Windows 7上。它在IE7中相当好地降级。在Mac上的Safari中,几乎完美。
这是基于previous answer。引用自己的答案:
请注意,
line-height
和padding
调整可能非常 狡猾才能做对。
line-height: 1.83;
看起来不错,通过选择看起来与您想要的内容相近的东西来找到,然后使用反复试验找到适用于Chrome和Firefox的内容(它们以不同方式呈现文字)。
<强> HTML:强>
<div class="tagline">
<h1><span>
Oh Look A Headline Thanks
</span></h1>
</div>
<强> CSS:强>
.tagline {
display: inline-block;
width: 0;
line-height: 1.83;
padding: 1px 0;
border-left: 20px solid #000;
}
.tagline h1 {
font-size: 20px;
font-weight: normal;
color: #fff;
background: #000;
display: inline;
padding: 8px 0;
text-transform: uppercase;
}
.tagline span {
position: relative;
left: -10px;
}
答案 1 :(得分:2)
我知道这样做的唯一选择就是编写一些javascript来获取<h1>oh look ..</h1>
内容并将其拆分为单独的h1标记。
<强>更新强>
我只是想办法:http://jsfiddle.net/2LEmF/10/
基本上,您需要将背景颜色移动到主div。然后将h1上的宽度设置为强制文本沿正常文本破坏规则中断的内容。像10px这样的东西。
我不确定这会在多种浏览器上做什么,因为你实际上给的是一个小到H1的尺寸......但它可能正是你想要的。
答案 2 :(得分:1)
答案 3 :(得分:1)
以下是如何为每个单词获取一行的简单示例:
<强> HTML:强>
<div class="tagline">
<h1>
Oh Look A Headline Thanks
</h1>
</div>
<强> CSS:强>
.tagline h1 {
display: inline-block;
word-spacing: 100vw;
}
答案 4 :(得分:0)
您可以使用<br />
搜索和替换空格以获得此外观:
答案 5 :(得分:0)
我不确定我是否理解这个问题。您的问题似乎已经停留在HTML中,但是您希望它能够在线显示吗?
如何将display:inline;
添加到.tagline?
或者反过来呢?您有正常的HTML,但是您需要在空格处分割线条吗?
答案 6 :(得分:0)
让tagline
div非常精简,并使其block
代替inline
。然后制作h1 inline
。
.tagline
{
width: 1px;
margin:5px;
display: block;
}
.tagline h1
{
color:#fff;
background: #000;
padding: 4px 10px;
font-size: 20px;
line-height: 30px;
text-transform:uppercase;
display: inline;
}
JSFiddle在这里。