Я пытаюсь изучить css, html, медиа-запросы, flexbox и сетку.
И я на самом деле пытаюсь сделать простую веб-страницу.
Я не понимаю, почему у меня есть пустой красный блок под "hebergement/activité". Я ошибся в своей дроби div#container
1?
У меня тоже такая же проблема со светло-зеленым блоком, от section#filtersContainer
Вот веб-страница в виде фрагмента:
body {
background-color: whitesmoke;
max-width: 992px;
margin: auto;
}
h1,h2,h3,h4,h5,h6 {
margin-top: 0px;
margin-bottom: 0px;
}
p {
margin-top: 0px;
margin-bottom: 0px;
}
div#container1 {
background-color: red;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 4fr 1fr;
grid-template-areas:
"navBar"
"main"
"basDePage";
height: 100vh;
}
div.headContainer {
background-color: bisque;
display: flex;
}
div.logo {
background-color: cadetblue;
}
div.hybrid {
background-color: darkcyan;
flex-grow: 2;
}
div.hebergement {
background-color: darkblue;
}
main#container2 {
background-color: purple;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr;
grid-template-areas:
"section"
"articles";
grid-area: main;
}
section#filtersContainer {
background-color: lightgreen;
grid-area: section;
}
div.rechercheBar {
background-color: silver;
display: flex;
}
div.rechercheBarMobile {
display: none;
}
div.filters {
background-color: skyblue;
display: flex;
flex-wrap: wrap;
}
div.filterRelou {
display: flex;
flex-wrap: wrap;
}
div.filter {
background-color: azure;
display: flex;
}
div.headInformation {
background-color: slateblue;
display: flex;
}
article#container3 {
background-color: lightgreen;
display: grid;
grid-template-columns: 2fr 1fr;
grid-template-rows: 1fr 1fr;
grid-template-areas:
"article1 article2"
"article3 article3";
grid-area: articles;
}
section.article1 {
background-color: peru;
grid-area: article1;
border-radius: 15px;
margin: 15px;
}
aside.article2 {
background-color: indianred;
grid-area: article2;
border-radius: 15px;
margin: 15px;
}
section.article3 {
background-color: darkslateblue;
grid-area: article3;
}
footer.basDePage {
background-color: gray;
grid-area: basDePage;
}
/*Format tablette*/
@media screen and (max-width: 992px) and (min-width: 769px) {
header.navBar {
background-color: lightpink;
}
}
<!DOCTYPE html>
<html>
<head>
<!--<link rel = "stylesheet" href = "./css/style.css"/>-->
<!--<link rel = "icon" href = "Google__Logo.ico"/>-->
</head>
<body>
<div id = "container1">
<header class = "navBar">
<div class = "headContainer">
<div class = "logo">Logo</div>
<div class = "hybrid"></div>
<div class = "hebergement">
<nav>
<a href = "#">Hebergment</a>
<a href = "#">Activités</a>
</nav>
</div>
</div>
</header>
<main id = "container2">
<section id = "filtersContainer">
<h1>trouver votre hébergement</h1><p>En plain centre</p>
<div class = "rechercheBar">
<i>icon</i>
<p>Marseille,France</p>
<p>bouton recherche</p>
</div>
<div class = "rechercheBarMobile">
<i>icon</i>
<p>Marseille,France</p>
<i>icon loupe</i>
</div>
<div class = "filters">
<p>Filtres:</p>
<div class = "filterRelou">
<div class = "filter">
<i>icon</i>
<p>Economique</p>
</div>
<div class = "filter">
<i>icon</i>
<p>Famille</p>
</div>
</div>
<div class = "filter">
<i>icon</i>
<p>Romantique</p>
</div>
<div class = "filter">
<i>icon</i>
<p>Animaux</p>
</div>
</div>
<div class = "headInformation">
<i>icon</i>
<p>plus de 500...</p>
</div>
</section>
<article id = "container3">
<section class = "article1">Hébergement</section>
<aside class = "article2">Les plus populaires</aside>
<section class = "article3">Activités à Marseille</section>
</article>
</main>
<footer class = "basDePage"> pied de page </footer>
</div>
</body>
</html>
Вы настроили свою сетку таким образом:
div#container1 {
background-color: red;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 4fr 1fr;
grid-template-areas: "navBar" "main" "basDePage";
height: 100vh;
}
Указав, что ваши строки равны 1fr 4fr 1fr
, вы запрашиваете:
Если вы хотите, чтобы ваш заголовок был определенной высоты, установите желаемую высоту, например, 20 пикселей.
body {
background-color: whitesmoke;
max-width: 992px;
margin: auto;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0px;
margin-bottom: 0px;
}
p {
margin-top: 0px;
margin-bottom: 0px;
}
div#container1 {
background-color: red;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 18px 4fr 20px;
grid-template-areas: "navBar" "main" "basDePage";
height: 100vh;
}
div.headContainer {
background-color: bisque;
display: flex;
}
div.logo {
background-color: cadetblue;
}
div.hybrid {
background-color: darkcyan;
flex-grow: 2;
}
div.hebergement {
background-color: darkblue;
}
main#container2 {
background-color: purple;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr;
grid-template-areas: "section" "articles";
grid-area: main;
}
section#filtersContainer {
background-color: lightgreen;
grid-area: section;
}
div.rechercheBar {
background-color: silver;
display: flex;
}
div.rechercheBarMobile {
display: none;
}
div.filters {
background-color: skyblue;
display: flex;
flex-wrap: wrap;
}
div.filterRelou {
display: flex;
flex-wrap: wrap;
}
div.filter {
background-color: azure;
display: flex;
}
div.headInformation {
background-color: slateblue;
display: flex;
}
article#container3 {
background-color: lightgreen;
display: grid;
grid-template-columns: 2fr 1fr;
grid-template-rows: 1fr 1fr;
grid-template-areas: "article1 article2" "article3 article3";
grid-area: articles;
}
section.article1 {
background-color: peru;
grid-area: article1;
border-radius: 15px;
margin: 15px;
}
aside.article2 {
background-color: indianred;
grid-area: article2;
border-radius: 15px;
margin: 15px;
}
section.article3 {
background-color: darkslateblue;
grid-area: article3;
}
footer.basDePage {
background-color: gray;
grid-area: basDePage;
}
/*Format tablette*/
@media screen and (max-width: 992px) and (min-width: 769px) {
header.navBar {
background-color: lightpink;
}
}
<div id = "container1">
<header class = "navBar">
<div class = "headContainer">
<div class = "logo">Logo</div>
<div class = "hybrid"></div>
<div class = "hebergement">
<nav>
<a href = "#">Hebergment</a>
<a href = "#">Activités</a>
</nav>
</div>
</div>
</header>
<main id = "container2">
<section id = "filtersContainer">
<h1>trouver votre hébergement</h1>
<p>En plain centre</p>
<div class = "rechercheBar">
<i>icon</i>
<p>Marseille,France</p>
<p>bouton recherche</p>
</div>
<div class = "rechercheBarMobile">
<i>icon</i>
<p>Marseille,France</p>
<i>icon loupe</i>
</div>
<div class = "filters">
<p>Filtres:</p>
<div class = "filterRelou">
<div class = "filter">
<i>icon</i>
<p>Economique</p>
</div>
<div class = "filter">
<i>icon</i>
<p>Famille</p>
</div>
</div>
<div class = "filter">
<i>icon</i>
<p>Romantique</p>
</div>
<div class = "filter">
<i>icon</i>
<p>Animaux</p>
</div>
</div>
<div class = "headInformation">
<i>icon</i>
<p>plus de 500...</p>
</div>
</section>
<article id = "container3">
<section class = "article1">Hébergement</section>
<aside class = "article2">Les plus populaires</aside>
<section class = "article3">Activités à Marseille</section>
</article>
</main>
<footer class = "basDePage"> pied de page </footer>
</div>
Привет ??! Я сделал ваш код исполняемым фрагментом (используйте кнопку
<>
).