コメント投稿者アイコンのズレを修正しました。

私のブログは基本『徒然日記』故に難しいwebの話は他所にお任せ(他力本願)なのですが、自作共有化しているテンプレートで「あれ?」を見付けてしまったら見過ごす事は出来ません。(← 当たり前ですね。^^;)
修正・更新記事ばかりで申し訳無いのですが、本日テンプレートを更新させて頂きました。m(__)m

  1. コメント投稿者のアイコン表示が場合によってズレてしまう。
  2. 最近のブレークポイントを元にスマートフォン用メディアクエリを修正。

1 ) コメント投稿者のアイコン表示が場合によってズレてしまう。

これに気付いたのは、最近 iPhone12mini に機種変更して自身のブログを表示してみた事によります。
前機種(iPhoneSE)はSIMを抜いただけなので自宅Wi-Fiでネットに繋がるため確認してみると(下記画像を参照)

コメントアイコンのズレ1

↑何のズレも無く表示されているのに
iPhone12mini ではガクリとコメント者のアイコンがズレ落ちているという。(-_-;)(下 左画像)
しかしこのアイコン、自動ロック(スリープ)から復帰すると同ページ内ではズレが直り(下 右画像)、ページ移動やページ更新でズレが再発する現象を確認。(下 左画像(~_~;))

コメントアイコンのズレ2 コメントアイコンのズレ3

管理者のアイコンも、カスタマイズによる訪問者コメントのユーザーアイコンもズレてしまいます。

この2台の違いは(iPhoneの機種という事を除いて)iOSのバージョンが違うという事。
(iPhoneSE=14.4.2、iPhone12mini=14.5.1)
iPhone12mini は現時点でバージョンダウンが既に出来ないようなのでこれが原因かどうかは分からないですが、どちらの場合でもキチンと表示されるように調整しなければいけません。
ただ、このズレが起こるのはテンプレート名『genial, serene, youth』という事も判明。

何故『genial, serene, youth』に起こって『home, sunny』に起こらないのか?
思い付いたのは「user-icon部分に文字(特殊文字)を使っているかどうか」では?と推測。

『genial, serene, youth』で使っている『❦』はハートで変換できる文字です。これとは異なり『home, sunny』ではPNG画像をBase64文字列にエンコードしたものを背景として使っています。
この user-icon という部分に author-icon というclassを重ねる事で投稿者のアイコンが表示される仕組みになっているのですが、親要素であるclass user-icon に文字(インライン要素)が使われているため、上に重なるclass author-icon の position:absolute が影響されていると思われます。
(検証してみましたら、ct_resp, al_resp, ryo, candy, green, lace-al, lace-dc ではアイコンのズレを確認できませんでした。『❦』使っているのに何故?という感じです。)

説明が難しいので、詳しい解説は下記をご覧下さい。m(__)m

position:absolute は位置指定をしていないと親要素の影響で思わぬ動きをするときがある、という話 - わたしと納豆ごはん

position:absolute は位置指定をしていないと親要素の影響で思わぬ動きをするときがある、という話 - わたしと納豆ごはん

CSSのposition:relativeとposition:absoluteを使ったデザインがありますが、意外と子要素にposition:absoluteを指定していても、親要素のtext-alignやvertical-alignなどの影響を受けるときがある、といった話です。

結果、上記の記事に有るように「位置を指定するプロパティを設定するのが確実だ」という事で、位置指定のプロパティを使ってキチンと位置を指定する修正を全テンプレートで致しました。

修正箇所と内容は、スタイルシート内のclass名
.user-icon に position:relative; 、.author-icon に top:0; left:0; を記述致しました。
2021/05/25 更新日以前のテンプレートを修正する場合は、スタイルシート編集枠内の一番下に

.user-icon{
  position:relative;
}
.author-icon{
  top:0;
  left:0;
}

と入れて更新して下さい。お手数をお掛け致します。m(__)m

【 追記 2021/05/26 】
2021/05/24(米国時間)iOS ver.14.6 の配信が開始されたので26日にインストールして検証致しましたら、この度の修正を行わなくてもアイコンはズレませんでした。(ver.14.5.1のバグ?)ただ、修正自体は正しいものなので直しても無駄ではありません。m(__)m

2 ) 最近のブレークポイントを元にスマートフォン用メディアクエリを修正。

最近何やら大きいサイズのスマートフォンも出てきて、ブレイクポイント(メディアクエリを使ってCSSスタイルを切り替えるポイント)とする数値も年々大きくなって参りました。
私なんかは「片手で持ちやすくて重く無くて鞄のポケットに入るサイズ♪」などと極力小さいものを欲するのですが、世の中大きい方が売れてるようです。(iPhone12miniが不振らしいし。)

CSS メディアクエリのチートシート、モバイルファースト用、スマホ・タブレットのデバイス用のメディアクエリ

CSS メディアクエリのチートシート、モバイルファースト用、スマホ・タブレットのデバイス用のメディアクエリ

WebページでCSSのメディアクエリを使用する際にベースとなるメディアクエリ、モバイルファースト用のメディアクエリ、スマホ・タブレットの主要デバイス用のメディアクエリのチートシートをまとめました。 C

スマートフォンの場合、最近は横480pxと掲載している所が多いようなので、この度の更新時に修正を致しました。
下記テンプレートのメディアクエリ (max-width: 〇px) となっているものを全て (max-width: 480px) に改めています。
テンプレートのスタイルシートを修正する場合は、キーボードのCtrlキー+Fキーで検索窓を出し、その中に (max-width: 430px) 若しくは (max-width:430px) 等を入れて箇所を見付け、数値を480pxに変えて下さい。
(↑ :と値の間にスペースが無いものも有るので、430や420 等の数値で検索するのも可。)

(max-width: 480px) に修正したメディアクエリ
sunny_resp2c (max-width: 430px)
home_resp2c,3c (max-width: 430px)
youth_resp2c,3c (max-width: 430px) と (max-width: 415px)
genial_resp2c,3c (max-width: 430px) と (max-width: 420px)
serene_resp2c,3c (max-width: 430px)
ct_responsive2c,3c (max-width:430px)
al_responsive2c,3c (max-width: 430px) と (max-width: 400px)
candy,green-2c,3c (max-width: 430px)
lace-al2,al3 (max-width: 430px) と (max-width: 400px)
lace-d2c,d3c (max-width: 430px) と (max-width: 400px)
dt21_ryo,ryo_2c (max-width: 430px)

修正しなくても大きな崩れは無いと思いますが、もし表示がおかしい場合は上記のようにお願い致します。
(因みに iPhone12ProMax で6.7インチ、428×926です。)

Comments

No Subject

私が利用させていただいている[ct_responsive3c]は外れているようでやれやれです.笑

別件ですが教えてください。
下図のように、行の途中の記述で、勝手に行が変えられる事例が散見します。
https://f.hatena.ne.jp/nonn888/20210524192931
当該記事のURL
https://nono634.blog.fc2.com/blog-entry-5158.html
この事は、以前利用していたlivedoorブログでは起こっていました。
簡単な回避策が有りましたら教えてください。それとも、これが普通なのでしょうか
2021-05-25-08:37 呑兵衛あな
[ 返信 * 編集 ]
aki

Re: 呑兵衛あな 様へ

こんにちは。コメント有難うございます。
先程「投稿者アイコンがズレていないか」をiOS ver.14.5.1で確認してみましたが 大丈夫なようですね。
もし不安をお感じの場合はスタイルシートの一番下に
.user-icon{
position:relative;
}
.author-icon{
top:0;
left:0;
}
を入れて下さい。m(__)m

-----
ご質問の件です。
画像のようになるのは「領域内での長い単語やURL等の折り返しを制御するCSS」によってのものです。故に正しい表示です。
記事内の「C:\Program Files (x86)」を一文として見ているため、前の文章に繋がなかったのだと思います。でないと変な所で改行されますから。

折り返しを制御するCSS3のプロパティは2つ有り、

① word-break:break-all;(その他の値normal, keep-all)
② word-wrap:break-word;
  overflow-wrap:break-word;(その他の値normal)

①番は「一切の禁則処理が解除されるため、好ましくない位置で単語を折り返してしまう場合が有る」ので使用は非推奨らしく、②番は「単語の途中で折り返さないと行ボックスの幅からあふれてしまう時のみ、その単語の途中で折り返す」という表示をします。
単語の途中に折り返しを基本的に入れない欧文文字列は、「単語」や「スペース」等で区切られた所での改行でないと意味の通じないものが出てきますので、当方のテンプレートでは②番をCSS内に記述しています。
(↓下記を body に入れています。)
word-wrap: break-word;
overflow-wrap: break-word;

(word-wrapとoverflow-wrapの併記は、CSS3仕様案でword-wrapからoverflow-wrapへと改称されたためで、古いブラウザはサポートされていない場合も有り一緒に記載する事が望ましいそうです。)

図解付きで分かり易いサイトです。
https://web.hazu.jp/overflow-wrap-word-break/
ご参考になさって下さい。m(__)m
2021-05-25-14:26 aki
[ 返信 * 編集 ]

Re: aki 様へ

ありがとうございました。
2021-05-25-17:33 呑兵衛あな
[ 返信 * 編集 ]
aki

Re: 呑兵衛あな 様へ

はい。ご理解頂ければ何よりです。(^^)
2021-05-25-21:57 aki
[ 返信 * 編集 ]





非公開コメント