1

ページのベースライン グリッドを設定しようとしていますが、フォント スケールを設定すると、テキストがベースライン グリッドに収まりません。

私が間違っていることは何ですか?問題はフォントスケールに関連していますか?

これがフィドルです:http://jsfiddle.net/3stut/

コードは次のとおりです。

HTML

<body>

  <h1>Your Name</h1>
  <h2>Your Name</h2>
  <h3>Your Name</h3>
  <h4>Your Name</h4>
  <h5>Your Name</h5>
  <h6>Your Name</h6>
  <p>Paragraph</p>

</body>

CSS

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { 
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset, img {
  border: 0;
}
address, caption, cite, dfn, th, var {
   font-style: normal;
   font-weight: normal;
}
caption, th {
  text-align: left;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before, q:after {
  content: '';
}
abbr, acronym {
  border: 0;
}

h1,h2,h3,h4,h5,h6,hgroup,ul,ol,dd,p,figure,pre,table,fieldset,hr,.header,.media,.island{
margin-bottom:1.5rem;
}


html {
  font:1em/1.5 Cambria, Georgia, "Times New Roman", Times, serif;
  background: url(http://media.smashingmagazine.com/wp-content/uploads/technical-type/img/css/grid.png) center -6px repeat-y #fff;
  color: #333;
  width: 940px;
  padding: 0 10px;
  margin: 0 auto;
 }

body {
  width: 460px;
  margin: 0 auto;
  padding-top: 72px;
 }

h1 {font-size:48px;}
h2 {font-size:30px;}
h3 {font-size:24px;}
h4 {font-size:21px;}
h5 {font-size:18px;}
h6 {font-size:16px;}
4

2 に答える 2

2

「ベースライン グリッド」がタイポグラフィで伝統的に意味するものを意味する場合、コードは実際にはベースライン グリッドに設定しようとはしていません。このようなグリッドの場合、要素の高さの合計 (余白を含む) がグリッド ラインの高さの倍数であることを確認する必要があります。スタイル設定がないと、たとえば、見出しや画像はベースライン グリッドに収まりません。

ヘッダーについては、px ベースのサイズ変更アプローチとマージンをゼロに設定する CSS リセットを想定すると、次のようにすると、ヘッダーは基本的な要件を満たします。

* { font-size:16px; line-height: 18px; }
h1 {font-size:48px; line-height: 54px;}
h2 {font-size:30px; line-height: 36px; }
h3 {font-size:24px; line-height: 36px; }
h4 {font-size:21px; line-height: 36px; }
h5 {font-size:18px; }
h6 {font-size:16px; }

ここでは、すべての行の高さが 18px の整数倍です。行の高さを部分的に小さくして (各要素のフォント サイズまで、または少し下まで)、それに応じて上部マージンなどを追加することで、アプローチを変更できます。

これにより、見出しテキストのベースラインが別の列の通常のテキスト ベースラインと整列することはありません。フォントの下部とフォントのベースラインとの間の距離がわからないため、このような調整は CSS ではほとんど不可能です。1 つまたはいくつかのフォントのみを使用する場合、それらが利用可能であると予想される場合は、ベースラインが一致するように (相対的な配置などを使用して) 微調整することができます。ただし、重要な点は、通常のテキストのベースラインが一致することです。これは、上で概説したように要素の高さを設定することで実現できます。

于 2013-10-08T10:49:38.707 に答える
1

このような

デモ

CSS

h1 {font-size:48px; margin:0; padding:0;}
h2 {font-size:30px;  margin:0; padding:0;}
h3 {font-size:24px;  margin:0; padding:0;}
h4 {font-size:21px;  margin:0; padding:0;}
h5 {font-size:18px;  margin:0; padding:0;}
h6 {font-size:16px;  margin:0; padding:0;}

--

お気に入りthis?

デモ1


デモ2


デモ3

CSS

h1{
font-size:30px;
}
于 2013-10-08T10:10:28.957 に答える