これは私がしていることです:
- CDトラックのリストがあります(表形式のデータにテーブルを使用しています)
- 各トラックの歌詞は、トラック名の下の div 内に隠されています。
- トラックをクリックすると、トラックの名前のすぐ右に歌詞が表示されます
私が抱えている問題は、相対要素内の絶対要素の幅にあります。何らかの理由で、絶対要素の幅が相対要素の最大幅になっています。
私の場合、歌詞ポップアップの幅は相対セル データの最大幅です。
私が望むのは、絶対的な要素の幅が定義された幅の制約なしで自然に流れることです。このように、歌詞の改行は問題ありません... 歌詞のポップアップの幅を定義できますが、一部の歌詞には醜い空白の右側のスペースがあります... プロジェクトを完璧にしたい!!
これを行う方法はありますか?ありがとう
私のhtml:
<table class="tbl-track">
<tbody>
<tr>
<td>1</td> //width: 20px
<td class="track-name"> //width: 350px
<a class="track" href="">track 1</a>
<div class="lyrics" style="display:none;">
lyrics goes here<br />
line 1<br/>
line 2<br />
...<br />
</div>
</td>
<td>duration</td> //width: auto
<td>play button</td> //width: 20px
</tr>
</tbody>
</table>
これは私のcssです:
.tbl-track td.track-name {position:relative;}
.lyrics {position:absolute; left:0; top:-20px; background:#000; padding:20px; z-index:999}
これは私のjqueryです:
$('a.track').click(function(e) {
var w = $(this).width();
var this_lyrics = $(this).next('.lyrics');
var duration = 200;
// hide opened lyrics before displaying a new one
$('.lyrics').fadeOut(100);
this_lyrics.hide().css({left:w + 20}).fadeIn(duration);
e.preventDefault();
});