CSS Grid佈局:將跨越多行的元素的基線與其他列的底部行對齊。
P粉032649413
P粉032649413 2023-08-02 15:26:53
0
2
410
<p>我想將a和c的基線對齊。 </p> <p><br /></p> <pre class="brush:css;toolbar:false;">#grid{ display:grid; grid-template-columns: 1fr 1fr; align-items: baseline; } #a{ grid-row: 1 / span 2; grid-column: 1; padding: 8px; background: red; } #b{ grid-row: 1; grid-column: 2; background: yellow; } #c{ grid-row: 2; grid-column: 2; background: blue; }</pre> <pre class="brush:html;toolbar:false;"><div id="grid"> <div id="a">aaaaa</div> <div id="b">bbbbb</div> <div id="c">ccccc</div> </div></pre> <p><br /></p> <p>我嘗試將外部網格設置為單行,並將b和c包裝在具有inline-whatever屬性的div中,但是a仍然總是與b對齊而不是c。 </p> <p><br /></p> <pre class="brush:css;toolbar:false;">#grid{ display:grid; grid-template-columns: 1fr 1fr; align-items: baseline; } #a{ grid-row: 1; grid-column: 1; padding:8px; background:red; } #d{ display:inline-block; grid-row: 1; grid-column: 2; } #b{ background:yellow; } #c{ background:blue }</pre> <pre class="brush:html;toolbar:false;"><div id="grid"> <div id="a">aaaaa</div> <div id="d"> <div id="b">bbbbb</div> <div id="c">ccccc</div> </div> </div></pre> <p><br /></p> <p>如何使a與c對齊基線? </p>
P粉032649413
P粉032649413

全部回覆(2)
P粉645569197

由於last baseline相對較新(我正在使用不支援它的Electron 19),我正在尋找替代方法。參考這篇關於flex的SO帖子,結果我需要將inline-block包裝在另一個容器中。


#grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items: baseline;
}
#a{
  grid-row: 1;
  grid-column: 1;
  padding:8px;
  background:red;
}
#d{
  grid-row: 1;
  grid-column: 2;
}
#b{
  background:yellow;
}
#c{
  background:blue
}
.inline-block{
  display:inline-block;
}
<div id="grid">
  <div id="a">aaaaa</div>
  <div id="d">
    <div class="inline-block">
      <div id="b">bbbbb</div>
      <div id="c">ccccc</div>
    <div>
  </div>
</div>


#
P粉555696738

我相信你想要宣告align-items: last baseline。

"Can I Use align-items: last baseline?"顯示全球支援率為85%。

有關規範術語,請參閱Flex容器基準。

#


#grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: last baseline;
}

#a {
  grid-row: span 2;
  padding: 8px;
  background: red;
}
#b {
  background: yellow;
}

#c {
  background: blue;
}
<div id="grid">
  <div id="a">aaaaa</div>
  <div id="b">bbbbb</div>
  <div id="c">ccccc</div>
</div>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板