最初の質問に挑戦します。
これは問題です。私は数回経験しましたが、正確にはわかりません。解決方法は次のとおりです。
グラデーションの背景色としても使用される半透明の背景画像 (透明な丸みを帯びたコーナーなど) があります。(この例では、ドロップダウン ナビゲーションのボタンです。ボタンにカーソルを合わせると、nav-list が表示されます。)
コードは次のとおりです。
<div id="top-navi"><a id="top-navi-button" href="#" >Navigation</a>
<ul>
<li><a href='#'>bla</a></li>
<li><a href='#'>blubb</a></li>
</ul>
</div>
CSS:
#top-navi {
position: fixed;
top: 0px;
left: 6%;
z-index: 1000;
}
#top-navi a#top-navi-button {
float: left;
width: 130px;
height: 20px;
padding: 5px 10px 5px 20px;
background: url(../img/top-navi-button.png) no-repeat;
color: #FFF;
font-size: 120%;
text-decoration: none;
}
#top-navi a#top-navi-button:hover,
#top-navi a#top-navi-button:focus {
text-decoration: underline;
}
ボタンのテキストは白です。サイトをアクセシブルにしたいので、画像にテキストを入れず、(スクリーンリーダーが読めるように) html で書き、白くスタイルします。ここまではかなりうまくいきます。
画像が非アクティブ化されている場合でも、すべての機能を使用できるように、さらにアクセスしやすくしたいと考えています。これを行うと (たとえば、FF 開発者ツールバーを使用して)、背景画像が消え、白いテキストが表示されなくなります。
ここで、(画像に加えて) リンクに背景色を指定すると、透明なコーナーに重なります。また、テキストを a に入れて<span>
背景色を付けようとしましたが、画像にグラデーションがあるため、スパンの背景色が表示されます。
それを解決する方法はありますか?事前にどうもありがとうございました!
クリス