html - 需要 CSS em 帮助

标签 html css

我目前正在设计一个带有 em 单位的网页。我想我并不像我想象的那样理解它,因为当我尝试将两个单独的跨度标签与左边缘对齐时发生了问题。它们被放置在我标题的左上角。使用 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;
}

最佳答案

问题的描述非常困惑,没有解释您想要实现的目标以及您对此的最佳尝试是什么。您引用了左边距和右边距,但它们都没有在您的代码中为所讨论的元素设置。您引用设置display: block,但没有这样的设置。

我假设您希望主标题显示在副标题上方(在 xy 平面中)。为此,您需要设置 display: block ,或者更好的是,使用 div 标记而不是 span ,或者最好使用足够的标题标记,例如h1h2 适当考虑它们对垂直边距和字体粗细的默认影响(即,如果需要,在 CSS 中覆盖它们)。我假设您希望它们左对齐相同的数量。

看来您没有考虑em单位的相对性。根据定义,它等于元素的字体大小(除了在 font-size 中,它等于父元素的字体大小)。

我怀疑您尝试使用相同的值(例如 1em)设置两个 span 元素的左边距。但这对于两个元素来说并不意味着相同,因为它们的 em 大小不同。如果您想将它们的左边距设置为第一个元素的字体大小,您可以设置

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

数字2.6429是字体大小的比率,根据3.7/1.4计算。

在封闭的 div 元素上设置左边距会更容易。它的字体大小等于 body 元素的字体大小,因此如果您想将其设置为主标题的字体大小,您可以使用

div.header1 { margin-left: 3.7em; }

关于html - 需要 CSS em 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13656878/

相关文章:

python - 正则表达式 Python 在样式标签之间删除(包括\n\r)

像 BluePrint/960gs 这样的 HTML5+CSS3 框架?

html - (X) 计算机可读格式的 HTML & CSS 定义描述

javascript - 无法从 android webview 内的网页进行语音通话

iphone - 列表项导航在 iPhone/iPad 上的 iOS 中的 Safari/Chrome 上不起作用

jquery - 同一页面上的多个模态

javascript - 编写 Connect 4 游戏。 checkWin() 无法正常工作。跳过第一列和最后一列

jquery - 将 Div 定位在窗口高度以下

javascript - 网页 : How to center right div for all screen sizes

javascript - 在 textarea 元素中对特定单词进行动态着色