Nano Hash - криптовалюты, майнинг, программирование

Как выровнять логотип и h1 по горизонтали в div

Я хочу выровнять логотип в левом конце div и текст в центре этого div (текст должен выглядеть как в центре экрана). Ширина div подходит для экрана. И логотип, и текст должны быть на одной линии. Как это сделать возможным? У меня есть начало, как показано ниже. Но показывает два элемента построчно.

<div >
<img id="imglogo" alt="" src="images/ logo.JPG"  style="width: 300px;height:75px"  />
<h1 align="center" id="H1">Project Name</h1>
</div>

  • вы думали просто поместить их в таблицу? 06.03.2017
  • таблица никогда не должна использоваться для компоновки! Для позиционирования элементов у вас есть другие механизмы, такие как flexbox, float или positioning. 06.03.2017
  • Не могли бы вы добавить изображение, демонстрирующее ожидаемое поведение? Кроме того, как это должно выглядеть при изменении размера на маленький экран? 06.03.2017

Ответы:


1

Лично я предпочитаю стол, так как он довольно удобно размещает вещи и надежен. Смотри ниже:

<table border=1 style="table-layout: fixed; width:100%">
  <tr>
    <td><img id="imglogo" alt="" src="https://placehold.it/100x35" /></td>
    <td style="text-align: center">Centered Text</td>
    <td></td>
  </tr>
</table>

И, конечно же, вы можете настроить его так, как пожелаете.

06.03.2017
  • Как я уже говорил выше: использовать таблицы для верстки — плохая практика! Для позиционирования элементов у вас есть другие механизмы, такие как flexbox, позиционирование или плавание. 06.03.2017
  • @андреас Почему? Таблицы — отличные позиционеры, и иногда это единственный вариант (электронные письма). Флексбоксы тоже неплохо справляются со своей задачей, но требуют гораздо большей настройки. Плавающие значения довольно ужасны, потому что они могут испортить ваши представления о результатах, особенно float: right. Первые оказываются справа больше всего, когда вы думаете, что они окажутся слева от правой стороны. И позиционирование имеет тенденцию быть очень хакерским и легко испортится при изменении разрешения. 06.03.2017

  • 2

    Вы можете сделать это с помощью flexbox. Заголовок будет центрирован в пространстве рядом с изображением.

    .wrapper {
      display: flex;
    }
    .wrapper>div, h1 {
      flex: 1;
    }
    h1 {
      text-align: center;
    }
    <div class="wrapper">
      <div><img src="https://placehold.it/300x75" /></div>
      <h1>Project Name</h1>
    </div>

    06.03.2017
  • текст должен быть расположен в центре экрана - это предполагает, что текст должен быть в центре, как если бы логотипа не было. Кроме того, это приводит к изменению размера логотипа, что обычно нежелательно. 06.03.2017

  • 3

    Один из подходов заключается в использовании absolute в относительных позициях:

    h1 {text-align:center;position:relative;height:50px;line-height:50px;}
    #imglogo {height:50px;position:absolute;left:0;}
    

    h1 {
      text-align: center;
      position: relative;
      height: 50px;
      line-height: 50px;
      margin-bottom: 4px;
    }
    
    #imglogo {
      height: 50px;
      position: absolute;
      left: 0;
    }
    <div>
      <h1 id="H1">
        <img id="imglogo" alt="" src="http://lindseymiller.github.io/FEWD/Homework/acme-corp-mine/images/acme-corp.jpg" /> Project Name
      </h1>
      Some more text
    </div>

    Я думаю, что это достигает эффекта, который вам нужен. Некоторые примечания:

    • Нам нужно явно установить высоту строки и высоту для <h1>, чтобы она была выровнена по вертикали с логотипом. Это не сработает, если заголовок переносит строки.
    • На маленьком экране логотип и название накладываются друг на друга. Вы можете определить другое правило для небольших экранов.
    06.03.2017

    4

    Вы можете использовать столбцы начальной загрузки.

    img {
      max-width: 300px;
      float: left;
    }
    
    h1 {
      text-align: center;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet" />
    <div class="row">
      <div class="col-xs-5">
        <img class="img-responsive" src="https://placehold.it/300x75" />
      </div>
      <div class="col-xs-7">
        <h1>Project Name</h1>
      </div>
    </div>

    06.03.2017
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..