编码新手(css 和 html)。我正在尝试创建一个简单的网站布局,但无法在我的网格中获得一个部分来跨越。任何有经验的人都可以帮助我弄清楚我做错了什么。会上传代码。欢迎任何补充。
body {
font-size: 20px;
text-align: center;
margin: 0 auto;
font-family: Georgia, "Times New Roman", Times, serif;
background-color: rgb(216, 216, 216);
}
img {
max-block-size: 30px;
}
header {
padding: 30px;
background-color: rgb(2, 171, 177);
margin-bottom: 35px;
text-align: left;
font-weight: 600;
}
.grid-main {
display: grid;
grid-gap: 20px;
grid-template-columns: 1fr 1fr;
}
.grid-main div .prominant {
background-color: rgb(63, 11, 11);
grid-row-start: span 2;
}
.grid-main div {
background-color: rgb(65, 82, 82);
border: 10px;
}
footer {
padding: 50px;
background-color: rgb(75, 66, 54);
margin-top: 50px;
margin-bottom: ;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tri Diamon</title>
<link rel="stylesheet" href="practicedocument.css" />
</head>
<body>
<header>
<img src="img/diamondlogo.png" alt="" /> Tri Diamond
</header>
<div class="grid-main">
<div>
<main class="prominant">
Main
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim cumque a corporis nam reprehenderit illum ipsa consequatur? Quos voluptatum perspiciatis hic quasi officia expedita beatae maiores, tempora esse placeat eaque laborum tenetur soluta ipsum porro
velit. Sapiente excepturi dolorem eligendi exercitationem sequi doloribus suscipit cum optio ratione dolore quis laborum, accusamus ipsa pariatur voluptatem? Eos, quis ea. Voluptatibus, iste ratione laudantium ipsam, et provident dicta temporibus
animi quos eaque pariatur. Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim cumque a corporis nam reprehenderit illum ipsa consequatur? Quos voluptatum perspiciatis hic quasi officia expedita beatae maiores, tempora esse placeat
eaque laborum tenetur soluta ipsum porro velit. Sapiente excepturi dolorem eligendi exercitationem sequi doloribus suscipit cum optio ratione dolore quis laborum, accusamus ipsa pariatur voluptatem? Eos, quis ea. Voluptatibus, iste ratione laudantium
ipsam, et provident dicta temporibus animi quos eaque pariatur. Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim cumque a corporis nam reprehenderit illum ipsa consequatur? Quos voluptatum perspiciatis hic quasi officia expedita
beatae maiores, tempora esse placeat eaque laborum tenetur soluta ipsum porro velit. Sapiente excepturi dolorem eligendi exercitationem sequi doloribus suscipit cum optio ratione dolore quis laborum, accusamus ipsa pariatur voluptatem? Eos,
quis ea. Voluptatibus, iste ratione laudantium ipsam, et provident dicta temporibus animi quos eaque pariatur.
</p>
</main>
</div>
<div>
<section>
Section
<p>
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Ex quod nemo saepe nostrum nihil et numquam, voluptatem dignissimos temporibus ipsam. Laborum, pariatur aspernatur. Perspiciatis aliquam quod obcaecati numquam voluptatem molestiae delectus impedit
laborum quas dicta!
</p>
</section>
</div>
<div>
<article>
Article
<p class="art">
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Molestiae sunt magni, ut similique dolores tempore repudiandae possimus distinctio quam praesentium ducimus hic cumque illo ea officiis? Assumenda, culpa, minima quaerat eveniet at porro atque
id modi aperiam, dicta obcaecati quasi.
</p>
</article>
</div>
<div>
<nav>
Navigation
<ul>
<li>Virtual Tour</li>
<li>Check Avaliability</li>
</ul>
</nav>
</div>
</div>
<div>
<footer>Footer</footer>
</div>
</body>
</html>
标题为 Main 的网格框跨越 2 个部分以及如何控制它跨越的部分
问题源于将每个部分包含在一个 div 中。
要正确实现CSS网格,相关代码应放在
.grid-main div {}
.
这个选择器确保父级有
display: grid
,
但是,我找到了一个更简单的解决方案来解决您的问题。
通过删除包含第一个元素的 div
class="prominant"
可以解决问题。
请注意,我选择了这种方法,因为灰色背景是不必要的,因为主体已经是棕色的。
所以 html 会是这样的:
<div class="grid-main">
<main class="prominant">...</main> <!-- NOT wrapped by <div> -->
<div>
<section>...</section>
</div>
<div>
<article>...</article>
</div>
<div>
<nav>...</nav>
</div>
<div>
<footer>...</footer>
</div>
</div>
和这样的CSS:
/*
.grid-main div .prominant {
background-color: rgb(63, 11, 11);
grid-row-start: span 2;
}
*/
.grid-main .prominant {
background-color: rgb(63, 11, 11);
grid-row-start: span 2;
}
.grid-main div {
background-color: rgb(65, 82, 82);
border: 10px;
}
完整代码:
body {
font-size: 20px;
text-align: center;
margin: 0 auto;
font-family: Georgia, "Times New Roman", Times, serif;
background-color: rgb(216, 216, 216);
}
img {
max-block-size: 30px;
}
header {
padding: 30px;
background-color: rgb(2, 171, 177);
margin-bottom: 35px;
text-align: left;
font-weight: 600;
}
.grid-main {
display: grid;
grid-gap: 20px;
grid-template-columns: 1fr 1fr;
}
.grid-main .prominant {
background-color: rgb(63, 11, 11);
grid-row-start: span 2;
}
.grid-main div {
background-color: rgb(65, 82, 82);
border: 10px;
}
footer {
padding: 50px;
background-color: rgb(75, 66, 54);
margin-top: 50px;
/* margin-bottom: ; */
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tri Diamon</title>
<link rel="stylesheet" href="practicedocument.css" />
</head>
<body>
<header><img src="img/diamondlogo.png" alt="" /> Tri Diamond</header>
<div class="grid-main">
<main class="prominant">
Main
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim cumque a corporis nam reprehenderit illum ipsa consequatur? Quos voluptatum perspiciatis hic quasi officia expedita beatae maiores, tempora esse placeat eaque laborum tenetur soluta ipsum porro
velit. Sapiente excepturi dolorem eligendi exercitationem sequi doloribus suscipit cum optio ratione dolore quis laborum, accusamus ipsa pariatur voluptatem? Eos, quis ea. Voluptatibus, iste ratione laudantium ipsam, et provident dicta temporibus
animi quos eaque pariatur. Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim cumque a corporis nam reprehenderit illum ipsa consequatur? Quos voluptatum perspiciatis hic quasi officia expedita beatae maiores, tempora esse placeat eaque
laborum tenetur soluta ipsum porro velit. Sapiente excepturi dolorem eligendi exercitationem sequi doloribus suscipit cum optio ratione dolore quis laborum, accusamus ipsa pariatur voluptatem? Eos, quis ea. Voluptatibus, iste ratione laudantium
ipsam, et provident dicta temporibus animi quos eaque pariatur. Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim cumque a corporis nam reprehenderit illum ipsa consequatur? Quos voluptatum perspiciatis hic quasi officia expedita beatae
maiores, tempora esse placeat eaque laborum tenetur soluta ipsum porro velit. Sapiente excepturi dolorem eligendi exercitationem sequi doloribus suscipit cum optio ratione dolore quis laborum, accusamus ipsa pariatur voluptatem? Eos, quis ea.
Voluptatibus, iste ratione laudantium ipsam, et provident dicta temporibus animi quos eaque pariatur.
</p>
</main>
<div>
<section>
Section
<p>
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Ex quod nemo saepe nostrum nihil et numquam, voluptatem dignissimos temporibus ipsam. Laborum, pariatur aspernatur. Perspiciatis aliquam quod obcaecati numquam voluptatem molestiae delectus impedit
laborum quas dicta!
</p>
</section>
</div>
<div>
<article>
Article
<p class="art">
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Molestiae sunt magni, ut similique dolores tempore repudiandae possimus distinctio quam praesentium ducimus hic cumque illo ea officiis? Assumenda, culpa, minima quaerat eveniet at porro atque
id modi aperiam, dicta obcaecati quasi.
</p>
</article>
</div>
<div>
<nav>
Navigation
<ul>
<li>Virtual Tour</li>
<li>Check Avaliability</li>
</ul>
</nav>
</div>
</div>
<div>
<footer>Footer</footer>
</div>
</body>
</html>