2

現在、em 単位で Web ページをデザインしています。2 つの別々の span タグを margin-left で揃えようとしたときに問題が発生したため、思ったほど理解できていないのでしょう。それらはヘッダーの左上隅に配置されました。それらは、display:block を使用して互いの上に配置されました。margin-right を使用して両方のスパン タグを整列させたところ、大きいスパンと小さいタグが正しく整列しませんでした。margin-right に同じ番号を使用しましたが、それでもめちゃくちゃでした。

  • これは私がemを使用しているからですか?
  • どうすればこれを修正できますか?

私が使用しているコードを以下に貼り付けますので、私が何を扱っているかがわかります。うまくいけば、私はこれを十分に説明しました。

HTML

    <div class="header1">
      <span class="title">Title goes here</span>
      <span class="subtitle">This is the subtitle</span>
    </div>

CSS

body {
    color: #333;
    font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;
    font-size: 62.5%; /* 10px */
    line-height: 1.28;
}
.main1 {
  width: 96em;
  /* horizontally center the website layout */
  margin: 0 auto; margin-top: .8em;
  text-Align: left; /* override body {text-align:center} */
}
div.header1 {
  clear: both;
  width: 100%;
  height: 9em;
  background: #ff0000;
  color: #fff;
}
.title {
  font: small-caps 700 3.7em "Goudy Old Style", Garamond, "Big Caslon", "Times New Roman", serif;
}
.subtitle {
  font-weight: lighter;
  font-size: 1.4em;
}
4

3 に答える 3

2

問題の説明は非常に紛らわしく、何を達成したいのか、そのための最善の試みは何かを説明していません。左マージンと右マージンを参照していますが、説明した要素のコードではどちらも設定されていません。設定を参照していますdisplay: blockが、そのような設定はありません。

メイン タイトルを (xy 平面で) サブタイトルの上に表示することを想定しています。このためには、マークアップを設定するdisplay: blockか、div代わりにマークアップを使用するspanか、または、適切な見出しマークアップなどを使用h1h2、垂直マージンとフォントの太さに対するデフォルトの影響を十分に考慮して使用する必要があります (つまり、必要に応じて CSS でそれらをオーバーライドします)。そして、あなたはそれらを同じ量だけ左揃えにしたいと思っていたと思います。

em単位の相対性を考慮していないようですね。font-size定義上、要素のフォント サイズと等しくなります (親要素のフォント サイズと等しいを除く)。

spanなどの同じ値を使用して、両方の要素の左マージンを設定しようとしたと思われます1ememただし、サイズが異なるため、両方の要素が同じというわけではありません。左マージンを、たとえば最初の要素のフォント サイズに設定する場合は、次のように設定します。

.title { margin-left: 1em; }
.subtitle { margin-left: 2.6429em; }

数字2.6429はフォントサイズの比率で、3.7/1.4 から計算されます。

div囲んでいる要素に左マージンを設定する方が簡単です。そのフォント サイズはbody要素のフォント サイズに等しいため、メインの見出しのフォント サイズに設定する場合は、

div.header1 { margin-left: 3.7em; }
于 2012-12-01T08:40:52.220 に答える
0

px:ピクセル (コンピューター画面上のドット)

em: 1em は現在のフォント サイズと同じです。2em は、現在のフォントのサイズの 2 倍を意味します。たとえば、要素が 12 pt のフォントで表示される場合、「2em」は 24 pt です。「em」は、読者が使用するフォントに自動的に適応できるため、CSS で非常に便利な単位です。

参照を参照してください

pxそのため、代わりにを使用できます。これemは良い習慣です。

それがあなたを助けることを願っています。ありがとう。!!

于 2012-12-01T06:55:02.017 に答える
0

以下のリンクを確認してください。これがお役に立てば幸いです

http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/

于 2012-12-01T06:04:58.097 に答える