現在、右側にボタンのリストがある Web アプリケーションを構築しています。ボタンが完全に表示されると、2 つの部分があり、次のようになります: http://jsfiddle.net/CFYRC/。
ただし、最初はすべてのボタンが非表示になっているため、ラベル部分のみが表示されます (ボタン テキスト セクションは非表示で、ボタン ラベルはすべてページの左側に配置されます)。ユーザーがラベルにカーソルを合わせると、ボタンがスライドして、そのボタンのテキストが表示されます。
注: 以下のコードは jsfiddle と同じです。
HTML
<div id="buttonContainer">
<a href="#" class="offscreen-button">
<span class="button-text">This is the text for the button</span>
<span class="button-label">:D</span>
</a>
<a href="#" class="offscreen-button">
<span class="button-text">This is the text for another button</span>
<span class="button-label">:D</span>
</a>
<a href="#" class="offscreen-button">
<span class="button-text">The text here can be any size</span>
<span class="button-label">:D</span>
</a>
<a href="#" class="offscreen-button">
<span class="button-text">Ranging from 0 to 144 characters</span>
<span class="button-label">:D</span>
</a>
<a href="#" class="offscreen-button">
<span class="button-text">Thanks in advance</span>
<span class="button-label">:D</span>
</a>
<a href="#" class="offscreen-button">
<span class="button-text">For the help</span>
<span class="button-label">:D</span>
</a>
</div>
CSS
.offscreen-button {
display:block;
margin:1px 0px;
}
.button-text, .button-label {
display:inline-block;
padding:15px 15px;
}
.button-text {
background:#333;
display:none;
}
.button-label {
background: #E84B3B;
border-left:6px solid #C0382A;
margin-left:-4px;
}
ただし、ボタンのテキストはさまざまな長さにすることができます。現在、すべてのボタンは、設定された幅になる buttonContainer と呼ばれる親 div にあります。モバイル デバイスでは、ユーザーが buttonContainer div の任意の場所に触れると、すべてのボタン (ボタン テキストに基づいて動的な幅になります) がスライドして表示され、ユーザーが適切なボタンを選択できるようになるため、それらはこの div にあります。
すべてのボタンを壊さずにスライドさせる最善の方法は何ですか? 私が抱えている問題は、一部のボタンが buttonContainer div に対して広すぎて、次のような状況になってしまうことです: http://jsfiddle.net/CkESR/。
よろしくお願いします。