【问题标题】:text inside an art frame艺术框架内的文字
【发布时间】:2012-12-20 08:26:42
【问题描述】:

我在这里感到沮丧,试图让我的 div 正确排列!我正在尝试将我的文本放在艺术框架的图像中。 html是:

<div id="frame">
<div id="songtext">
<p>lorem ipsum dolor...</p>
</div>
</div>

CSS 是:

#frame {
background:url(images/gold-frame-trans-bg.png) no-repeat; 
margin-left:auto;
margin-right:auto;
margin-top:0px;
width:650px;
height:750px;
}

#songtext {
width:336px;
height:410px;
margin-left:auto;
margin-right:auto;
margin-top:140px; 
overflow:auto;
}

当我这样做时,图像的顶部与文本的顶部对齐,在屏幕顶部下方 140 像素处。但如果我改变 #songtext {margin-top:140px;} 至 #songtext {padding-top:140px;) 文本显示在正确的位置,但滚动条仍然从页面顶部开始,打断了图像。当我向上滚动时,文本会滚动到图像上,而不是看起来隐藏在它下面。 (这有意义吗?) 如果您希望直观地看到它,请查看以下页面: http://studentaccess.emporia.edu/~asmith40/AVAwebsite/seemsimpossible.html

【问题讨论】:

  • 实际高度 = 高度属性 + 内边距 + 边框,所以内边距使 #songtext 高出 140 像素。

标签: css image background border margin


【解决方案1】:

你可以这样做:

#songtext {
 height: 410px;
 margin-left: 160px(or similar);
 margin-right: auto;
 margin-top: 140px;
 overflow: auto;
 position: absolute;
 width: 336px;

}

【讨论】:

  • 太棒了,解决了它。所以现在我知道“位置:绝对”会使自动居中命令无效,当您将“左边距”和“右边距”设置为“自动”时,该命令通常有效。所以在这种情况下,我需要容器 div 不仅要保存背景图片,还要充当居中元素,这样所有内容都会自动保持在页面中心。
  • 我不是 100% 确定,但在我看来,你可以只用一个 DIV 来做到这一点。但这是未来的专业任务;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-17
  • 1970-01-01
  • 2013-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多