我正在尝试找出一种能够存储带有同步吉他和弦的纯文本音乐歌词的好方法。显示时,我希望看到歌词在相应单词上方的“空白”行中以双倍行距呈现。这是我自己的个人歌词书,因此最终渲染将最常见于死树和屏幕上,但这最终可能会改变。我想我会给 Markdown 一个机会,当与一些 CSS 结合以使 <a> 标记呈现为准上标时,我能够得到以下格式“某种”的工作。我有点喜欢使用 <a> 标签的效果,因为我可以在文件底部为任何包含的和弦提供参考链接:
#Supertramp - Give A Little Bit
[A]
[D]Give a little bit[A][] [D]
Give a little bit[G] of your[A] love to me[G][][A]
[D]: http://guitar.about.com/library/blchord_dmajor.htm "D major"
[G]: http://guitar.about.com/library/blchord_gmajor.htm "G major"
[A]: http://guitar.about.com/library/blchord_amajor.htm "A major"
CSS 和转换后的降价在这里:http: //jsfiddle.net/654ct/13/
h1 {
font-family: Arial;
font-size: 2em;
margin-bottom: 1em;
}
p {
line-height:1em;
margin-bottom:1.1em;
font-family: Arial;
}
a {
position: relative;
top: -1em;
display:inline-block;
width: 0;
overflow:visible;
color:#00F;
font-weight:bold;
font-family: Arial;
text-decoration: none;
}
我从这里借了很多 CSS: 样式化文本以使其出现在行上方(用于歌词上方的和弦) 我正在写一个新主题,因为这主要是为了寻求降价帮助。
到目前为止,这种格式的好处是和弦可以与歌词“内联”编写,因此无论使用什么字体,歌词和音乐都保持同步。此外,我还获得了降价本身相当易读的额外好处。
唯一的问题是:
- 如果有两个和弦需要播放而中间没有任何单词,则在 HTML 中呈现时,和弦字符会相互“重叠”。(我相信这是由宽度:0 引起的;但据我所知,这是在和弦变化时消除歌词中的间隙所必需的。)
- 在相同的场景中,除了最后一个和弦之外的所有和弦都需要在和弦字母之后有一个 [] ,否则第二个和弦将被解释为对第一个和弦的描述。这使得降价比我想要的更忙。
有没有一种好方法可以通过 CSS 或通过更改降价来解决这些问题中的一个或两个?如果没有,除了为此编写我自己的吉他和弦特定标记语言之外,是否有人知道完全不同的替代方案?(即使我确实为此编写了自己的标记语言,我仍然需要解决问题 1 的帮助。)我知道选项卡格式,并且我正在寻找一些不太复杂的东西,因为我需要的只是提醒何时每个和弦都不是我手指需要放在哪里的明确图表。
谢谢!