gpt4 book ai didi

css - 在网格区域中定位元素

转载 作者:行者123 更新时间:2023-11-28 01:38:26 25 4
gpt4 key购买 nike

我正在制作一个编辑器应用程序,其布局类似于 google 表格或任何简单的网络应用程序,顶部有一个细长的全屏工具栏,其他内容在下面。但是......我在工具栏中定位元素时遇到问题。我打算放置:

  • 左下角的标志
  • 中间的东西
  • 右侧有两个按特定顺序排列的按钮(例如按钮 A 和 B,其中 B 更靠近屏幕的右边缘)

最重要的是,我想将这些元素放置在工具栏内,使其垂直居中

我尝试了很多东西,但没有任何效果,除了下面我想放置元素的非常基本的网格系统:

.layout {
height: 100vh;
display: grid;
grid-template-columns: 34% 33% auto;
grid-template-rows: 50px auto;
grid-template-areas:
"toolbar toolbar toolbar"
"searchbox resultbox editorbox";
}

.toolbar {
grid-area: toolbar;
}

.searchbox {
grid-area: searchbox;
}

.resultbox {
grid-area: resultbox;
}

.manju-editor {
grid-area: editorbox;
}

你能告诉我如何按照上述方式定位元素吗?

编辑:根据请求还添加了 HTML,应用程序是使用 create-react-app 创建的,因此 html 是它的标准 index.html 并且应用程序被“分配”到根目录:

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<title>React App</title>
</head>
<body>
<div id="root"></div>
</body>
</html>

来自 app.js 的渲染方法:

  <div className={userSession.layout.name}>
{userSession.layout.toolbar.active && <div className="toolbar">
{this.generateComponents("toolbar")}
</div>}
{userSession.layout.search.active && <div className="searchbox">
search
</div>}
{userSession.layout.results.active && <div className="resultbox">
result
</div>}
{userSession.layout.editor.active && <div className="editor">
editor
</div>}
</div>

最佳答案

你可以尝试这样的事情:

/* 
* containing div, position is relative, set the div height here
*/

.toolbar {
position: relative;
height: 30px;
}

/*
* all 3 children have absolute positioning
*/

.left {
position: absolute;
left: 0px;
top: 0px;
}

.right {
position: absolute;
right:0px;
top:0px;
}

.middle {
position: absolute;
top: 0px;
/* center the element */
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%)
}
<div class="toolbar">
<div class="left">left</div>
<div class="middle">middle</div>
<div class="right">right</div>
</div>

关于css - 在网格区域中定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50557143/

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