gpt4 book ai didi

html - 纵向模式下的 CSS 网格不需要的空白

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:45 24 4
gpt4 key购买 nike

我正在为 Android 开发网络应用程序。玩弄 CSS 网格我想要两个“ View ”用于横向,一个用于纵向。布局主要由产品展示和菜单(主要是按钮)组成。在纵向模式下,菜单应显示在产品下方(工作正常)。问题是在网格的左侧有一个巨大的空间,其中包含产品和菜单 div。我还希望网格环绕产品。我使用服务器,因此将产品加载到包装器 div 中。

想要的纵向行为是产品和菜单向左对齐,并且它们的宽度调整为产品的宽度。 enter image description here

    .hide {
display: none;
}

@media only screen and (orientation: portrait) {
.grid {
display: grid;
grid-template-rows: [wrapper] auto [menu] auto;
}
}

@media only screen and (orientation: landscape) {
body {
background-color: lightblue;
}
.grid {
display: grid;
grid-template-columns: [wrapper] auto [menu] auto 1fr;
}

.menu{
grid-area: menu;
border-style: solid;
display:grid;
grid-template-rows: repeat(auto);
}
}

.product {
display: inline-grid;
grid-template-columns: auto auto;
grid-template-rows: repeat(6,[row] auto);
padding: 5px;
}
.wrapper{
grid-area: wrapper;
border-style: solid;

}
.menu{
grid-area: menu;
border-style: solid;
}
<!DOCTYPE html>
<html>
<head>
<title>test CSS Grid</title>
<link media="all" type="text/css" rel="stylesheet" href="product.css">
<script src = "jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="productScript.js"></script>
<div class="hide">
<div id="product" class="product">
<div><u>Pos: </u></div><div class="Pos">test1</div>
<div><u>Artikel: </u></div><div class="Artikel">test2</div>
<div><u>Menge: </u></div><input class="Menge" type="text" />
<div><u>Lagerplatz: </u></div><div class="Lagerplatz">test6</div>
<div><u>Bezeichnung: </u></div><div class="Bezeichnung">test3</div>
</div>
</div>
</head>
<body>
<div class="grid">
<div id="wrapper" class="wrapper">
</div>
<div class="menu">
<button type="button" onclick="mockConfirm()"> barcode</button>
<button type="button" onclick="cancelPicklist()"> cancel</button>
</div>
</div>
</body>
</html>

感谢您的宝贵时间。

最佳答案

如果我没理解错的话,您需要改用display:inline-grid,并且您只需要在product div 中有两列。

.product {
display: inline-grid;
grid-template-columns: auto auto;
background: lightgreen;
}

.grid {
margin: 1em;
display: inline-grid;
background: pink;
border: 1px solid grey;
}
<div class="grid">
<div id="wrapper" class="wrapper">
<div id="product" class="product">
<div><u>Pos: </u></div>
<div class="Pos">test1</div>
<div><u>Artikel: </u></div>
<div class="Artikel">Lorem, ipsum dolor sit amet consectetur adipisicing elit.</div>
<div><u>Menge: </u></div><input class="Menge" type="text" />
<div><u>Lagerplatz: </u></div>
<div class="Lagerplatz">test6</div>
<div><u>Bezeichnung: </u></div>
<div class="Bezeichnung">Lorem ipsum dolor sit amet.</div>
</div>
</div>
<div class="menu">
<button type="button" onclick="mockConfirm()"> barcode</button>
<button type="button" onclick="cancelPicklist()"> cancel</button>
</div>
</div>

关于html - 纵向模式下的 CSS 网格不需要的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49531565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com