CSS / Bulma: Как я могу привести свой контент в соответствие с моим брендом navbar?

user3574603 спросил: 31 июля 2018 в 09:48 в: html

Я создаю страницу с Bulma.

Я хочу, чтобы левый край моего контента совпадал с левым краем бренда в моем навигаторе.

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

Так же:

Я вижу, что .columns добавляет заполнение при полной ширине, но это исчезает, когда на мобильной ширине. Я, вероятно, хочу, чтобы это было наоборот?

Как я могу исправить свой HTML, чтобы навигационная панель и контент полностью совпадали? Я не хочу, чтобы контент придерживался левого края экрана, когда область просмотра имеет ширину мобильного устройства. Каков наилучший способ сделать это с помощью Bulma?

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Hello Bulma!</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.1/css/bulma.min.css">
    <script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script>
  </head>
  <body>  <!-- Navbar -->
  <nav class="navbar" role="navigation" aria-label="main navigation">
    <div class="container">
      <div class="navbar-brand">
        <a class="navbar-item" href="#">
          <strong>brand</strong>
        </a>        <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
          <span aria-hidden="true"></span>
          <span aria-hidden="true"></span>
          <span aria-hidden="true"></span>
        </a>
      </div>      <div class="navbar-menu">
        <div class="navbar-end">
          <a class="navbar-item">Home</a>
          <a class="navbar-item">About</a>
        </div>
      </div>
    </div>
  </nav>  <main class="container content">
    <div class="columns">
      <div class="column">
        <h1 class="title">
          Hello World
        </h1>
        <p class="subtitle">
          My first website with <strong>Bulma</strong>!
        </p>
      </div>
    </div>
  </main>
  </body>
</html>

1 ответ

Есть решение
duhaime ответил: 31 июля 2018 в 10:07

Если вам нужно точно настроить макет, я бы не использовал Bulma на вашем месте; Я бы написал CSS с нуля.

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

Он также основан на Flexbox, который будет отображать абсолютно причудливыми способами в браузерах, не поддерживающих flexbox, таких как IE9, которыми пользуются 1,5 из 1000 человек, в основном профессора, дедушки и бабушки [поддержка , статистика использования].

Если вы хотите использовать Bulma, вы можете выровнять содержимое по левому краю на полную ширину экрана, добавив CSS со следующими строками после CSS Bulma [fiddle]:

/**
* Navbar
**/a.navbar-item {
  padding: 0;
}.navbar > .container div.navbar-brand {
  margin-left: 0;
}/**
* Body
**/.container .columns {
  margin-left: 0;
}.columns .column {
  padding-left: 0;
}
/**
* Navbar
**/

a.navbar-item {
  padding: 0;
}

.navbar > .container div.navbar-brand {
  margin-left: 0;
}

/**
* Body
**/

.container .columns {
  margin-left: 0;
}

.columns .column {
  padding-left: 0;
}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Hello Bulma!</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.1/css/bulma.min.css">
    <script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script>
  </head>
  <body>

  <!-- Navbar -->
  <nav class="navbar" role="navigation" aria-label="main navigation">
    <div class="container">
      <div class="navbar-brand">
        <a class="navbar-item" href="#">
          <strong>brand</strong>
        </a>

        <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
          <span aria-hidden="true"></span>
          <span aria-hidden="true"></span>
          <span aria-hidden="true"></span>
        </a>
      </div>

      <div class="navbar-menu">
        <div class="navbar-end">
          <a class="navbar-item">Home</a>
          <a class="navbar-item">About</a>
        </div>
      </div>
    </div>
  </nav>

  <main class="container content">
    <div class="columns">
      <div class="column">
        <h1 class="title">
          Hello World
        </h1>
        <p class="subtitle">
          My first website with <strong>Bulma</strong>!
        </p>
      </div>
    </div>
  </main>
  </body>
</html>