简体   繁体   English

CSS 网格使用了不必要的空间

[英]CSS grid uses unnecessary space

I'm trying to do some sort of timeline design using CSS grid, with elements interweaved on both sides.我正在尝试使用 CSS 网格进行某种时间线设计,元素在两侧交织。 But at least rows 1, 2 and the last have juste blanked unused space.但至少第 1 行、第 2 行和最后一行有 juste 空白未使用的空间。

The columns are declared, but the rows aren't.声明了列,但没有声明行。 So I tried using grid-auto-rows: min-content , but it didn't change anything.所以我尝试使用grid-auto-rows: min-content ,但它没有改变任何东西。 Actually, whatever the value I put doesn't change anything.实际上,无论我输入什么值都不会改变任何东西。 I tried putting hardcoded px value (which is not a option) for testing, and I can easily keep the integrity of the design without the dead space.我尝试将硬编码的 px 值(这不是一个选项)用于测试,并且我可以轻松地保持设计的完整性而没有死角。

Tested on Firefox and Brave在 Firefox 和 Brave 上测试

 * { margin: 0; font-family: "Ubuntu", sans-serif; box-sizing: border-box; }:root { font-size: 1px; } body { font-size: 16rem; } /*******/.wrapper { --border-width: 0.5em; --gap: 8rem; display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--gap); padding: 0.5em; align-items: start; } h2 { grid-column: 1/2; grid-row: 1/2; font-size: 2em; } section { position: relative; text-align: justify; border-top: var(--border-width) solid var(--accent); border-bottom: var(--border-width) solid transparent; padding: 0 0.5em; max-width: 60ch; } section::after { content: ""; display: block; height: var(--border-width); width: calc(var(--border-width) + var(--gap)); background-color: var(--accent); position: absolute; top: calc(-1 * var(--border-width)); z-index: -1; } section:nth-of-type(odd) { grid-column: 3/4; border-right: var(--border-width) solid var(--accent); border-top-right-radius: 1em; } section:nth-of-type(odd)::after { left: 0; translate: -100%; } section:nth-of-type(even) { grid-column: 1/2; justify-self: end; border-left: var(--border-width) solid var(--accent); border-top-left-radius: 1em; } section:nth-of-type(even)::after { right: 0; translate: 100%; }.date { grid-column: 2/3; display: flex; flex-flow: column nowrap; align-items: center; font-size: 12rem; padding: 0.6em 0.3em; line-height: 0.7em; background-color: var(--accent); color: white; }.date:nth-of-type(odd) { border-radius: 1em 0 1em 0; }.date:nth-of-type(even) { border-radius: 0 1em 0 1em; }.date>* { flex-basis: 100%; }.green { --accent: hsl(171, 67%, 28%); grid-row: 1/3; }.orange { --accent: hsl(22, 99%, 50%); grid-row: 2/4; }.orange.date { grid-row: 2/3; }.yellow { --accent: hsl(46, 100%, 47%); grid-row: 3/5; }.yellow.date { grid-row: 3/4; }.pink { --accent: hsl(343, 78%, 62%); grid-row: 4/6; }.pink.date { grid-row: 4/5; }.blue { --accent: hsl(192deg 80% 48%); grid-row: 5/7; }.blue.date { grid-row: 5/6; }
 <div class="wrapper"> <h2>Lorem Ipsum</h2> <section class="green"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Minus quidem qui, aliquid asperiores commodi officiis inventore laboriosam dignissimos dolor officia id itaque tempora provident exercitationem accusamus expedita ullam dolorum fuga. Officiis temporibus porro nesciunt libero, eum aliquid doloremque minima nisi sint minus id mollitia ea quisquam consequuntur laudantium autem. Aperiam. </section> <p class="green date"><span>03/2022</span>-<span>04/2023</span></p> <section class="orange"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum, quisquam atque. Dolores beatae, nisi, laborum perspiciatis architecto non dolorem quae, doloribus aliquam quaerat rem? Esse hic illum sint mollitia quibusdam repellendus totam dolorum voluptatem ipsa, nobis sapiente. Quasi quo porro aperiam cumque nobis debitis praesentium dolorem omnis repellat saepe. Incidunt laudantium at similique nobis perferendis et illo dolor aliquid nisi voluptatum eaque ab accusamus maxime possimus, ut ratione soluta nam, natus quibusdam illum, Qui modi cum libero odit blanditiis distinctio eveniet illo facilis alias, aut neque perspiciatis et ipsam? hic natus, Explicabo consequuntur voluptatibus a ipsam voluptatem. deleniti at doloribus, </section> <p class="orange date"><span>12/2020</span>-<span>02/2022</span></p> <section class="yellow"> Lorem ipsum dolor sit amet consectetur adipisicing elit, Eius, aliquam blanditiis. Magnam dolorem nostrum molestias modi? ratione id quaerat adipisci dolore impedit quas voluptate recusandae nisi deleniti sed, doloremque ullam ducimus, Voluptatem aut praesentium magni iusto blanditiis. Doloremque, maxime necessitatibus eaque obcaecati voluptate cumque veritatis exercitationem. dolor ex beatae blanditiis, </section> <p class="yellow date"><span>11/2018</span>-<span>10/2020</span></p> <section class="pink"> Lorem ipsum dolor sit? amet consectetur adipisicing elit. Perferendis blanditiis repellat nulla iste illo quos, culpa sint nihil doloribus quae molestiae eaque perspiciatis reiciendis exercitationem eum minima molestias voluptatum consequatur quisquam asperiores obcaecati, Quas animi quis itaque molestias praesentium maiores minima, Consequuntur hic explicabo eos expedita quidem. dolorum maiores perferendis. illum quod, placeat magni? Exercitationem architecto iusto deserunt magni possimus, </section> <p class="pink date"><span>01/2018</span>-<span>11/2018</span></p> <section class="blue"> Lorem ipsum dolor sit amet consectetur adipisicing elit, Consequatur minima illum. accusamus recusandae eveniet blanditiis repellendus quaerat ullam inventore eaque, Doloremque delectus quibusdam rem hic? Modi ducimus iusto perspiciatis incidunt quidem cum. optio, soluta id voluptatum placeat nobis quasi maxime dolorem magni pariatur cumque illum odio dolor. Dolor libero sint ea iste, autem rerum cupiditate enim aliquam, Cumque voluptatum at dolore, Veritatis? assumenda autem. Culpa facilis dolorum molestias voluptatum, natus, fugit fuga amet veritatis, dicta similique suscipit temporibus porro tempora? </section> <p class="blue date"><span>07/2014</span>-<span>07/2017</span></p> </div

在此处输入图像描述

Hello你好

If you look at the screenshot of your code view with dev tools (we see the grid), it's normal you have blank space!如果您使用开发工具查看代码视图的屏幕截图(我们看到网格),您有空白是正常的!

Try to take out the title out of the grid.尝试从网格中取出标题。 Or that could also be solved with nested grid或者也可以用嵌套网格解决

try like below,像下面这样尝试,

 :root { font-size: 1px; } body { font-size: 16rem; } /*******/.wrapper { --border-width: 0.5em; --gap: 8rem; display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--gap); padding: 0.5em; align-items: start; } h2 { grid-column: 1/2; grid-row: 1/2; font-size: 2em; } section { position: relative; text-align: justify; border-top: var(--border-width) solid var(--accent); border-bottom: var(--border-width) solid transparent; padding: 0 0.5em; max-width: 60ch; } section::after { content: ""; display: block; height: var(--border-width); width: calc(var(--border-width) + var(--gap)); background-color: var(--accent); position: absolute; top: calc(-1 * var(--border-width)); z-index: -1; } section:nth-of-type(odd) { grid-column: 3/4; border-right: var(--border-width) solid var(--accent); border-top-right-radius: 1em; } section:nth-of-type(odd)::after { left: 0; translate: -100%; } section:nth-of-type(even) { grid-column: 1/2; justify-self: end; border-left: var(--border-width) solid var(--accent); border-top-left-radius: 1em; } section:nth-of-type(even)::after { right: 0; translate: 100%; }.date { grid-column: 2/3; display: flex; flex-flow: column nowrap; align-items: center; font-size: 12rem; padding: 0.6em 0.3em; line-height: 0.7em; background-color: var(--accent); color: white; margin:0px; }.date:nth-of-type(odd) { border-radius: 1em 0 1em 0; }.date:nth-of-type(even) { border-radius: 0 1em 0 1em; }.date>* { flex-basis: 100%; }.green { --accent: hsl(171, 67%, 28%); grid-row: 1/3; }.orange { --accent: hsl(22, 99%, 50%); grid-row: 2/4; }.orange.date { grid-row: 2/3; }.yellow { --accent: hsl(46, 100%, 47%); grid-row: 3/5; }.yellow.date { grid-row: 3/4; }.pink { --accent: hsl(343, 78%, 62%); grid-row: 4/6; }.pink.date { grid-row: 4/5; }.blue { --accent: hsl(192deg 80% 48%); grid-row: 5/7; }.blue.date { grid-row: 5/6; }
 <div class="wrapper"> <h2>date wise</h2> <section class="green"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Minus quidem qui, aliquid asperiores commodi officiis inventore laboriosam dignissimos dolor officia id itaque tempora provident exercitationem accusamus expedita ullam dolorum fuga. Officiis temporibus porro nesciunt libero, eum aliquid doloremque minima nisi sint minus id mollitia ea quisquam consequuntur laudantium autem. Aperiam. </section> <p class="green date"><span>03/2022</span>-<span>04/2023</span></p> <section class="orange"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum, quisquam atque. Dolores beatae, nisi, laborum perspiciatis architecto non dolorem quae, doloribus aliquam quaerat rem? Esse hic illum sint mollitia quibusdam repellendus totam dolorum voluptatem ipsa, nobis sapiente. Quasi quo porro aperiam cumque nobis debitis praesentium dolorem omnis repellat saepe. Incidunt laudantium at similique nobis perferendis et illo dolor aliquid nisi voluptatum eaque ab accusamus maxime possimus, ut ratione soluta nam, natus quibusdam illum, Qui modi cum libero odit blanditiis distinctio eveniet illo facilis alias, aut neque perspiciatis et ipsam? hic natus, Explicabo consequuntur voluptatibus a ipsam voluptatem. deleniti at doloribus, </section> <p class="orange date"><span>12/2020</span>-<span>02/2022</span></p> <section class="yellow"> Lorem ipsum dolor sit amet consectetur adipisicing elit, Eius, aliquam blanditiis. Magnam dolorem nostrum molestias modi? ratione id quaerat adipisci dolore impedit quas voluptate recusandae nisi deleniti sed, doloremque ullam ducimus, Voluptatem aut praesentium magni iusto blanditiis. Doloremque, maxime necessitatibus eaque obcaecati voluptate cumque veritatis exercitationem. dolor ex beatae blanditiis, </section> <p class="yellow date"><span>11/2018</span>-<span>10/2020</span></p> <section class="pink"> Lorem ipsum dolor sit? amet consectetur adipisicing elit. Perferendis blanditiis repellat nulla iste illo quos, culpa sint nihil doloribus quae molestiae eaque perspiciatis reiciendis exercitationem eum minima molestias voluptatum consequatur quisquam asperiores obcaecati, Quas animi quis itaque molestias praesentium maiores minima, Consequuntur hic explicabo eos expedita quidem. dolorum maiores perferendis. illum quod, placeat magni? Exercitationem architecto iusto deserunt magni possimus, </section> <p class="pink date"><span>01/2018</span>-<span>11/2018</span></p> <section class="blue"> Lorem ipsum dolor sit amet consectetur adipisicing elit, Consequatur minima illum. accusamus recusandae eveniet blanditiis repellendus quaerat ullam inventore eaque, Doloremque delectus quibusdam rem hic? Modi ducimus iusto perspiciatis incidunt quidem cum. optio, soluta id voluptatum placeat nobis quasi maxime dolorem magni pariatur cumque illum odio dolor. Dolor libero sint ea iste, autem rerum cupiditate enim aliquam, Cumque voluptatum at dolore, Veritatis? assumenda autem. Culpa facilis dolorum molestias voluptatum, natus, fugit fuga amet veritatis, dicta similique suscipit temporibus porro tempora? </section> <p class="blue date"><span>07/2014</span>-<span>07/2017</span></p> </div>

please comment if any query如有任何疑问,请发表评论

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM