Потому что `width: 100%;` берет полную ширину родителя. Уберите это значение и див автоматом растянется только на доступную область, с учетом паддингов.
Потому что translate пересчитывает размеры изображения. Чтобы избежать этой проблемы, translate должен быть применен по умолчанию (со значениями 0) еще до ховера.
В таблицах ширина колонок настраивается автоматически в зависимости от контента.
Т.е. если в одной ячейке слово "привет", а в другой "синхрофазатрон" - то привет явно короче, значит и колонка с ним будет уже.
Чтобы избежать автоматической настройки, указывайте ширину колонок вручную (в пикселях или в процентах).
Скорее всего причина в URL (../fonts/m-plus-1p-v19-latin-regular.woff2)
Проверить что шрифт загружен можно очень просто. Откройте консоль браузера - перейдите во вкладку Network и перезагрузите сайт. Вы увидете, какие ресурсы загружены, а какие нет.
1. Возьмите для начала нормальный и простой бандлер, например Parcel: https://parceljs.org/less.html
2. Бандлер автоматически преобразует less файлы в готовый css и минифицирует его.
3. Вам не нужно создавать никаких чистых файлов предварительно, бандлер все сделает сам.
А вот с обычными картинками нужно.
1. Представьте себе квадрат 100х100 пикселей
2. В обычной ситуации вы вставите в него картинку 100х100 пикселей и все прекрасно
3. Но! На ретина экранах эта картинка будет выглядеть ужасно размыто и пикселизовано.
4. Чтобы этого избежать - вам нужно вставить в этот квадрат картинку 200х200 пикселей, но ширину и высоту задать по прежнему 100 пикселей (или если это фон, сделать background-size: cover;)
5. Примерно так в кратце это выглядит.
Ну вы прямо с места в карьер. Начните с простых шагов.
1. Сверстайте квадрат
2. Сверстайте 2 квадрата рядом
3. Сверстайте 3 квадрата рядом
...
N. Любое кол-во квадратов на странице в любом порядке.
Как только поймете как вообще элементы на странице размещаются, от чего это зависит - вот тогда двигайтесь дальше, к реальным макетам.
В данном вопросе поможет здравый смысл и тестирование.
Допустим у нас есть абстрактное фоновое изображение как часть UI. В большинстве случаев для подобных изображений достаточно будет иметь коэффициент 1х - 1.5х.
Если изображение более детальное - ставим для начала коэффициент 2х и смотрим как это выглядит на живом смартфоне. Обычно коэффициента 2х более чем достаточно для детальных изображений или фотографий.
Коэффициента больше чем 2х могут потребовать разве что схемы с тонкими линиями.
А вы сравните. Например очень важный параметр - читаемость кода:
- насколько все аккуратно оформлено?
- насколько понятны и говорят за себя имена классов?
- следует ли код какому-то принципу вроде BEM?
- использованы ли какие-то дополнительные библиотеки?
- насколько кусочки кода можно переиспользовать? Код выглядит как единый монолит или разбит на компоненты?
- и т.п. вопросы