繁体   English   中英

在图像上带有CSS背景色的文本

[英]Text with Css background-color over image

我希望其中包含文本的div出现在图像上方。 您可以在此处(右)在右下角的联系人框中查看我要执行的操作: http//innerwestadv.com/odom/ 文本显示在图像上方,但背景颜色显示在图像下方。

这是HTML:

<div class="visible-all-devices ftr-widget">
<h2>Contact</h2>
<div class="textwidget">
    <p><a href="http://innerwestadv.com/odom/contact/"><img width="328" height="254" alt="map" src="http://innerwestadv.com/odom/wp-content/uploads/2015/05/map.jpg" class="aligncenter size-full wp-image-121"></a></p>
    <div class="contact-box">
      <h4>One Day One Million</h4>
      <p>(775)359-3000 x 129<br>
      985 Damonte Ranch Parkway<br>
      Suite 310<br>
      Reno, NV 89521
    </p>
</div>
</div>
</div> 

和CSS:

.contact-box {
    background-color: rgba(2, 54, 110, 0.8) !important;
    margin: -140px auto 0;
    padding: 10px;
    width: 80%;
}

如何使框显示在图像上方?

将.textwidget设置为相对位置,而不是在接触盒上设置负边距,而是将其绝对放置。 我不确定您为什么在背景颜色上具有!important的重要性,因为您不需要它。

.textwidget {
    position: relative
}

.contact-box {
    background-color: rgba(2, 54, 110, 0.8);
    position: absolute;
    padding: 10px;
    width: 80%;
    bottom: 0;
}

https://jsfiddle.net/kavzh6n5/

编辑:要使您的文本完全跨过图像的整个宽度,请在“ .textwidget”中添加“ display:inline-block”,并在“ .contact-box”中添加“ width:100%”。 在这里更新小提琴: https : //jsfiddle.net/kavzh6n5/1/

.contact-box {
  /* Add this */
  position: absolute;

  background-color: rgba(2, 54, 110, 0.8) !important;
  margin: -140px auto 0;
  padding: 10px;
  width: 80%;
}

使用绝对定位:

一,设定position:relative; 在父容器上:

div.textwidget {position:relative;}

接下来,将绝对定位放到框上(将它们添加到上面的样式中):

.contact-box {
    position:absolute;
    bottom:0;
    left:10px;
}

你需要使用

.textwidget{
    position:relative;
}

对于父级,则<p><div class="contact-box">可以具有

position:absolute;
top:0;
left:0;
width:100%;
height:100%;

那将是相对于父母的。 您还可以使用z-index确定顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM