首先,我想向您展示一幅图像(用油漆制作)。
好的“当前”就是我现在所拥有的。我想在右边的图像上放一个方框,背景为黑色,然后在这个方框内放置文字。
我尝试使用z-index等,但没有任何成功。这是我试过的:
<div> <!-- start div for image -->
<img style="z-index: -1;" src="1.jpg" width="860" height="240"> <!-- the image -->
</div> <!-- end div -->
<div style="z-index: 1; width: 300px; background: #000; position: relative;">
<div style="margin: auto;">
text text text
</div>
</div>
但这并没有任何好处。我怎么能这样做?
答案 0 :(得分:10)
这样的东西?
HTML:
<div id="wrap">
<img src="http://jsfiddle.net/img/logo.png" />
<div id="text">text</div>
</div>
CSS
#wrap {
position:relative; /* make this relative to have the inner div absolute without breaking out */
width: 200px; /* fix the width or else it'll be the entire page's width */
background: silver;
border: 1px solid grey
}
#text {
position: absolute;
width: 40px;
right: 0;
top: 0;
bottom: 0;
background: black;
color:white
}
答案 1 :(得分:5)
对于这样一个简单的问题,您的代码很乱并且过于复杂,只需使用两个元素就可以简化它。越简单越好。
请指明您是否需要<img>
标记。
HTML:
<div id="golf_course">
<div class="text_wrap_right">
text text text text
</div>
</div>
CSS:
#golf_course
{
background-image: url(http://ww1.prweb.com/prfiles/2006/12/13/491548/ThaiGolfCourse.JPG);
background-position: 0 -200px;
width: 900px;
height: 259px;
border: 5px solid #000;
}
.text_wrap_right
{
width: 300px;
height: 100%;
float: right;
background: #000;
color: #fff;
border-left: 2px solid #000;
}
答案 2 :(得分:1)
我更喜欢简单且更具语义性的HTML5解决方案
HTML:
<figure>
<img src="..." />
<figcaption>text text text ... </figcaption>
</figure>
CSS:
figure {
position : relative;
z-index : 1;
width : 860px;
height : 240px;
}
figcaption {
position : absolute;
z-index : 1;
top : 0;
right : 0;
width : 200px;
height : 240px;
background : #000;
}
答案 3 :(得分:0)
使用position:absolute
重叠2个div。您必须使用left
和top
属性来调整其位置。
<div style="position:absolute"> <!-- start div for image -->
<img style="z-index: -1;" src="1.jpg" width="860" height="240"> <!-- the image -->
</div> <!-- end div -->
<div style="position:absolute; z-index: 1; width: 300px; background: #000; position: relative; left:3%; top:85%">
<div style="margin: auto;">text text text</div>
</div>
答案 4 :(得分:0)
您需要将该文本div放在包含图像的div中..然后将顶部和右侧设置为0px并定位绝对值。从这里获取一些提示:http://jsfiddle.net/U25XQ/1/
答案 5 :(得分:0)
以下示例说明了如何执行此操作,如果不是您的意思,请告诉我:Example。
答案 6 :(得分:0)
z-index
仅适用于定位元素(position: (absolute|fixed|relative)
)。所以你必须定位你的元素。例如
<div style="position: relative;">
<div style="position: absolute; top: 0; left: 0; z-index: 0; height: 100px; width: 300px;">
<img src="http://w3schools.com/images/w3cert.gif" />
</div>
<div style="z-index: 1; width: 200px; background: #000; position: absolute; left: 100px; color: #fff;">
<div style="margin: auto;">text text text</div>
</div>
</div>
应该有用。
答案 7 :(得分:0)
为了在图像上书写文字,你可以将图像放在背景样式中,然后像这样使用alt文本 -
<img scr="" alt="text"/>
<style>
.img{background-image:url('IMAGE_URL'); }
</style>