/*General*/
@import url('https://fonts.googleapis.com/css?family=Oxygen');
.wrapper {
max-width: 630px;
margin: 0 auto;
}
/*Header*/
#header .navbar .navbar-header a {
color: white;
font-size: 25px;
font-family: 'Oxygen', sans-serif;
}
#header .navbar-inverse {
background-color: #2C3E50;
border-color: #2C3E50;
}
#header .navbar {
border-radius: 0;
}
#header .navbar-nav > li > a {
color:white;
}
#header .navbar {
margin-bottom: 0;
}
.nav.navbar-nav.navbar-right li a {
color: white;
}
/*Content*/
#content .content-content .responsive-image {
width: 100%;
background-size: 100% 100%;
z-index:0;
}
#content .content-content h1 {
font-family: 'Open Sans', sans-serif;
color: #2c3e50;
font-size: 50px;
font-weight: bold;
z-index: 2;
text-align: center;
}
/*Footer*/
/*Responsiveness*/
/*Desktop*/
@media screen and (min-width: 992px)
{
#content .content-content .responsive-image {
background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');
}
}
/*Tablet*/
@media screen and (min-width: 768px) and (max-width: 991px)
{
#content .content-content .responsive-image {
background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');
}
}
/*Mobile*/
@media screen and (max-width: 767px)
{
#content .content-content .responsive-image {
background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');
}
}
/*Custom*/
@media screen and (max-width: 574px)
{
#content .content-content .responsive-image {
background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');height:250px;
}
}
<!DOCTYPE html>
<html>
<head>
<title>Magic Gate</title>
<link rel="stylesheet" type="text/css" href="Custom.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div id="header">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Magic Gate</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#">Play</a>
</li>
<li>
<a href="#">Log Out</a>
</li>
</ul>
</div>
</div>
</nav>
</div>
<div id="content">
<div class="content-content">
<img src="https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg" class="responsive-image">
<div class="wrapper">
<h1>Welcome to Magic Gate</h1>
</div>
</div>
</div>
<div id="footer">
</div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</html>
我不想使用绝对定位,因为它会破坏横幅中心对象/控件的居中。你能帮我解决这个问题,不要将 img 更改为div 背景,除非它是响应式的,因为一切都是响应式的。我的目标是将 h1 文本居中放在横幅的中间。
在这里,就像你问的那样,我在h1
中添加了position:relative; top:-250px;
.但这是一种丑陋的做法,也是非常糟糕的代码。 position:absolute;
和transform:transle()
更好
/*General*/
@import url('https://fonts.googleapis.com/css?family=Oxygen');
.wrapper {
max-width: 630px;
margin: 0 auto;
}
/*Header*/
#header .navbar .navbar-header a{color: white;font-size: 25px;font-family: 'Oxygen', sans-serif;}
#header .navbar-inverse {background-color: #2C3E50;border-color: #2C3E50;}
#header .navbar {border-radius: 0;}
#header .navbar-nav > li > a {color:white;}
#header .navbar {margin-bottom: 0;}
.nav.navbar-nav.navbar-right li a {color: white;}
/*Content*/
#content .content-content .responsive-image{width: 100%;background-size: 100% 100%;z-index:0;}
#content .content-content h1{font-family: 'Open Sans', sans-serif;color: #2c3e50;font-size: 50px;font-weight: bold;z-index: 2;text-align: center;position:relative;top:-250px;}
/*Footer*/
/*Responsiveness*/
/*Desktop*/
@media screen and (min-width: 992px)
{
#content .content-content .responsive-image{background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');}
}
/*Tablet*/
@media screen and (min-width: 768px) and (max-width: 991px)
{
#content .content-content .responsive-image{background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');}
}
/*Mobile*/
@media screen and (max-width: 767px)
{
#content .content-content .responsive-image{background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');}
}
/*Custom*/
@media screen and (max-width: 574px)
{
#content .content-content .responsive-image{background-image: url('https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg');height:250px;}
}
<!DOCTYPE html>
<html>
<head>
<title>Magic Gate</title>
<link rel="stylesheet" type="text/css" href="Custom.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div id="header">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Magic Gate</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav navbar-right">
<li><a href="#">Play</a></li>
<li><a href="#">Log Out</a></li>
</ul>
</div>
</div>
</nav>
</div>
<div id="content">
<div class="content-content">
<img src="https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg" class="responsive-image">
<div class="wrapper">
<h1>Welcome to Magic Gate</h1>
</div>
</div>
</div>
<div id="footer">
</div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</html>
您可以在 css 中使用display:flex
我只是发布一个如何获取它的示例。
使用以下 CSS 部分
.content-content {
position:relative;
}
.wrapper {
max-width: 630px;
margin: 0 auto;
position: absolute;
display: flex;
justify-content: center;
align-items: center;
height: 100%;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
}
工作小提琴