Высота кнопки не учитывает минимальную высоту в Chrome - PullRequest
0 голосов
/ 22 февраля 2019

Код:

<!DOCTYPE html>
<html>
<head>
  <title>Foo</title>
  <style>
  button {
    min-height: 32px;
  }
  </style>
</head>
<body>
  <button>Hit Me</button>
</body>
</html>

В Chrome 72 Инструменты разработчика показывают, что высота кнопки составляет всего 18 пикселей.Почему?

Новый код:

<!DOCTYPE html>
<html>
<head>
  <title>Foo</title>
  <style>
  button {
    min-height: 32px;
    background: lightgray;
  }
  </style>
</head>
<body>
  <button>Hit Me</button>
</body>
</html>

Теперь высота кнопки становится 32px.

Почему высота кнопки не учитывает min-height без набора фона?

1 Ответ

0 голосов
/ 22 февраля 2019

Проблема с браузером

Прежде всего, я сделал правильную скрипку здесь , где вы можете попробовать разные вещи / браузеры.

button {
    height: 32px;
    min-height: 32px;
  }

Это кажетсяна работу.


Это только вы?

Нет, как заметил здесь @Michael_B, похоже, это "вещь браузера", не толькос min-height, но с height и более.

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

Если вы также попытаетесь использовать браузер Safari, он останется с 18px, но не с Firefox.

Я точно не знаю, почему это работает, например, установка background и ни один не смог его найти, но, на мой взгляд, с height: 32px; //same as min-height это "более чистый способ" пройти через это.

<!DOCTYPE html>
<html>
<head>
  <title>Foo</title>
  <style>
  button {
    height: 32px; /*Here you should put the min-height value*/
    min-height: 32px;
  }
  </style>
</head>
<body>
  <button>Hit Me</button>
</body>
</html>

ОБНОВЛЕНИЕ 1

Если вы хотите, чтобы кнопка имела динамическую высоту (скажем, 100%) для ееродитель, просто сделайте:

 div {
    height: 10px;
    min-height: 32px;
  }
  button {
    height: 100%;
  }

Если вы видите, как button равно height: 100%; для div (его родитель), установка min-height для него будет работать отлично, и ваша кнопка можетдинамически изменить его высоту.

Вы также можете пойти на:

button {
  min-height: 32px;
  border: 0;
}

В противном случае, пожалуйста, расскажите конкретный случай о том, чего вы хотите достичь.1056 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...