Выберите menulist в Safari с помощью Bootstrap и React - PullRequest
0 голосов
/ 10 июля 2019

При использовании тега <select> в Safari с React и Bootstrap Safari автоматически устанавливает значение CSS -webkit-appearance в menulist-button даже при попытке заставить его оставаться menulist.

ЭтоПроще поиграть с ним.Вы увидите проблему в Safari, а не в других Chrome или Firefox.

Это ошибка или есть способ удалить все, что «вызывает» это поведение?

<!DOCTYPE html>
<html lang="en">

<head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"></link>
</head>
<body>
    <div id="root"></div>
</body>
</html>
import React from "react";
import { render } from "react-dom";

function App() {
  return (
    <div className="App">
      <div className="container my-3 py-3">

        <select name="outside" id="outside" className="form-control">
          <option>blue</option>
          <option>green</option>
          <option>red</option>
          <option>yellow</option>
          <option>magenta</option>
        </select>

      </div>
    </div>
  );
}

const rootElement = document.getElementById("root");
render(<App />, rootElement);

https://codesandbox.io/embed/loving-robinson-8722i

1 Ответ

0 голосов
/ 12 июля 2019

Решение было двойным:

  1. Сначала используйте класс custom-select для тега <select/> вместо form-control.Это исправляет приведенный выше пример.

  2. Но поскольку в моем проекте использовался пользовательский SCSS, мне нужно было обязательно перестроить его с помощью Autoprefixer

Для последнего он работает примерно так:

npm install autoprefixer postcss postcss-cli
postcss styles.css -u autoprefixer

Спасибо @ Tomas_moose !

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