英雄图像文本叠加在浏览器调整大小时移动

时间:2016-01-12 09:16:19

标签: html css zurb-foundation zurb-foundation-6

我在我的英雄形象上叠加了几个标题标签。当我调整浏览器大小时,文本叠加层会上下移动。关于如何在英雄形象中间修复文本的任何想法?

HTML:

    <!--Hero-->
<div id="heroimage">
    <div class="row">
        <div class="small-12 small-centered columns">
            <br>
            <div class="heroText">
                <h1>Adolfo Barreto</h1>
                <h4>Web Designer</h4>
            </div>
        </div>
    </div>  
</div>

的CSS:

    // Hero
 html, body, #heroimage{
   width:100%;
   height:100%;
 }

.heroText {

    text-align: center;
    color: white;
    margin-top: 50%;
    margin-bottom: 50%;
}

#heroimage{   

  background: url('/../assets/img/codeHero.0.jpg') center center; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

我的网址是:http://adolfobarreto.atwebpages.com

5 个答案:

答案 0 :(得分:2)

.heroText {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

答案 1 :(得分:1)

heroText class css调整为

.heroText {
text-align: center;
color: white;
margin-top: 10%;
margin-bottom: 50%;

}

答案 2 :(得分:1)

  

希望这可以帮助你:

根据您的查询,我已对其进行了测试,并尝试对位进行编码,以便对您有所帮助。

我做的是:

  

到您的小型12小中心列#34; DIV;我有   给它一个属性 position:relative;

     

另一个&#34; heroText&#34;我给它的属性为宽度:   100%;保证金最高:28%; ;这样可以修复您的文本,并可以在任何类型的浏览器和设备中查看。

我在桌面上试过,它运作良好。

<html>
<head>
    <title></title>
    <style type="text/css">
        .small-centered {
            /* Set the position only */
            position: relative;
        }
        .heroText {
            text-align: center;
            color: white;
            /* Added two lines only */
            width: 100%;
            margin-top: 28%;
        }
    </style>
</head>
    <body>
        <div id="heroimage">
        <div class="row">
            <div class="small-12 small-centered columns"> 
            <!-- Here in above given small-12 smaill-centered columns DIV , provide 1 CSS property that, " position: relative " that will set this div to its place to be aligned in a line. -->
                <br>
                <div class="heroText">
                <!-- Here in above given heroText DIV , provide 2 CSS property that, " width: 100%, marngin-top:28%; " this will fix up this child div and will set your texts written. -->
                    <h1>Adolfo Barreto</h1>
                    <h4>Web Designer</h4>
                </div>
            </div>
        </div>  
    </div>
    </body>
</html>

答案 3 :(得分:1)

我建议您使用显示表结构。

我认为你不需要这么复杂的结构,但保持原样:

.heroimage .row {
    display: table;
    height: 100%;
}

.heroimage .row .columns {
    display: table-cell;
    vertical-align: middle;
}

我会删除de <br>并清除.heroText边距

答案 4 :(得分:0)

这是解决方案:

#heroimage{
 position:relative;
 }
.heroText{
 position: absolute;
 top: 50%;
 width: 100%;
 }