垂直グリッドと漸進的な行間隔の例

垂直グリッドと漸進的な行間隔の例

新しい質問

急いで来て、急いで行ってください。 「垂直グリッドとプログレッシブ行間隔 (パート 1)」の前回のリリースから 2 か月以上が経過しました。一方、前回の結果を見てみましょう。はぁ?サイドベットが少し奇妙に感じられるのはなぜでしょうか?


(デモ6.html)

または、タイポグラフィに関する私の記事を参照してください。

  • 中国のインターネットで最もよく使われる行間隔は約1.5です。
  • 行の長さが長くなるほど、行間隔を大きくする必要があります。(行間隔が小さすぎると、読者は簡単にテキストを連続して読んでしまいます。行間隔が大きすぎると、読者は行を読むときにテキストが連続していないと感じてしまいます。)

欄外注のフォントサイズが 12 ピクセルの場合、行の高さが 24 ピクセルでは明らかに大きすぎるようです。しかし、前回の方法によれば、縦のリズムは欄外注の行間隔と本文の行間隔が一致している必要がある。したがって、垂直のリズムを維持するためには、両側の行間隔を同時に狭めるしかありません。要約: 信頼性がありません。では、確立した垂直のリズムが効果的になるように、余白の行間隔をどのように調整すればよいのでしょうか?このため、漸進的な行間隔を導入する必要があります。

漸進的な行間隔

一般的に、漸進的な行間隔は、厳格な垂直リズムを補完するものです。垂直リズムでは、欄外の注釈が本文の各行に揃う必要があります。対照的に、漸進的な行間隔では、欄外の注釈もメインのテキストと揃えることができますが、すべての行ではなく、数行ごとに揃える必要があります。一般的には、4 行または 5 行ごとに配置が行われます。前の記事を見直して、この記事の冒頭の例には次の「構成」があることを確認しましょう。

  • 本文: フォントサイズ 14px、行間隔 24px、段落間隔 24px
  • h1: フォントサイズ 24px、行間隔 24px、段落間隔 24px、段落間隔 24px
  • h2: フォントサイズ: 18px、行間隔 24px、段落間隔 12px、段落間隔 12px
  • 注記テキスト: フォントサイズ 12px、行間隔 24px、段落間隔 24px
  • 注記: 境界線の太さは 1px、パディングは 11px です。12px 上に移動することを忘れないでください。

欄外注の行間隔と段落間隔を18pxに変更します。すると状況は次のようになります:


(デモ9.html)

最初の行のベースラインが揃っていないのはなぜかお気づきでしょうか?これは、フロー レイアウトでは、行の高さに応じてテキスト ブロックが上部に揃えられるためです。以下のように表示されます。

したがって、ここでは、最初の行のベースラインを揃えるために、マージンを特定のピクセル数だけ下げる必要もあります。残念ながら、何ピクセル減らせばいいのでしょうか? これは非常に複雑な問題です。何度か試してみましたが、まだパターンが見つかりません。次の 3 つの結論しか導き出せません。

  • 本文行の高さをh px、脚注行の高さをh' px、下げる値をd pxとすると、この値は1/2(hh') < d < (hh') の範囲になります。①
  • 行内に欧文文字(半角数字または英字)が含まれる場合、欧文文字がない場合と比べて行のベースラインが 1 ピクセルずれることがあります。
  • 異なるフォント レンダリング エンジンでは動作が一貫していない場合があります。
前のページ1 2 3 次のページ 続きを読む

<<:  HTML テーブルの使い方 (Web ページの視覚効果を表示する)

>>:  Remレイアウトを使用して適応性を実現する

推薦する

Webフロントエンド開発エンジニアが習得すべきコアスキル

Web フロントエンド開発に含まれる内容は、主に W3C 標準の構造、動作、パフォーマンスです。では...

Jenkins+tomcat の自動ホットデプロイメント/再起動と発生した問題の解決策 (推奨)

1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...

携帯電話番号の真ん中の4桁を隠すMySQL SQL文の方法

最初のクエリ テーブル構造 (sys_users): sys_users から * を選択します。最...

VMware 仮想マシンのインストール CentOS 8 (1905) システム チュートリアル ダイアグラム

世界的に有名な仮想マシン ソフトウェア VMware-workstation-full-15.5.0...

WeChatアプレットはキャンバスを使用して時計を描画します

この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...

Dockerコンテナのエクスポートとインポートの例

目次DockerコンテナのエクスポートDockerコンテナのインポ​​ートこの記事では主に、コンテナ...

Webpack での publicPath の使用法の詳細な説明

目次出力出力パス出力.publicPath webpack-dev-server の publicP...

jQueryはフォーム検証機能を実装します

jQuery フォーム検証の例 / ユーザー名、パスワード、住所、電子メールの検証を含む下記の通り ...

MySQLクエリ最適化プロセスを理解する

目次パーサーとプリプロセッサクエリオプティマイザーMySQL クエリの最適化には、解析、前処理、最適...

MySQL 8.0 WITH クエリの詳細

目次MySQL 8 の WITH クエリについて学ぶ1. 例3. 練習するMySQL 8 の WIT...

MySQL でタイムゾーンを表示および変更する方法

今日、プログラムが間違った時刻を挿入し、フィールドがデフォルト値 CURRENT_TIMESTAMP...

JSで実現したページサイドバーの効果に関する研究

目次発見: ディスプレイアニメーションの応用実装:記事の1行目を表示する効果を実現する方法実際、その...

ズームインとズームアウトの閉じるボタンを実現する CSS (サンプル コード)

この効果はブラウザ ページで最もよく見られます。まずは効果の画像をご覧ください。 上の図に示すように...

MySQL 8.0.20 のインストールと設定方法のグラフィックチュートリアル

MySQLのダウンロードとインストール(バージョン8.0.20)のチュートリアルは参考までに、具体的...

ユーザーエクスペリエンスの76の経験ポイントの要約

ウェブサイト体験の分類1. 感覚体験:快適性を重視した視聴覚体験をユーザーに提供します。 2. イン...