无法获得文本响应并无法居中显示背景图片部分

时间:2018-07-11 19:08:42

标签: html css

嗨,我希望我的页面上有一个导航栏,然后在它的下面有一个带有背景图像的标题,然后在它的主要内容之下。我遇到的问题是,当我将文本放在标题部分的背景图片上时,我无法正确配置它以进行响应。 Fiddle

<style>
  header {
  background:
    linear-gradient(
      rgba(0, 0, 0, 0.5),
      rgba(0, 0, 0, 0.5)
    ),
    url('http://getwallpapers.com/wallpaper/full/6/3/b/920866-download-free-beautiful-background-pics-1920x1200-for-ios.jpg');
  background-size: cover;
  height: 75vh;
}

</style>

<header>
 <div class="topnav">
   <a class="active" href="#home">Home</a>
   <a href="#news">News</a>
   <a href="#contact">Contact</a>
   <a href="#about">About</a>
</div>

<div class='headertext'>
  <h1> Trying To Get This Text Responsive </h1> 
</div>

</header>

<main>
 Main Content Goes Here 
</main>

style.css

/* Add a black background color to the top navigation */
.topnav {
    background-color: #333;
    overflow: hidden;
}

/* Style the links inside the navigation bar */
.topnav a {
    float: left;
    color: #f2f2f2;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 17px;
}

/* Change the color of links on hover */
.topnav a:hover {
    background-color: #ddd;
    color: black;
}

/* Add a color to the active/current link */
.topnav a.active {
    background-color: #4CAF50;
    color: white;
}

3 个答案:

答案 0 :(得分:2)

h1默认情况下向左对齐。试试:

.headertext h1{
   text-align:center;
}

使其居中

答案 1 :(得分:0)

您是否尝试过使用<center>标签?它已过时,但可能有效。您可能想看看。至于需要响应的事物,请尝试使用“ onclick=func()”并为此编写脚本或“ <a href=func()>Responsive text</a>”。希望对您有所帮助,您可以随时提出任何疑问或其他问题。

答案 2 :(得分:0)

添加此CSS应该可以解决问题:

header {
  position: relative;
}
.headertext {
  top: 46px;
  height: calc(100% - 46px);
  width: 100%;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
}

提琴:https://jsfiddle.net/1fk4pxv5/

(还要注意,在.headertext DIV周围的小提琴代码中编辑过的HTML,其中包含了过多的h1。)