Набросок дизайна очень важен для внешнего интерфейса, но единица измерения наброска дизайна — px, а единица адаптации h5 — сейчас наиболее часто используемая rem.Baidu — старый метод реализации, или вы можете рассчитать rem самостоятельно. , или положиться на редактор для установки плагина конвертации, то я проверил некоторую информацию, а затем записал ее здесь
стек технологий
- vue-cli 3.0: создавайте проекты с помощью инструментов для формирования шаблонов
- postcss-pxtorem: плагин, конвертирующий px в rem
Автоматически устанавливать размер шрифта корневого узла html
Поскольку единица rem зависит от размера шрифта корневого узла, размер rem можно динамически изменять, устанавливая размер шрифта корневого узла. Размер шрифта HTML === 1rem, в Интернете есть много вводных сведений о rem, поэтому я не буду приводить его здесь.
1. Создайте файл rem.js
# 基准大小
const baseSize = 32
# 设置 rem 函数
function setRem () {
# 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
const scale = document.documentElement.clientWidth / 750
# 设置页面根节点字体大小
document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
# 初始化
setRem()
# 改变窗口大小时重新设置 rem
window.onresize = function () {
setRem()
}
1. Добавьте rem.js в main.js
# main.js
import './utils/rem'
После импорта файла вы можете проверить, добавлен ли атрибут размера шрифта в html или размер шрифта был динамически изменен, чтобы определить, был ли импорт успешным. На самом деле макет rem здесь в основном завершен, и h5 будет динамически подстраиваться под него, но таким образом, в реальной разработке нам еще предстоит вычислить, сколько rem равно px, и тогда мы используем postcss-pxtorem автоматически преобразует px в соответствующее значение rem
Используйте postcss-pxtorem для преобразования px в соответствующее значение rem
Сначала установите пакет зависимостей postcss-pxtorem
npm install postcss-pxtorem --save-dev
Далее настройте postcss-pxtorem
# vue.config.js
module.exports = {
lintOnSave: true,
css: {
loaderOptions: {
postcss: {
plugins: [
require('postcss-pxtorem')({
rootValue : 16, // 换算的基数
selectorBlackList : [], // 忽略转换正则匹配项
propList : ['*'],
}),
]
}
}
}
}
После вышеуказанного взлома и возни, если нет ошибки, вы можете использовать px в качестве единицы для разработки
Например, схема конструкции, данная дизайном, 750*1136, тогда вы можете написать ее прямо на странице.
body {
width: 750px;
height: 1136px;
}
# 将被转换为
body {
widht: 23.4375rem;
height: 35.5rem;
}