うぇぶかにほん Webka.Jpうぇぶかにほん-駅と旅のガイドすみません、まだβ版です。
  Webka.Jp ホーム  >  ブログス  >  日本Web化計画  Peaceful Paradise Life
about
recent
tweet
movie
search
pepalife.com
ようこそ、ピースフルパラダイスライフへ
このブログは南国生活をする人のブログではありません。いつか、のんびり南国生活を夢見るおっさんブログです。
本当はもう、自分の力でどこにでも自由に行けるはずなのに、まだ、どこへも行っていない事に最近気がつきました。
でも、本当は夢見る南の島だって、どこにだって自由に行けるはずなのです。だから、そろそろ、ちょっと、そろそろ、と夢想しているおっさんブログです。
最近の記事タイトル (すべての記事タイトルを表示する
うぇうかにほん公式ツイッター
このブログの新しい記事の更新情報も[うぇふかにほん公式ツイッター]でチェック!
※PPL FILMS動画最新順、前へ/次へで動画を切り替えられます。
こちらもおすすめ→Webka.Jp FILMS
ブログ内
TAG
一人旅E-3国内の旅OLYMPUS地元神奈川横浜わんにゃん止まらない衝動本州タイ映画海外の旅PANASONICデジタルガジェット動画ありPCトラブル北海道音楽旅道具備忘録イベントトイカメラ九州SONYソフト&アプリ小豆島神戸NIKON夜景SEIKOPC旅(複数)パソコンGirlsAward鉄道撮影道具アメリカ屋久島白谷雲水峡あまちゃんフィルムカメラウェブ浅田真央スマートフォン金比羅山パソコン周辺機器E-520iPod_touch4thロジクール終わらない断捨離の記録四国土讃線アユタヤRICHO-PENTAX讃岐うどんバックパック浅草LEICAFUJIFILM礼文島予讃線香港高松風鈴道後温泉動画WiMAXXJAPANキャメロン・ディアスポートタワー江ノ島大洗港横浜駅ノニ摩耶山CANONミニチュア風松山駅小樽グラム単位の軽量化大部港浜松窪川駅高知城瀬戸内海高知松山城南京町双子浦日生港観音寺駅予土線日生駅四万十川エンジェルロード戸田恵梨香東北メリケンパーク富士山藤木直人中古車屋フリー写真素材水着スポーツジム実験青森坪尻駅阿波池田駅高知駅はりまや橋琴平駅ジャガー阿部寛二俣川サッカーテレビ桂浜東北本線オルガ・キュリレンコレオナルド・ディカプリオ豊川悦司仲間由紀恵トム・ハンクスブライアン・セッツァーROSEROSEジョージ・クルーニーiPod_touch4thスマートフォン函館中井貴一伊予大洲駅いしかりライナー小樽運河はまなす保土ヶ谷バイパススーザン・ボイルRADWIMPS秋の乗り放題パスあぶくま駅兜駅GoProミャンマーCOSINA台湾塔のへつり駅会津田島駅南会津被災地阿武隈急行線会津鉄道男鹿高原駅大川ダム公園駅八重の桜東京ドーム水道橋駅川奈汐吹公園東伊豆スキンダイビング北海道&東日本パス福島駅平泉シュノーケリング東京スカイツリートレイルランニング水戸黄門水戸駅JR東日本パスはやぶさ新青森東北新幹線八ツ森駅しおサイダー三ノ宮駅稚内駅名寄駅二俣川駅熊ヶ根駅LS-10Milky_Bunny宗谷本線YMOハワイJRMAMMUTカラビナきゃりーぱみゅぱみゅ角島大橋東京駅

tableのtrタグをdisplay:none→blockで表示非表示を切り替えるJavascriptがIE10(Windows8)だとレイアウトが崩れる不具合の原因

2014.03.17 (Mon) 共有
tableのtrタグをdisplay:none→blockで切り替えるJavascriptがIE10(Windows8)だとレイアウトが崩れる不具合の原因

※これは自分が忘れた時の為の備忘録です。ほとんどの人は意味がわからない内容ですので、どうぞ飛ばして下さい。
※文中のIEとはMicrosoft Internet Explorerの略称です。

タイトルの通り、tableのtrタグをdisplay:none→blockで表示非表示を切り替えるJavascriptを使っているウェブページで、IE8では正常だったのが、IE10(Windows8)で見るとレイアウトが崩れる不具合を修正しようとして数時間もハマってしまったので忘れても大丈夫なようにここに記す。実は前にも全く同じ不具合でハマった経験があるのにすぐに解決策を再現できずに時間を無駄にしてしまった(泣)。

サンプルソース ※レイアウト崩れるやつ
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>開閉JS</title>
<style type="text/css">
tr#hoge td{background-color:#F9F;}
td{background-color:#FF0;border:1px solid #000; padding:30px;}
</style>
<script>
function oc(id){
if(document.all)OBJ=document.all(id).style;
else if(document.getElementById)OBJ=document.getElementById(id).style;
if(OBJ) OBJ.display=='none'?OBJ.display='block':OBJ.display='none';
}
</script>
</head>
<body>
<a onclick="oc('hoge')">開閉ボタン</a>
<table>
<tr style="display:none;" id="hoge">
<td>1</td><td>2</td>
</tr>
<tr>
<td>3</td><td>4</td>
</tr>
</table>
</body>
</html>

現象
上のサンプルソースをIE10で見て、「開閉ボタン」で1、2の行を開くとその部分がtableを無視しれたようになってレウアウトが著しく崩れる。
レイアウト崩れる状態と正常な状態
レイアウトが崩れないケース
・IE8で見た場合
・IE10の互換表示ONの場合

未確認ブラウザ
・IE9、IE11、IE7以下
・Safari、FirefoxなどIE以外のブラウザ

原因
tableのtrタグをdisplay:blockした為、ブロック要素になってテーブルから外れてしまった為。つまりIE10の動作が正常で、IE8や互換表示の方がバグだと予想。

解決策
SCRIPTのdisplay='block'のblockを削除してdisplay=''とした。

参考にしたエントリー(詳しい説明)
tr要素の「display : block;」にはまる(The blog of H.Fujimoto)

以上、ではまた
スポンサード リンク
この記事に拍手・コメント・共有する
web拍手 share
コメント(2)

匿名さん (2015-09-09) edit

ありがとう。役に立ちましたよ。

masamaxさん (2016-08-31) edit

言われてみれば、そうなんですね。
ありがとうございました。
ひと言でいいので、気軽にコメントしていってください!
あなたのそのひと言がこのブログ運営の原動力なのです。よろしくお願いします。

関連記事:ウェブとパソコン
スポンサード リンク
Profile
x
Author: 堀田けいすけ
駅と旅のガイドうぇぶかにほん及びPEPACOMのウェブディレクター。うぇぶかにほん公式ツイッターで「ほた」でつぶやき中~、顔写真はすでに10年以上前のもの~、
好きな**:PC/スマホ/一人旅/鉄道旅/降り鉄/乗り鉄/駅鉄/撮り鉄/鉄道ファン/カメラ/ロック/パンク/ハードコア/温泉/散歩/トレッキング/ハイキング/ウォーキング/サイクリング/焼肉/すし
Web Site
うぇうかにほん(Webka.Jp)日本には駅の数だけ旅がある。
うぇうかにほん公式ツイッター
Calendar
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
スポンサード リンク
旅の計画に便利なサイト
人は皆、自分がなぜ生まれてきたのかを確かめるために生きているのです。でも、その答えがだせる人はめったにいません。もし、答えが知りたくなったら旅にでましょう。旅にでるのは、美しい景色を見にいくためです。美しい景色を見るとなんで自分が生まれてきたのかが、わかるといいます。
My recommendation