Расположите элементы в области сетки - PullRequest
0 голосов
/ 28 мая 2018

Я делаю приложение для редактора с макетом, например, google sheet, или любое простое веб-приложение с тонкой, широкоэкранной панелью инструментов вверху и другими элементами ниже.Но ... У меня проблемы с позиционированием элементов на панели инструментов.Я планирую разместить:

  • логотип в левом углу
  • что-то посередине
  • две кнопки с правой стороны в определенном порядке (например, кнопка 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-реагировать на приложение, поэтому 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>

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Хорошо, нашел ответ.Это здесь и работает:)

0 голосов
/ 28 мая 2018

Вы можете попробовать что-то вроде этого:

/* 
 * 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...