にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:23:26.

overflow-yプロパティはIE独自のプロパティなので...

ソースネクストから、ウイルス定義ファイルの更新期限がないアンチウイルスソフト「ウイルスセキュリティZERO」が発売されます。毎年の更新料が不要な上、1本あたりの価格はNortonの年間更新料より安いので、私もこれを導入しようかと思ってます。

で、その「ウイルスセキュリティ」の機能紹介Webページを見てみたところ、ページそのものにちょっと問題がありました。(^^;)
IEで閲覧すると問題なく見えるのですが、FirefoxやNetscape Navigatorで見ると、本文の一部が読めません。

IEで見ると分かりますが、ブロックの高さを制限して、ブロック内部にスクロールバーを表示するようスタイルが記述されています。Firefox・Netscape Navigator・Operaの3ブラウザで閲覧してみると、次のように見えます。

  • Firefox: ボックスの高さが400pxに制限されているがスクロールバーは出ず、400pxを越える位置にある文字列が、ボックスの下にある文字列に重なって見えるため、文字が読めない。
  • Netscape: ボックスの高さが400pxに制限されているがスクロールバーが出ないので、400pxを越える位置にある文字列が隠れて読めない。
  • Opera: ボックスの高さが400pxに制限されずに、下に伸びている。(文字は全部読める。)

これは、明らかにスタイルシートの記述ミスです。
ソースネクストのこのページのスタイルシートには、次のように記述されています。

.mado{
   width: 100%;
   height: 400px;
   overflow-y: scroll;
(以下略)

ここで、overflow-yというプロパティが使われているのが原因です。
overflow-yというプロパティは、IE独自のプロパティなので、正式なスタイルシートではありません。だから、IE以外のブラウザでは様々な見え方をしてしまうわけです。

overflow-yプロパティは、ボックスの範囲内に収まらないコンテンツの表示方法を、縦方向に関してだけ設定するプロパティです。まあ、便利といえば便利なので、正式なスタイルシートの仕様に含められれば便利に活用できるだろうとは思うのですが、IE独自のプロパティなので、「解釈されなかった場合に困る」ような使い方は避けた方がいいですね。

スタイルシートには、overflowプロパティがあります。縦方向や横方向といった限定をせず、ただ「ボックスの範囲内に収まらないコンテンツの表示方法を指定する」プロパティです。

ここでは、overflowプロパティを使って、値をautoに設定するよう修正すれば、IE以外のブラウザでも正しく見えるはずです。

overflowプロパティの値にautoを指定すれば、代表的なブラウザ(IE/Mozilla系/Opera)では、縦方向にのみスクロールバーを表示します。(値にscrollを指定すると、縦横両方にスクロールバーが表示される可能性があって、ちょっと見栄えが悪くなる可能性があります。このページの製作者は、もしかするとそれを嫌ってoverflow-yプロパティを使ったのかも知れませんね。)

ソースネクスト、アクセシビリティに気を遣っているような感じは見受けられるのですけど、もうちょっとしっかり代表的な複数のブラウザで表示確認した方がいいと思います。^^;;;

年間更新料0円で約10年使える、「ウイルスセキュリティZERO」
ウイルスセキュリティZERO(@Amazon)

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---