「HTML」タグアーカイブ

【解決済み】既定のアプリを変更しても、変わってくれないバグの対処法 Windows10

設定やコントロールパネルから既定のアプリを変更できない問題

Windowsで「既定のアプリ」を変更しても変わらない問題が多数報告されている。
以下の条件に当てはまれば、下記の解決法を試してみるとよい。

 

条件と症状

・ファイルを右クリックして「プログラムから開く」→「別のプログラムを選択」から変更しても無理
・歯車マークの「設定」から「アプリ」→「既定のアプリ」→「ファイルの種類ごとに既定のアプリを選ぶ」から変更しても無理
・再起動しても無理
・コントロールパネルからいっても無理(結局「設定」から進むのと同じ)。


↑この辺の設定ではいくらやっても既定のアプリが変更できない

 

原因

2018年10月からに配布されたWindows updateのKB4462919が悪さをしている。

ちなみに、KB4462919には既定のアプリの問題だけでなく、PCの環境によっては起動不可になるという、恐ろしいバグを含んでいる。

 

対処法

・ウィンドウズアップデートのKB4462919をアンインストールする。

左下のWindowsのマーク→歯車マークの「設定」→「更新とセキュリティ」

「更新の履歴を表示する」

「更新プログラムをアンインストールする」

KB4462919をアンインストール

アンインストールが終わると再起動されるので、その後普通に「既定のアプリ」を変更してみよう。

 

更新プログラムが自動で再インストールされないようにする

Windows 10 に一時的に再インストールするのを止める必要がある。

Windows8 までは設定画面から更新プログラムを選んでスキップすることができたが、Windows 10では不可。

そこで、マイクロソフト公式の更新停止ツールを使う。

https://support.microsoft.com/ja-jp/help/3073930/
このページの中ほどの
新しいドライバーの修正プログラムがリリースされるまで、一時的にドライバーが再インストールされないようにするには、Windows 10 用の Windows 更新プログラムとドライバーの非表示と表示を切り替えるユーザー インターフェイスを提供するトラブルシューティング ツールを利用できます。

次のトラブルシューティング ツールは、Microsoft ダウンロード センターからダウンロードできます。

[ダウンロード] アイコン 「更新プログラムの表示または非表示」トラブルシューティング ツール パッケージ」

と書いている場所から、wushowhide.diagcab というトラブルシューティングツールをダウンロードして、更新プログラムを停止させておこう。

tableのthやtdをソースを変えずにCSSだけで縦並びにする方法 – レスポンシブデザイン編 –

HTMLのソースを全く変えずにtableの配置を縦並びにする方法

結論から言おう。実現可能だ。

一般にこの方法を実現したいならdivを使ってやる方がいいと言われている。その通りで、最初から作るならdivでやるべきだ。

でも、フォームのソースが元々あって、そこをどうしても変更できない場合や、CSSだけで対応する必要がある場合もあるだろう。
なので、今回はCSSだけで実現する方法を紹介。

手軽なやつだと、position absoluteを使う方法と、 display blockを使う方法がある。

 

CSSに1つ記述を追加するだけ

 

table, tbody, tr, th, td {
display: block;
}

これだけ。
ちなみに、tfootやtheadを使っている場合は、それも含めてdisplay block してやるといい。

IE6,7,8まで含めて対応したい場合はtableのブロック要素化が効かないかもしれない。
そんな時には、
IE6,7,8,9だけCSSで違う記述を反映させる方法

この辺を参考に。

 

レスポンシブ(スマホ用とPC用で自動的に変える方法)で実装する

テーブルを縦並びにするだけなら先ほどの display blockだけで大丈夫だが、PCでは普通のテーブル、スマホでは縦並びにしたい場合の対応も考えよう。

まず、レスポンシブデザインを考えるに辺り、メディアアンカーを覚えなければならない。

・PCで適用されるCSS

@media screen and (min-width:601px) { /*601px以上*/

この間にPC用のCSSを書く。

}

・スマホで適用されるCSS

@media screen and (max-width:600px) { /*600px以下*/

この間にスマホ用のCSSを書く。

}

という感じ。

「スマホ用」「PC用」と言っているが、本来の意味は、

「画面サイズが600以下の時はこのCSSだよ」
「画面サイズが601以上の時はこのCSSだよ」

という事だ。
数字は自分で勝手に変えてもいい。タブレットも分けたい場合などには、3つにしたりすることもできる。

@media screen and (min-width: 500px) and (max-width: 800px) {

画面サイズが500~800の間適用されるCSS。タブレット用とか?

}

でも、昨今のスマホの画面サイズからいくと、600pxで分けるのがおすすめ。

今回のスマホ時にだけテーブルを縦に並べたいなら、

@media screen and (max-width:600px) { /*600px以下(スマホ用)*/
table, tbody, tr, th, td {
display: block;
max-width: 98%; /*スマホ画面ほぼ一杯に広がる感じ*/
}
}

としてやれば、

こうなる。PC版はそのまま。

ちなみに、 max-width:98%; とかは自由に変えてくれ。

overflow:hidden; なんかも使えるかもしれない。

メディアアンカーの外にテーブルの幅を指定している場合は、上記スマホ用CSSを追加しても効かない場合がある。その場合は

@media screen and (min-width:601px) { /*601px以上(PC用)*/
table {
width: 680px; /*PC版の横幅*/
}

という風に、PC用メディアアンカー内に移動すること。