我正在尝试使用HTML和CSS构建自己的网站。我很困惑为什么使用CSS和HTML不适合我。
我的HTML文档中有以下代码块:
<body>
<div id="image">
<img src="header_photo.jpg" alt="" width="500" height="250"/></div>
<div id="h20" <p>Insert Overlay Text Here</p></div>
<h1> About Me</h1>
以下代码在我的CSS脚本中:
body {
font-size: 14px;
color: black;
background-color: #d0e4fe;
}
h1 {
color: white;
background-color: #009;
}
#image {
position: relative;
border-width: 5px;
}
#h20 {
color: red;
background-color: blue;
position: absolute;
}
如何将#h20文本叠加在图像顶部,由ID选择器指示,#image?目前的结果是图像,左对齐,下面有文字。我想用CSS来做这个而不是用HTML格式化,但我甚至无法获得我的照片边框。任何帮助表示赞赏。
编辑:我已更新我的脚本以包含上述编辑;但是,我的header_image仍然没有边框,文本覆盖了h1,“关于我”。我想知道我还有什么错误才能得到这些错误?谢谢你的帮助。
答案 0 :(得分:1)
有一些基本错误。首先,p元素的样式设置为color=red
无效。看看你的其他CSS,你应该能够轻松地告诉那里有什么问题。其次,所有CSS属性都必须具有单位值,例如px或em或者你有什么。您的border
财产没有这些。
最后,您需要了解定位的基本原理。默认情况下,图像是内联的,如文本。因此,后面的任何文本也将在一个行框中,就像一段文字。如果一行文本(图像本质上)后跟一个真实的文本行,你可以想象那里发生了什么。
所以,要实现重叠,你希望,&#34;定位&#34;是你需要学习的东西。
所有这些都涵盖了许多方面,使答案非常广泛。你需要在其他地方搞清楚。
答案 1 :(得分:0)
CSS和HTML中存在很多语法错误。尝试使用以下内容替换它们:
<强> HTML:强>
<body>
<div id="image">
<img src="header_photo.jpg" alt="" width="500" height="250"/>
<div id="h20"><p>Insert Overlay Text Here</p></div>
</div>
</body>
<强> CSS:强>
body {
font-size: 14px;
color: black;
background-color: #d0e4fe;
}
h1 {
color: white;
background-color: #009;
}
#image {
position: relative;
border-width: 5px;
}
#h20 {
color: red;
background-color: blue;
}
p {
color: red;
}
希望有所帮助。
答案 2 :(得分:0)
<div id="image">
必须关闭。 然后:
#h2{
position: absolute;
}
答案 3 :(得分:0)
在你的html中:你忘了关闭#image div导致一些麻烦
<body>
<div id="image">
<img src="header_photo.jpg" alt="" width="500" height="250"/>
<div id="h20">
<p>
Insert Overlay Text Here
</p>
</div>
在你的CSS中:很多小的语法错误,比如color=red
body {
font-size: 14px;
color: black;
background-color: #d0e4fe;
}
h1 {
color: #fff;
background-color:#009;
}
#image {
position: relative; // To position the div relatively in the body
border-width: 5px;
}
#h20 {
color: red;
background-color:blue;
position: absolute; // To position the image absolute depeding of parents postition
top:0;
}
p {
color:red;
}
这应该正常工作
答案 4 :(得分:0)
好的,我修改了你的代码,你犯了一些错误。我相信这是你正在寻找的叠加类型。编辑顶部和左侧值以调整其在#h20 id上的位置。如果您希望它具有更高的响应速度,您也可以将其更改为百分比值。如果你真的希望它具有响应能力,我推荐使用twitter-bootstrap .jumbotron。
body {
font-size: 14px;
color: black;
background-color: #d0e4fe;
}
h1 {
color: white;
background-color: #009;
}
#image {
position: relative;
border-width: 5px;
}
#h20 {
color: red;
position: absolute;
top: 50px;
left: 50px;
}
<body>
<div id="image"><img src="header_photo.jpg" alt="" width="500" height="250"/></div>
<div id="h20"> <p>Insert Overlay Text Here</p></div>
<h1>About Me</h1>
</body>