【发布时间】:2020-09-16 11:56:25
【问题描述】:
我刚刚开始学习 CSS 网格,而不是使用 bootstrap 等,
我已经为页眉、导航、主目录、旁边、页脚创建了行和列。
但是当我在标题内创建<div> 时,它与边界重叠,我不知道为什么。行高应该随着内容而增加...这就是我使用minmax(150px,auto)
html 是:
<nav>Nav</nav>
<header><div class="header-image"></div></header>
<main>Main</main>
CSS 是:
.container {
height: 100vh;
display: grid;
grid-template-columns: 1fr;
grid-auto-rows: minmax(150px, auto);
grid-gap: 10px;
grid-template-areas:
"header"
"nav"
"main"
"aside"
"footer";
}
.header-image {
background-size: cover;
background-image: url('img/header-img.jpg');
height: 200px;
}
我是否遗漏了一些明显的东西?任何帮助表示赞赏!
非常感谢!
编辑-
完整的 WordPress HTML 结构是:
<!DOCTYPE html>
<html>
<head>
<title>Tutorial theme</title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>">
<link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri().'/css/grid.css'; ?>">
<link href='https://fonts.googleapis.com/css?family=Varela+Round' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="container">
<header>
<div class="header-image">
<h1>Hello world!</h1>
</div>
</header>
<main>
<div class="order-div">
<h2>Lorem ipsum dolor sit amet, consectetur</h2>
<button>Order now!</button>
</div>
</main>
<footer>Footer</footer>
</div>
</body>
</html>
这是 grid.css
.container {
display: grid;
grid-template-columns: 1fr;
grid-auto-rows: minmax(150px, auto);
grid-gap: 10px;
grid-template-areas:
"header"
"nav"
"main"
"footer";
}
header {
grid-area: header;
}
nav {
grid-area: nav;
}
main {
grid-area: main;
}
footer {
grid-area: footer;
}
@media (min-width: 768px) {
.container {
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: 100px minmax(150px, auto) 100px;
grid-template-areas:
"header header header"
"main main main"
"footer footer footer";
}
}
@media (min-width: 992px) {
.container {
grid-template-areas:
"header header header"
"main main main"
"footer footer footer";
}
}
这是 style.css
* {
box-sizing: border-box;
}
body {
font-size: 1.4em;
font-family: 'Varela Round', sans-serif;
font-weight: bold;
padding: 0;
margin: 0;
}
.container > * {
color: #fff;
text-shadow: 0 2px 0 rgba(110,133,156,0.12);
/*padding: 0.85em;*/
border: solid 1px rgba(110,133,156,0.15);
}
header {
background-color: #3f8abf;
}
.header-image {
display: flex;
justify-content: center;
background-size: cover;
background-image: url('img/header-img.jpg');
height: 200px;
}
nav {
background-color: #fbaea8;
}
main {
background-color: #aad2ed;
}
aside {
background-color: #6ad78a;
}
footer {
background-color: #6e859c;
}
.order-div {
min-height: 400px;
background-color: green;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.order-div button {
width: 100px;
height: 50px;
border: 2px solid white;
}
我希望这只是我犯的一个愚蠢的错误,但主要问题似乎是标题中的背景图片 - 我将其设置为 background-size:cover 以做出响应!
再次感谢!
【问题讨论】:
-
请添加完整的 html 结构......
-
谢谢你们!我已经编辑了我的帖子以包含所有内容!希望这是一个愚蠢的错误!