169 похожих чатов

Подскажите, дизайнер нарисовал макет сайта для мобильных устройств (320x568). Мне

надо сделать так, что бы на всех мобильных устройствах все было одинаково, текст не переносился, отступы выглядели пропорционально и т.п. Для этого я на калькуляторе перевожу пиксели в vh (за 100vh беру 568px, это высота одного экрана в макете). И все работает прекрасно, пока высота не становится на много больше чем 568px, а это например iphone X, где высота 812px. Там все становится очень большим. У меня есть два решения этой проблемы, помогите мне определить что из этого оптимальней:
1) В SCSS написать функцию, которая будет сама переводить px в vh. На вход она принимает высоту экрана в пикселях и значение в пикселях, которое надо преобразовать в vh.
Сделать вёрстку под высоту 568, а потом продублировать ее для других высот. В итоге у нас будет куча css для разных экранов.

2) Создать css переменную, в которую через js я буду записывать высоту текущего экрана. И через функцию calc() в css высчитывать значения для каждого отступа и размера шрифта.
В итоге мы получаем мало css, но много вычислений, которых может быть более сотни. И это, в теории, может сильно тормозить мобильные устройств.

Вот что лучше выбрать?

2 ответов

12 просмотров

Делаешь внутренние отступы с < и > по 10рх. Высоте тебе вообще не надо. Когда всё сверстаешь она вытянется внетрунними отступами между элементами.

ты просто бредишь, или твой клиент -- верстка не масштабируется под устройства (не мучай себя)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта