トップ・ページの表示 注意書きの表示 掲示板に書き込む前に必ず この ”注意書き”を お読み下さい.

"Twilight"

Index Menu
(1)<FirstTitle>:JavaFXデモ/Sceneの遷移 <FirstUser>:amanojaku@管理人 (1)<FirstTitle>:Javaデモ/うるう年 <FirstUser>:amanojaku@管理人

   
   

ページの表示順:{ 新しい順/ 古い順}.
初期・ページの表示・位置:{ 先頭ページ/ 末尾ページ}.
1ページ内のスレッド表示数:







<Number>: [00000037]  <Date>: 2022/02/17 17:58:27
<Title>: 実用的なWebページ:ユーザー・フレンドリー(レスポンシブ・デザイン)・Webページ作成の注意点
<Name>: amanojaku@管理人



本当に自分の作りたいサイトを(勉強のために)実用的なWebページで作ってネットで公開してみると良いでしょう(本当に自分の作りたいサイトならモチベーションも上がるでしょうから)。
逆に言うと、自分が本気でネットで公開したいサイトでないと、それだけの学習コスト(学習の労力)を掛けて勉強するのは難しいかもしれません、(もちろん 不可能と言うことでは無いですが)自分が本気でネットで公開したい、と言うモチベーションが有った方が学習に圧倒的に有利です。
自分が本当にネットで公開したいコンテンツが有るか、どうかも重要な要素になるでしょう。
無料レンタルWebサーバーは基本的に広告が入るので、広告がウザくない所を探して下さい。

下記はアマチュア用の注意点です(プロとアマチュアでは方向性が違います)。
プロではピクセル・パーフェクトを希求しますが、アマチュアはユーザー・フレンドリー(所謂 リキッド・レイアウト)を推奨します、なぜならユーザー・フレンドリーはSEO的な評価に顕著に寄与するからです(逆に言うとプロ的なピクセル・パーフェクトはSEO的な評価はイマイチです)。
なお ユーザー・フレンドリー(所謂 リキッド・レイアウト)は(ビューポートではなく)ディスプレイ画面の解像度を基準とし、テキストはデフォルト・フォント・サイズを基準とします。

現在のピクセル・パーフェクトはビューポートの横幅に比例して伸縮します。
Web系においての静的Webページでは古い(pxなどの)絶対単位のピクセル・パーフェクトは無くなりました(ただし動的Webページでは動的に絶対単位で生成している場合が多い感じです、また基幹系においての静的Webページでも昔ながらの古い(pxなどの)絶対単位のピクセル・パーフェクトを使っているかもしれませんが)。
つまり、(Web系においての静的Webページでは)現在のピクセル・パーフェクトは、別物になったと言うことです、(完全な別物なので)それをピクセル・パーフェクトと呼んで良いのかと言う議論は有るでしょうが。
分かりやすく言うと、肉眼で見たイメージとしてのピクセル・パーフェクトなので、脳内で便宜的に「イメージ・パーフェクト(仮)」とでも読み替えれば良いでしょう。
なお 人がピクセル・パーフェクトと言った時に、古いpx単位のピクセル・パーフェクトを言っているのか、「イメージ・パーフェクト(仮)」を言って居るのか、文脈から判断する必要があります。

「PC、タブレット、スマホ」などで解像度は機種ごとに違うので、特定の解像度に依存しないユーザー・フレンドリー(PCフレンドリー、タブレット・フレンドリー、スマホ・フレンドリー)なページが推奨されます。
Chromeのモバイル・エミュレーターで「PC、タブレット、スマホ」の各解像度をチェックしてみればユーザー・フレンドリーが如何に重要か解るでしょう。
(各解像度のチェック自体は それほど難しく無いので)現在 Webページを作成しているなら、実際にChromeのデベロッパー・ツールのモバイル・エミュレーターで「PC、タブレット、スマホ」の各解像度をチェックしてみると良いでしょう。
また、(ブラウザ側の設定で)フォント・サイズもイロイロ 変更してみて、イロイロなフォント・サイズに対応可能かどうかもチェックしてみると良いでしょう。

レスポンシブ・デザイン:PCとスマホを同一のファイルにする手法はレスポンシブ・デザインと言われており、推奨されています。
レスポンシブ・デザインにする場合、スマホでは高度なCSSが効かない場合があるので、一般的にはモバイル・ファーストで作成する事が推奨されます(折角PC用にCSSで高度な装飾を作っても、後で全面的に修正になる可能性があります)。
PC用を先に作る場合は、PC用を少し作ったら、(高度なCSSの場合は)スマホでも こまめにチェックする必要が有ります、その場合は(モバイル・エミュレーターでは無く)スマホの実機でチェックする必要が有ります。
とりあえずチェックするだけなので、必要最小限の修正で良いですし、PC用のコードのままチェックできるなら修正しなくても良いです。
なので、高度なCSSに限っては最初にスマホ用のコードを作っても良いでしょう(そのコードでPCでもチェックできると尚いいですが)、なお CSSで高度な装飾を使わないならPC用が先でも全然 良いです。
また 絶えずレイアウト構成をスマホの「縦、横」画面、タブレットの「縦、横」画面、PCの画面(アスペクト比「4:3、16:9」)で表示可能か考慮しながら作る必要があります、そうしないと後で全面的に修正しなければならなくなります。

参考

Webページにおける基本的な注意点
http://ashtarte.pa.land.to/utf8/smt.cgi?r+sara/&bid+00000231&tsn+00000231&bts+2019/08/12%2011%3A02%3A18&

アマチュアの場合で細かく分けたい場合は、メディアクエリで「1312px以上」、「1312px未満~992px以上」、「992px未満~688px以上」、「688px未満」に分割する4パターンのレイアウト構成が推奨されているようです(もちろん、ページのレイアウト構成によっては、それ以下のパターン数でも作成可能な場合もあります)。
※注意点としては、ユーザーが意地悪くPC用ブラウザの横幅を小さくすると、PC用ブラウザで(レスポンシブ用などの)メディアクエリが効いてしまうと言う問題があります(メディアクエリを効かせたく無い部分はJavaScriptで記述する必要があります)。

(Webページ作成の基本のキとして)ブレイク・ポイントを念頭に置き、必ずワイヤー・フレームを作成して下さい(手書きでも良いですし、単純なレイアウトなら脳内だけでも おk)。

参考

チンチロリン
http://xd305417.html.xdomain.jp/responsive/dice000/dice000.htm

このチンチロリンは、単純なレスポンシブ・デザインのデモ・ページです(PCとスマホでレイアウトが変化します)。
分かりやすく作ろうなどと一切考えずに作ってしまっているので、コードを見ても分かりずらいかもしれません。
なお、このデモは あくまでもモバイル・エミュレーター・チェック用のデモ・ページでJavaScriptでフォント・サイズを計算しており、本番用ページでは無いと言うことは、ご了承 下さい。
通常、本番用ページはJavaScriptでフォント・サイズを計算しません、つまり本番用ページで様々な解像度をチェックするとなると、解像度を変更するたびにブラウザ側でフォント・サイズを調整しなければならないので面倒になってしまいます。
このデモはセレクト・ボックスでフォント・サイズを「0,85倍~1.65倍」まで変更可能です。
フォント・サイズの変更に伴なって、ブロック要素の「"縦"サイズ」も変化していることに注意して下さい。
これは、ユーザーによるブラウザのフォント・サイズの変更に対応可能である事を示しています。

勉強の手始めとして、その(PCとスマホでレイアウトが変化する)「チンチロリン」程度のモノか、又は もっと簡単なレイアウトから初めても良いです。
例えば、「画像」と「枠の有る要素を2つ」を作って、要素内には必ずテキストを入れ、PCとスマホでレイアウトを"変化"させるモノを作ってみるのも良いでしょう(要素に枠を表示させれば、要素からテキストが溢れているか目視で確認できる)。
また、(ブラウザ側の設定で)フォント・サイズもイロイロ 変更してみて、イロイロなフォント・サイズに対応可能かどうかもチェックしてみると良いでしょう。

>実用的なWebページ

「PC、タブレット、スマホ」などで解像度は機種ごとに違うので、特定の解像度に依存しないユーザー・フレンドリー(PCフレンドリー、タブレット・フレンドリー、スマホ・フレンドリー)なページが推奨されます。

>レスポンシブ・デザイン

(各解像度のチェック自体は それほど難しく無いので)現在 Webページを作成しているなら、実際にChromeのデベロッパー・ツールのモバイル・エミュレーターで「PC、タブレット、スマホ」の各解像度をチェックしてみると良いでしょう。
また、(ブラウザ側の設定で)フォント・サイズもイロイロ 変更してみて、イロイロなフォント・サイズに対応可能かどうかもチェックしてみると良いでしょう。
注.フォント・サイズを固定(絶対単位の指定)してしまうと、ユーザビリティが著しく低下する可能性があるので注意が必要です。
また、デフォルト・フォント・サイズ(1rem)より小さくしてしまうと、目の悪い人にとってはユーザビリティが悪くなってしまう可能性があります(デフォルト・フォント・サイズ(1rem)以上なら問題ありません)。
ユーザビリティが悪いと、(クローラのAIは)当然 ユーザー・フレンドリーでは無いと言う判定になるので、SEO的にはマイナスになります。


PCにおいては とりあえず「1k~4k」解像度をチェックしてみると良いでしょう。
具体的には「1k」では「約1000px*750px」(アスペクト比「4:3」)を、フルHD画面 以上なら「約2000px*1120px、約4000px*2250px」(アスペクト比「16:9」)の解像度をチェックすると良いでしょう。
「タブレット、スマホ」は既に登録されているプリセットの解像度でチェックしてみると良いでしょう。

「タブレット、スマホ」の解像度のプリセットは[Responsive]コンボボックスで選択可能です(下記の解像度をチェックしてみると良いでしょう)。
タブレット:『「iPad」(768px*1024px)、「iPad Pro」(1024px*1366px)』。
スマホ:『「Galaxy Fold」(280px*635px)、「iPhone 5/SE」(320px*568px)、「Moto G4」(360px*640px)、「Pixel 2」(411px*731px)、「Surface Duo」(540px*720px)』

解像度を変更したら必ずリロードして下さい。
解像度を変更してフォント・サイズが合わなくなったら、ブラウザの設定でフォント・サイズを調整して下さい。
Webページ作成時に何度も何度も解像度をチェックするとなると、フォント・サイズの調整も面倒になります。
上記「Webページにおける基本的な注意点」内にフォント・サイズ自動調整用の「CSS、JavaScript」が記載されているので、それを使うと便利でしょう、あくまでもモバイル・エミュレーター用のコードなので、本番用Webページではコメントにするなど、無効にして下さい。


SEO(Search Engine Optimization:検索エンジン最適化)
http://ashtarte.pa.land.to/utf8/smt.cgi?r+sara/&bid+0000055E&tsn+0000055E&bts+2022/01/05%2018%3A26%3A31&


>リセットCSS

おすすめのリセットCSS
https://qumeru.com/magazine/70

>destyle.css
>destryle.cssはリセットCSSの中でもかなり強力にブラウザのデフォルトCSSをリセットします。下記の使い方のサンプルコードを見てもらえると分かるかと思いますが、ほとんどのタグの見た目が同じ見た目になります。
>ブラウザのデフォルトCSSを無効化し、それに頼らずCSSを1から書いていきたいという方におすすめのリセットCSSです。

>ress
>ressはリセットCSSとノーマライズCSSのいい部分を混ぜた特徴を持っています。ノーマライズCSSのやりにくい余白の調整がやりやすかったり、レスポンシブデザインで書きやすかったりなど、モダンな開発環境に気の利いた設計がされています。

>reboot.css
>reboot.cssはBootstrapで利用されているリセットCSSです。Bootstrapを利用している方は自動で使う形になりますが、Bootstrapを利用していない方でもリセットCSSのみを切り出して利用することも出来ます。

>HTML5 Doctor Reset CSS
>Eric Meyer’s “Reset CSS”という一番有名なリセットCSSをベースに更に、HTM5のタグに対応させたプロジェクトです。
>HTML5 Doctor Reset CSS自体は更新が古いですが、使われているリセットCSSは一般的に使うであろうタグを網羅しており現場でも十分使えるレベルです。


<Number>: [00000051]  <Date>: 2022/01/26 09:44:39
<Title>: 実用的なWebページ(2):ユーザー・フレンドリー(所謂 リキッド・レイアウト)の注意点
<Name>: amanojaku@管理人



まず 絶対単位は使ってはダメです、また vh(vmin、vmaxなども)を使っている場合、「スマホ、タブレト」でソフトウェア・キーボードを表示すると、ソフトウェア・キーボードが表示された分、viewport領域が縮小されレイアウトが崩れる可能性があるので相対単位でも「vh、vmin、vmax」は注意が必用です(viewport領域が縮小されもレイアウトが崩れないなら単位に「vh、vmin、vmax」を使っても良いです)。

下記は、ユーザー・フレンドリーの話なので、ピクセル・パーフェクトなら基本的に考慮しなくても良いです。

ブラウザの横サイズの変更に応じて、場合によってはレイアウトが想定の範囲内で崩れるように設計しなければなりません。

フォントサイズの変更に応じて、場合によってはレイアウトが想定の範囲内で崩れるように設計しなければなりません。
※ユーザーは自分が見やすいように(ブラウザの設定で)フォント・サイズを設定しています(当然、目が悪い人は大きめにしています)ので、ユーザーによるフォント・サイズの設定を想定する必要が有ります。

フォントサイズの変更でテキスト表示が阻害されてはなりません。
下記は とある"実在"するサイトで、(ブラウザの設定の)フォント・サイズの変更に対応できていない"実例"です。

実用的なWebページ(3)
http://ashtarte.pa.land.to/utf8/smt.cgi?r+twilight/&bid+00000037&tsn+00000058&bts+2021/03/21%2013%3A55%3A19&

画像のサイズがネックになります。
画像のサイズの設定を簡単に対処したい場合は、手抜きには なりますが画像のサイズをremで設定すれば簡単に対応できます(デメリットとしてフォント・サイズと連動してしまいます)。
(チョッピリJavaScriptが必用になりますが)本気でやるなら画像のサイズをディスプレイ解像度から算出すると良いでしょう。


初心者の場合は要素の横サイズは%が推奨されます。
どうしても%が気に食わないならvwで指定すれば良いでしょうが、100vwは「bodyタグのデフォルトmargin、スクロールバーの幅」は一切 考慮されてない問題があります(つまり「bodyのデフォルトmargin、スクロールバーの幅」のサイズを引いて計算しなければなりません)。
スクロールバーの幅を引きたい場合は、スクロールバーを自分でカスタマイズすれば、実際の表示領域を算出できるでしょう(又はJavaScriptで算出するか)。
要素には「box-sizing:border-box」を指定したほうが分かりやすいかもしれません。
なお フォント・サイズはemよりもremが推奨されます。
画像の横サイズをPC版と同じ値(「%、vw」など)で指定すると、当然 縦画面(タブレット、スマホ)では画像が見づらくなってしまいます。
なお、縦サイズも確定しているならobject-fitを使うことで、柔軟な設定が可能です(下記参照)。
キッチリやりたい場合はワイヤー・フレーム(横画面、縦画面)の各レイアウトを元にサイズ(相対単位)を算出しなければなりません、通常 widthの相対単位で計算するので、そうすると当然 ブラウザのウインドウ幅に連動します。
(それは あくまでもユーザー・フレンドリーの話なので)ピクセル・パーフェクトなら、単にメディアクエリで縦画面と横画面で、設定値を変えれば良いだけです。

1行追加でOK!CSSだけで画像をトリミングできる「object-fit」プロパティー
https://www.webcreatorbox.com/tech/object-fit

(PC用の)ブラウザの横幅の変更に対し、レイアウトも動的に変化する、リキッド・デザイン(リキッド・レイアウト)と言う手法が提唱されています(つまり ここで言っているユーザー・フレンドリーのこと)。
※ブラウザの横幅が更に狭くなりすぎたら、スマホ用の縦画面のレイアウトに変更されたりします。
※要素の幅が外因性サイジングなら「CSS Grid」レイアウトの「grid-template-columns」で「repeat()」関数(「auto-fit、auto-fill」などを指定)を使えば自動的にレイアウトが崩れるGridが可能です(「内因性サイジング、フレキシブル・サイジング(fr単位)」では正常に横方向に並ばないようです)。
なお、フレキシブル・サイジング(fr単位)は直になら「grid-template-columns」で使用可能です。
また「justify-content」の「space-evenly、space-around、space-between、flex-start、center、flex-end」などで横方向の配置パターンを指定できます。
その場合はcolumn-gapにより列の間隔の最小値を指定できるようです(gapなら行・列の両方の間隔を指定可能)。

リキッドレイアウトと代替レイアウト | CC、CS6
https://helpx.adobe.com/jp/indesign/using/alternate-layouts-liquid-layouts.html

「要素、border、margin、padding」の各サイズをvwなどで設定すると、当然 ブラウザのウインドウ幅に連動します。
もし ユーザーが意地悪くブラウザのウインドウ幅を どんどん小さくしてしまうと、(レスポンシブ用などの)メディアクエリも効きますし、当然 それらも連動します。
(ユーザーの)ブラウザのウインドウ幅の変更で、当然 メディアクエリが効いて欲しい部分もあるでしょうが、メディアクエリが効いて欲しくない部分も有り得ます。
(通常 そこまで考慮しなくても良いですが)もし ブラウザのウインドウ幅に連動させたくない部分はチョッピリ JavaScriptが必要になります、ただし そうするとレイアウトが崩れる可能性があるので、想定の範囲内でレイアウトが崩れるように設計する必要があります。

CSS の値と単位
https://developer.mozilla.org/ja/docs/Learn/CSS/Building_blocks/Values_and_units

フォント・サイズ系単位(remなど)は、解像度と因果関係が薄いので、フォント・サイズ系単位(remなど)を使う場合はレイアウトが崩れる可能性を考慮し、想定の範囲内でレイアウトが崩れるように設計する必要があります。
又は 要素の内部にテキストがあり、その要素が内因性サイジングでサイズが決定される場合も同様です。

HTML5ではbodyタグ直下またはbodyタグのheight値を継承している要素の子要素はheightの%指定が効かないと言う問題点があるので、%指定を使用する場合には、それを考慮して使わなければなりません(親要素にheight値が存在するなら、当然 その縦サイズは子孫要素に影響します)。
また、自要素サイズを%指定にすると、レイアウトの崩れなどで親要素がリサイズすると、自要素も それに合わせてリサイズすると言う問題があります(想定の範囲内のリサイズなら問題ないでしょうが)。
とりあえず、レイアウトが崩れても親要素の横サイズはリサイズしないように設計しておけば良いでしょう。
ただし、親要素の横サイズをリサイズしない設計にしたとしても、(レイアウトが崩れると想定した場合)親要素の縦サイズはリサイズするだろうと想定されるので、自要素の縦サイズは%指定を使用してはならない(ただし、レイアウトが崩れないと想定されるなら、自要素の縦サイズに%指定を使用しても問題は無い)。
もし、自要素の横サイズを文字列長に合わせたい場合は、%指定を使用してはならない(その場合は、通常 テキストも改行しない設定にする)。

ちなみに、「CSSフレックスボックス、CSSグリッド」では要素の横幅をブラウザ画面の割合で指定可能です。
「CSSフレックスボックス」「CSSグリッド」でググって下さい。

もし、実際にWebページを作る場合は、(いきなり難しいことを やろうとしても実現は困難なので)勉強の初めとして、その「チンチロリン」程度の単純なレイアウトか、又は もっと簡単なレイアウトから初めても良いです。
例えば、要素を2つ作って、要素内には必ずテキストを入れ、PCとスマホでレイアウトを変化させるモノを作ってみると良いでしょう。

それで各解像度に対応可能か、又 ブラウザ側でのフォント・サイズの変更に要素サイズが動的に追随可能かチェックしてみると良いでしょう。
なお デフォルトのフォント・サイズ以下にしたり、固定(絶対単位の指定)にしたりするとユーザビリティが著しく低下する可能性があるので注意が必要です(デフォルトのフォント・サイズより大きくするなら問題ない)。


<Number>: [00000058]  <Date>: 2021/11/26 14:59:34
<Title>: 実用的なWebページ(3):ユーザー・フレンドリー「フォント・サイズ変更による影響(フォント表示への阻害)」
<Name>: amanojaku@管理人



下記は、ユーザー・フレンドリーの話なので、ピクセル・パーフェクトなら基本的には考慮しなくても良いです(もちろん、考慮しても良いですが)。

ユーザーは自分が見やすいように(ブラウザの設定で)フォント・サイズを設定しています(当然、目が悪い人は大きめにしています)のでデフォルトのフォント・サイズ以下にしたり、固定(絶対単位の指定)にしたりするとユーザビリティが著しく低下する可能性があるので注意が必要です(デフォルトのフォント・サイズより大きくするなら問題ない)。
ユーザビリティが悪いと、(クローラのAIは)当然 ユーザー・フレンドリーでは無いと言う判定になるので、SEO的な評価は低くなります。

注意点として、文字を囲む要素のサイズはユーザーのフォント・サイズの変更に応じて動的に変化させる必要が有ります。
下記は、ユーザー・フレンドリーの話なので、ピクセル・パーフェクトなら基本的に考慮しなくても良いです(もちろん考慮しても良いですが)。

例えば(ブラウザの設定で)フォント・サイズを大きくした場合、ザックリと言うと文字列の長さに応じて横幅を伸ばすか、横幅を固定(相対単位による固定)するなら文字列を改行させて (その行数が入るように)縦を伸ばすかで対応しなければなりません。

下記・画像は とある"実在"するサイトで、(ブラウザの設定の)フォント・サイズの変更に対応できていない"実例"です。
「2番目、3番目」の画像はフォント・サイズの変更に対応できておらず、フォントの表示が阻害されています(当然 SEO的な評価は低くなります)。

1番目の画像は、横幅は固定しており文字列を改行させて (その行数が入るように)縦を伸ばしています。

2番目の画像は、要素より文字列が大きいために、要素から文字がハミ出てしまっています。

3番目の画像は、要素よりフォント・サイズが大きいために、フォントの下の部分が隠れてしまっています。

Block( Address 000002E4 Identity 00000037 )






ページの表示順:{ 新しい順/ 古い順}.
初期・ページの表示・位置:{ 先頭ページ/ 末尾ページ}.
1ページ内のスレッド表示数:

   
   

管理者用 Password:

  




SMT Version 8.022(+A) Release M6.
Author : amanojaku.