Адаптивный размер иконок React

Oct 01 2020

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

import { FaSearch, FaFacebook, FaInstagram, FaUserCog, FaUserTimes } from "react-icons/fa";

    <FaSearch
        color="#023373"
        size="30px" />

Ответы

2 coderpc Oct 01 2020 at 00:29

Вы можете использовать @mediaзапрос в вашем случае. Добавьте класс в компонент значка и напишите медиа-запрос для ширины мобильного устройства.

<FaSearch color="#023373" className="SearchIcon" />

В вашем CSS сделайте это

.SearchIcon{
  font-size: 40px;
}

@media only screen and (max-width: 400px) {
  .SearchIcon {
    font-size: 20px;
  }
}

Я создал рабочий пример с помощью Stackblitz

Вот список всех @mediaзапросов для устройств разной ширины.

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {...}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {...}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {...}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {...}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {...}