如何居中放置在图像上的文本

时间:2016-01-11 18:38:28

标签: html css twitter-bootstrap meteor

我有以下代码: HTML:

<div class="container-fluid">
            <div class="row css-logo-image">
                <a href="#">
                <div class="meteor_head">
                    <h1 class="meteor_heading">Meteor</h1>
                    <h3>Some text!</h3>
                 </div>
                  <img src="" class="landing-image imageMeteor" />
                </a>
             </div>
             <div class="row css-logo-image">
                 <a href="#">
                  <img src="" class="landing-image" />
                 </a>
             </div>
    </div>

CSS:

.meteor_head{
  position: absolute;
  z-index: 1;
  margin-left: 40vw;
}

.imageMeteor{
  position: relative;
  z-index: 0;
}
.meteor_heading{
    color: white;
    font-size: 100px !important;
    font-family: 'Exo 2', sans-serif;
}

.mainarea{
    padding-top: 0 !important;
}

如您所见,我正在尝试使用z-index在图像上显示文本。它有效,但唯一的问题是我不知道如何响应地居中文本。我尝试了很多东西,包括:

margin-left:40vw;

它只是拒绝工作。

3 个答案:

答案 0 :(得分:0)

如果你知道文字的高度/宽度,下面的技巧可以起作用:

.meteor_head{
  position: absolute;
  z-index: 1;
  width: 200px;
  height: 100px;
  top:50%;
  left:50;
  margin-top: -50px;
  margin-left: -100px;
}

基本上,你可以使用top / left 50%居中一个绝对元素,然后通过减少元素高度和宽度的一半来修复它...

答案 1 :(得分:0)

.meteor_head {
    position: absolute;
    z-index: 1;
    width: 100%;
}
.imageMeteor {
    position: relative;
    z-index: 0;
}
.meteor_heading {
    color: white;
    font-size: 100px !important;
    font-family: 'Exo 2', sans-serif;
    text-align: center;
}
h3 {
    text-align: center;
}
.mainarea {
    padding-top: 0 !important;
}

答案 2 :(得分:0)

尝试

* {
  box-sizing: border-box;
  font-family: sans-serif;
}

.container {
   position: relative;
   overflow: hidden;
}

img {
   width: 100%;
   opacity: .8;
} 

.centered-text {
   border-radius: 6px;
   padding: 0 6px;
   color: white;
   text-align: center;
   background-color: rgba(0, 0, 0, .4);
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   -moz-transform: translate(-50%, -50%);
   -o-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
}
<div class="container">
  <img src="https://parrot-tutorial.com/images/nature_autumn.jpg">
  <div class="centered-text">
    <h4>Centered</h4>
    <p>Lorem ipsum dolor sit amet.</p>
  </div>
</div>