Абсолютно позиционированный элемент с левым и правым 0 по-разному разрешается в Chrome и Safari? - PullRequest
0 голосов
/ 18 марта 2020

Я создал простой пример, чтобы продемонстрировать идею иметь абсолютно позиционированный элемент с left и right, установленными на 0, но с очень разными результатами в последних Chrome и Safari. Основываясь на комментариях к этому вопросу и этому ответу, я думаю, что он будет работать последовательно, исходя из того, как он изложен в CSS spe c , но это не так. Почему это так?

Я знаю, что установка заданной ширины c разрешит, но 1) почему разница между браузерами и 2) есть лучший способ для центрирования, чем указание явного ширина?

<html lang="en">
   <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <style>
         .vis {
         width: 100%;
         position: relative;
         }
         .btn {
         position: absolute;
         left: 0;
         right: 0;
         margin:auto;
         display:block;
         }
      </style>
      <title>Document</title>
   </head>
   <body>
      <div class="vis">
         <button class="btn">Test!</button>
      </div>
   </body>
</html>

Safari: enter image description here

Chrome: enter image description here

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